Clone Tools
  • last updated 20 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
DRILL-7592: Add missing licenses and update plugins exclusion list and fix licenses

closes #1989

  1. … 85 more files in changeset.
DRILL-7273: Introduce operators for handling metadata

closes #1886

  1. … 156 more files in changeset.
DRILL-7237: Fix single_value aggregate function for variable length types

- Add implementations of single_value for complex data types

closes #1782

  1. … 12 more files in changeset.
DRILL-6375 : Support for ANY_VALUE aggregate function

closes #1256

  1. … 36 more files in changeset.
DRILL-2870: Part2 - Fix return type of aggregate functions to be nullable

  1. … 14 more files in changeset.
DRILL-2870: Part1 - Separate count aggregate functions from others Count is the only aggregate function with required type as output, this will reduce some of the conditional logic in the templates

  1. … 4 more files in changeset.
DRILL-2389: Remove timestamp with time zone

  1. … 35 more files in changeset.
DRILL-1619: Fix running and output type for count aggregate function Raise an exception while performing aggregate functions on boolean data type

  1. … 1 more file in changeset.
Patch for DRILL-705

Currently only supports partitioning/ordering, not yet preceding or

after offsets

  1. … 77 more files in changeset.
DRILL-1171: Create Drill's implementation of ReduceAggregatesRule, including a new CastHigh function. DRILL-1342: Fix nullability handling of aggregate functions.

  1. … 16 more files in changeset.
DRILL-1270: Resize buffers used in workspace vectors for aggregate functions dynamically

  1. … 1 more file in changeset.
DRILL-784: Implement min, max, count for VarChar and VarBinary data type. Re-enable aggregate function tests.

  1. … 2 more files in changeset.
DRILL-556: Implement the following aggregate functions. stddev() stddev_samp() stddev_pop() variance() var_samp() var_pop()

Implement aggregate functions (max, min, sum, avg, count) for Date, Time, TimeStamp, TimeStampTZ, Interval, IntervalDay, IntervalYear

  1. … 13 more files in changeset.
fix bug introduced in AggTypes

bit agg functions

  1. … 1 more file in changeset.
DRILL-335: Implement Hash Aggregation

1. Implementation of the hash aggregation execution operator - this has two main parts: the HashAggTemplate and the HashAggBatch.

2. Implementation of a hash table which is used by the hash aggregation. The hash table hash two main parts: the HashTableTemplate and the ChainedHashTable. The hash table internally uses the notion of 'BatchHolder' to keep track of all keys that can fit within one batch of 64K values. New BatchHolder objects are created as needed. Each BatchHolder has its own vector container. The HashAggregate also has a similar structure and it keeps track of the workspace variables.

(NOTE: An initial design document for the hash aggregation and hash table was already attached with Drill-335. The document has not yet been updated with the latest implementation ... will try to do that in the near future).

3. Jinfeng's changes to use workspace vectors in the generated code for aggregate functions (previously, for streaming aggregate we only needed to maintain workspace variable for 1 running group; however for hash aggregate we need to maintain it for all groups).

4. Fix for Drill-318: because of #3 above, the previous fix for Drill-318 is not valid anymore. I modified the template generation code for the aggregate functions such that they conform to the new infrastructure.

5. The original AggTemplate, AggBatch and Aggregator classes have been moved to corresponding StreamingAggTemplate, StreamingAggBatch and StreamingAggregator in order to differentiate it from hash aggregation. These appear as new files but the code there has not changed.

I have run several tests manually as part of TestHashAggr...these tests use TPC-H data and in particular a relatively large 'Orders' table. However, I have not yet packaged the tests to run as part of JUnit since the location and size of the parquet files needs to be figured out. I will continue to work on that.

  1. … 48 more files in changeset.