Clone Tools
  • last updated 20 mins ago
Constraints: committers
Constraints: files
Constraints: dates
DRILL-7252: Read Hive map using Dict<K,V> vector

  1. … 16 more files in changeset.
DRILL-7337: Add vararg UDFs support

  1. … 37 more files in changeset.
DRILL-7096: Develop vector for canonical Map<K,V>

- Added new type DICT;

- Created value vectors for the type for single and repeated modes;

- Implemented corresponding FieldReaders and FieldWriters;

- Made changes in EvaluationVisitor to be able to read values from the map by key;

- Made changes to DrillParquetGroupConverter to be able to read Parquet's MAP type;

- Added an option `store.parquet.reader.enable_map_support` to disable reading MAP type as DICT from Parquet files;

- Updated AvroRecordReader to use new DICT type for Avro's MAP;

- Added support of the new type to ParquetRecordWriter.

  1. … 108 more files in changeset.
DRILL-6422: Replace guava imports with shaded ones

  1. … 982 more files in changeset.
DRILL-6345: DRILL Query fails on Function LOG10

- Added log10 function implementation

closes #1230

  1. … 3 more files in changeset.
DRILL-6320: Fixed license headers.

closes #1207

  1. … 2061 more files in changeset.
DRILL-6094: Decimal data type enhancements

Add ExprVisitors for VARDECIMAL

Modify writers/readers to support VARDECIMAL

- Added usage of VarDecimal for parquet, hive, maprdb, jdbc;

- Added options to store decimals as int32 and int64 or fixed_len_byte_array or binary;

Add UDFs for VARDECIMAL data type

- modify type inference rules

- remove UDFs for obsolete DECIMAL types

Enable DECIMAL data type by default

Add unit tests for DECIMAL data type

Fix mapping for NLJ when literal with non-primitive type is used in join conditions

Refresh protobuf C++ source files

Changes in C++ files

Add support for decimal logical type in Avro.

Add support for date, time and timestamp logical types.

Update Avro version to 1.8.2.

  1. … 199 more files in changeset.
DRILL-6174: Parquet filter pushdown improvements.

Added support IS [NOT] NULL/TRUE/FALSE operator for the parquet filter pushdown.

Added timestamp/date/time implicit/explicit casts.

closes #1131

  1. … 16 more files in changeset.
DRILL-5301: Server metadata API

Add a Server metadata API to the User protocol, to query server support

of various SQL features.

Add support to the client (DrillClient) to query this information.

Add support to the JDBC driver to query this information, if the server supports

the new API, or fallback to the previous behaviour (rely on Avatica defaults) otherwise.

close #764

  1. … 35 more files in changeset.
DRILL-2385: Count on complex objects failed with missing function implementation - added MapHolder, ListHolder; - added testCountComplexObjects() unit test.

  1. … 9 more files in changeset.
DRILL-2385: Count on complex objects failed with missing function implementation - added MapHolder, ListHolder; - added testCountComplexObjects() unit test.

  1. … 9 more files in changeset.
DRILL-4372: Expose the functions return type to Drill

- Drill-Calite version update:

This commit needs to have Calcite's patch (CALCITE-1062) to plugin customized SqlOperator.

- FunctionTemplate

Add FunctionArgumentNumber annotation. This annotation element tells if the number of argument(s) is fixed or arbitrary (e.g., String concatenation function).

Due to this modification, there are some minor changes in DrillFuncHolder, DrillFunctionRegistry and FunctionAttributes.

- Checker

Add a new Checker (which Calcite uses to validate the legitimacy of the number of argument(s) for a function) to allow functions with arbitrary arguments to pass Caclite's validation

- Type conversion between Drill and Calcite

DrillConstExector is given a static method getDrillTypeFromCalcite() to convert Calcite types to Drill's.

- Extract function's return type inference

Unlike other functions, Extract function's return type can be determined solely based on the first argument. A logic is added in to allow this inference to happen

- DrillCalcite wrapper:

From the aspects of return type inference and argument type checks, Calcite's mechanism is very different from Drill's. In addition, currently, there is no straightforward way for Drill to plug-in customized mechanisms to Calcite. Thus, wrappers are provided to serve the objective.

Except for the mechanisms of type inference and argument type checks, these wrappers just forward any method calls to the wrapped SqlOpertor, SqlFuncion or SqlAggFunction to respond.

A interface DrillCalciteSqlWrapper is also added for the callers of the three wrappers to get the wrapped objects easier.

Due to these wrappers, UnsupportedOperatorsVisitor is modified in a minor manner.

- Calcite's SqlOpertor, SqlFuncion or SqlAggFunction are wrapped in DrillOperatorTable

Instead of returning Caclite's native SqlOpertor, SqlFuncion or SqlAggFunction, return the wrapped ones to ensure customized behaviors can be adopted.

- Type inference mechanism

This mechanism is used across all SqlOpertor, SqlFuncion or SqlAggFunction. Thus, it is factored out as its own method in TypeInferenceUtils

- Upgrade Drill-Calcite

Bump version number to 1.4.0-drill-test-r16

- Implement two argument version of lpad, rpad

- Implement one argument version of ltrim, rtrim, btrim

  1. … 33 more files in changeset.
DRILL-4184: Support variable length decimal fields in parquet

  1. … 67 more files in changeset.
DRILL-3229: Implement Union type vector

  1. … 53 more files in changeset.
DRILL-3554: Given types timestamp and time, implicit casting casts them to time

  1. … 1 more file in changeset.
DRILL-3166: Cost model of functions should account for field reader arguments

DRILL-2824: Add checks to ensure function resolution is deterministic Fix NOT function

  1. … 1 more file in changeset.
DRILL-2827: Allow implicit cast from string to boolean for 'true'/'false' literals.

  1. … 1 more file in changeset.
DRILL-2244: Hash all numeric types as double

  1. … 7 more files in changeset.
DRILL-2590: In implicit casting rule, make boolean to be implicitly castable from boolean only

  1. … 3 more files in changeset.
DRILL-2207: Union RelOperator supports different types to be unioned together by casting; Disable Union-all on Select * from schemaless data source

  1. … 32 more files in changeset.
DRILL-1884: Fix type cast rules to cast varbinary to timestamp

DRILL-584: Prevent second level of implicit casts to be added in ExpressionTreeMaterializer

    • -0
    • +51
  1. … 1 more file in changeset.
DRILL-1718: do not type cast repeated parameters to non-repeated ones and vice versa

DRILL-1125: Apply casts to handle different input types in the join condition

  1. … 3 more files in changeset.
DRILL-1402: Add check-style rules for trailing space, TABs and blocks without braces

  1. … 437 more files in changeset.
DRILL-634: Cleanup/organize Java imports and trailing whitespaces from Drill code

  1. … 765 more files in changeset.
DRILL-1180: Add casts to case expression to ensure all branches have same output type

  1. … 11 more files in changeset.
Switch to DrillBuf Add @Inject DrillBuf Move comparison functions to memory sensitive ones Add scalar replacement functionality for value holders Simplify date parsing function Add local compiled code caching

  1. … 213 more files in changeset.
DRILL-793: Fix output type's scale and precision for math functions.

  1. … 10 more files in changeset.