Hey All, I've been working on rebasing and tracking all the necessary commits that are on the Drill Calcite fork so that we can get back onto master. The current working branch is here: [1]. It includes the following commits
[CALCITE-1148] Fix RelTrait conversion (e.g. distribution, collation), added test cases. (Minji Kim) #77def4a [CALCITE-991] Create separate FunctionCategories for table functions and macros (Julien Le Dem) #b1c203d [CALCITE-1149] Derive AVG’s return type by a customizable policy (Sudheesh Katkam) #18882cd [CALCITE-1151] Overriding the SqlSpecialOperator#createCall method given the usage by CompoundIdentifierConverter (Sudheesh Katkam) #2320c7f [CALCITE-1108] Don't use 'SumEmptyIsZero' (SUM0) window aggregate until CALCITE-777 is fixed. (Aman Sinha) #13466fa [CALCITE-1107] Make SqlSumEmptyIsZeroAggFunction constructor public. (Jinfeng Ni) #b6c3178 [CALCITE-1106] Expose Constructor for ProjectJoinTransposeRule. (Aman Sinha) #d169c37 [CALCITE-1105] Add return type-inference strategy for arithmetic operators when one of the arguments is ANY type. (Aman Sinha) #df818c9 [CALCITE-1150] Add DynamicRecordType and the concept of unresolved star (Jinfeng Ni) #29c7771 [CALCITE-1152] Small ANY type fixes (Mehant Baid) #31efdda [CALCITE-528] Ensure uniquification is done in a case aware way according to type system and catalog policies. (Jacques Nadeau) #5a3d854 Many commits, listed below, don't have tests right now so I'd like to get people to raise their hand and work on tests for each of the commits. [CALCITE-991] Create separate FunctionCategories for table functions and macros (Julien Le Dem) #b1c203d [CALCITE-1149] Derive AVG’s return type by a customizable policy (Sudheesh Katkam) #18882cd [CALCITE-1151] Overriding the SqlSpecialOperator#createCall method given the usage by CompoundIdentifierConverter (Sudheesh Katkam) #2320c7f [CALCITE-1108] Don't use 'SumEmptyIsZero' (SUM0) window aggregate until CALCITE-777 is fixed. (Aman Sinha) #13466fa [CALCITE-1105] Add return type-inference strategy for arithmetic operators when one of the arguments is ANY type. (Aman Sinha) #df818c9 [CALCITE-1150] Add DynamicRecordType and the concept of unresolved star (Jinfeng Ni) #29c7771 [CALCITE-1152] Small ANY type fixes (Mehant Baid) #31efdda [CALCITE-528] Ensure uniquification is done in a case aware way according to type system and catalog policies. (Jacques Nadeau) #5a3d854 Also note that there are currently 15 tests failing in this Calcite branch that I haven't yet tracked down. org.apache.calcite.test.SqlToRelConverterTest (10 tests) org.apache.calcite.test.JdbcTest (2 tests) org.apache.calcite.test.RelOptRulesTest.txt (1 test) org.apache.calcite.test.SqlValidatorTest.txt (1 test) org.apache.calcite.rel.rel2sql.RelToSqlConverterTest (1 test) Note that I also reworked the Schema changes items so that they don't have any impact on code paths unless the system returns a DynamicRecordType. Once we get these changes looking good, we can move to making small modifications in the Drill codebase to use this new record type. Can people raise their hands to confirm they will be able to write tests cases for issues they own? thanks, Jacques [1] https://github.com/jacques-n/incubator-calcite/tree/calcite-drill-2 -- Jacques Nadeau CTO and Co-Founder, Dremio