This is an automated email from the ASF dual-hosted git repository. zabetak pushed a change to branch site in repository https://gitbox.apache.org/repos/asf/calcite.git.
discard dba7005 Site: Update Apache links on homepage to HTTPS discard ac8d4f4 Update favicon for new logo omit 4a4c497 Site: Add upcoming talks at ApacheCon NA 2019 omit 4f71273 [CALCITE-3184] Add the new logo to the website add 1cc7c35 Update example announcement add 6375e24 [CALCITE-3148] Validator throws IndexOutOfBoundsException for SqlInsert when source and sink have non-equal fields number add 135daf3 [CALCITE-3156] Mongo adapter. Replace fongo with Mongo Java Server for tests add 3301a32 [CALCITE-3157] Mongo java driver upgrade: 3.5.0 -> 3.10.2 add bd42d29 [CALCITE-3060] MutableProject should be generated based on INVERSE_SURJECTION mapping (DonnyZone) add ccbacf6 [CALCITE-3149] RelDataType CACHE in RelDataTypeFactoryImpl can't be garbage collected add 78251a1 [CALCITE-2801] Check input type in AggregateUnionAggregateRule when remove the bottom Aggregate (Hequn Cheng) add 914e212 [CALCITE-3151] RexCall's Monotonicity is not considered in determining a Calc's collation add 8dd4fed [CALCITE-3155] Empty LogicalValues can not be converted to UNION_ALL without operands which can not be unparsed(Musbah EL FIL) add eb47b37 [CALCITE-3146] Support the detection of nested aggregations for JdbcAggregate in SqlImplementor.(Wenhui Tang) add 79a4ec6 [CALCITE-3126] Remove deprecated SemiJoin usage completely add ceb13a1 [CALCITE-3133] Remove completely SemiJoinType add 64a61cd [CALCITE-3125] Remove completely CorrelateJoinType add d9d79ba [CALCITE-3152] Unify throws in sql parser add adf4cc4 [CALCITE-3063] Parse and process PostgreSQL posix regular expressions add 021fabe [CALCITE-3168] Add test for invalid literal of sql parser add 0ed54bd [CALCITE-3121] VolcanoPlanner hangs due to subquery with dynamic star add 1748f05 [CALCITE-2460] [CALCITE-2459] Add TO_BASE64 / FROM_BASE64 SQL functions (Wenhui Tang) add 046f9f4 [CALCITE-3172] RelBuilder#empty does not keep aliases add e1875e3 [CALCITE-3171] SemiJoin on conditions push down throws IndexOutOfBoundsException add e723ee9 [CALCITE-3169] decorrelateRel method should return when meeting SEMI/ANTI join in RelDecorrelator add 4d4fe4c [CALCITE-3179] Bump Jackson from 2.9.8 to 2.9.9 (Fokko Driesprong) add cb364ce [CALCITE-3170] ANTI join on conditions push down generates wrong plan add 6abf37a [CALCITE-3160] Failed to materialize when the aggregate function uses group key (DonnyZone) add 72c52f4 [CALCITE-2995] Implement DAYNAME,MONTHNAME functions; add "locale" connection property (xuqianjin) add fe2b59b Fix complitation warnings after mongo java driver upgrade add 954f27c [CALCITE-3188] IndexOutOfBoundsException in ProjectFilterTransposeRule when executing SELECT COUNT(*) add e5e5809 [CALCITE-3165] Project#accept(RexShuttle shuttle) does not update rowType add 0732283 [CALCITE-3189] Multiple fixes for Oracle SQL dialect add bb0bae9 [CALCITE-3183] During field trimming, Filter is copied with wrong traitSet (Juhwan Kim) add 1c5de1c [CALCITE-3196] In Frameworks, add interface BasePrepareAction (a functional interface) and deprecate abstract class PrepareAction add 687b7d8 [CALCITE-3144] Add rule, AggregateCaseToFilterRule, that converts "SUM(CASE WHEN b THEN x END)" to "SUM(x) FILTER (WHERE b)" add 15e6378 [CALCITE-3166] Make RelBuilder configurable add ab1f777 Change type of SqlStdOperatorTable.GROUPING field to public class add 0cce229 [CALCITE-3145] RelBuilder.aggregate throws IndexOutOfBoundsException if groupKey is non-empty and there are duplicate aggregate functions add f7c0b0a CALCITE-3187: Make decimal type inference overridable (Praveen Kumar) add 8c0d792 Fix javadoc error add 0a87daf [CALCITE-3113] Equivalent MutableAggregates with different row types should match with each other(Jin Xing) add f43d4f0 [CALCITE-3184] Add the new logo to the website add 6d7eca1 [CALCITE-3174] IS NOT DISTINCT FROM condition pushed from filter to join is not collapsed(Bohdan Kazydub) add 58b6ad6 [CALCITE-3182] Trim unused fields for plan of materialized-view before matching (Jin Xing) add ab71c4c [CALCITE-3176] File adapter for parsing JSON files add 9c11efb [CALCITE-3201] SqlValidator throws exception for sql insert target table with virtual columns add 59c7acd [CALCITE-3136] Fix the default rule description of ConverterRule (TANG Wen-hui) add 5754fa9 [CALCITE-2510] Implement CHR function (Sergey Tsvetkov, Chunwei Lei) add 2d52dd3 [CALCITE-3118] VolcanoRuleCall should look at RelSubset rather than RelSet when checking child ordinal of a parent operand (Botong Huang) add 18974ce [CALCITE-3195] Handle a UDF that throws checked exceptions in the Enumerable code generator (DonnyZone) add 9ba140e [CALCITE-3209] When calling MutableMultiRel::setInput, exception thrown (Jin Xing) add c1c4e31 [CALCITE-3109] Improvements on algebraic operators to express recursive queries (RepeatUnion & TableSpool) add 3ebaa59 Following [CALCITE-2804], fix incorrect expected Druid query in test case DruidAdapterIT#testCastToTimestamp (Justin Szeluga) add 689a5bb Update stale tests in DruidAdapter add a1851b6 [CALCITE-3031] Support for correlated ANY/SOME/ALL sub-query (Vineet Garg) add ccad6f9 [CALCITE-2496] Return 0 in case of extract(milli/micro/nanosecond from datel) (Sergey Nuyanzin, Chunwei Lei) add 0061b2a [CALCITE-3153] Improve testing in TpcdsTest using assertEqual instead of printing results add 3309396 [CALCITE-3207] Fail to convert Join RelNode with like condition to sql statement (wojustme) add d98856b [CALCITE-3211] List of MutableRel may fail to be identified by SubstitutionVisitor during matching. (Jin Xing) add fef2133 Fix compiler warnings add 41b00ba More compiler fixes, and cosmetic changes add f7762b6 [CALCITE-3192] Simplification may weaken OR conditions containing inequalities add 1e99937 [CALCITE-3215] Simplification may have not fully simplified IS NOT NULL expressions add f82353c [CALCITE-3225] JoinToMultiJoinRule should not match SEMI/ANTI LogicalJoin add 61b7280 [CALCITE-3175] AssertionError while serializing to JSON a RexLiteral with Enum type (Wang Yanlin) add 3ab722b [CALCITE-3131] In LatticeSuggester, record whether columns are used as "dimensions" or "measures" add ac06e64 [CALCITE-3147] In JDBC adapter, accommodate the idiosyncrasies of how BigQuery (standard SQL) quotes character literals and identifiers add c3108bc [CALCITE-3191] In JDBC adapter for MySQL, implement Values by generating SELECT without FROM add 357cb74 [CALCITE-3222] Fix code style issues introduced by [CALCITE-3031] (Vineet Garg) add b432756 Deprecate RexBuilder.constantNull(), because it produces untyped NULL literals that make planning difficult add 22817fb [CALCITE-3218] Syntax error while parsing DATEADD function (which is valid on Redshift) (Lindsey Meyer) add 4954216 [CALCITE-3177]Ensure correct deserialization of relational algebra. add 80cc425 [CALCITE-2624] Add a rule to copy a sort below a join operator (Khawla Mouhoubi) add 3cff43a [CALCITE-3231] Support ARRAY type for SqlDataTypeSpec add 979a825 [CALCITE-3227] IndexOutOfBound when checking candidate parent match's input ordinal in VolcanoRuleCall add 0bbbae5 [CALCITE-3101] Don't push non-equi join conditions into Project below Join add 0eab54d Update favicon for new logo add f1db14c Site: Update Apache links on homepage to HTTPS add 7f5b313 [CALCITE-3198] Enhance RexSimplify to handle (x<>a or x<>b) add 2678eb9 [CALCITE-3226] RelBuilder doesn't keep the alias when scan from an expanded view (Jin Xing) add fb797bb [CALCITE-3198] Enhance RexSimplify to handle '(x<>a or x<>b)' (fix javadoc) add 602b2a1 [CALCITE-2835] Markdown errors on the Geode adapter page add 5212d6c [CALCITE-3233] Support Row type for SqlDataTypeSpec add 6f02ecf [CALCITE-3198] Enhance RexSimplify to handle '(x<>a or x<>b)' (fix javadoc) add e8baf4f [CALCITE-2843] Support PostgreSQL cast operator '::' (Muhammad Gelbana) add a042b61 [CALCITE-3234] For boolean properties, empty string should mean "true" add 996cdd0 [CALCITE-3237] IndexOutOfBoundsException when generating deeply nested Java code from linq4j (Sahith Nallapareddy) add 205fe17 [CALCITE-1935] Implement MATCH_RECOGNIZE, part 1: add basic classes: LogicalMatch, BindableMatch, EnumerableMatch, MatchRule (Zhiqiang-He) add 2a2de70 [CALCITE-1935] Implement MATCH_RECOGNIZE, part 2: add class Automaton add 5ec3a2a [CALCITE-1935] Implement MATCH_RECOGNIZE, part 3: get it working (Julian Feinauer) add 3abb974 [CALCITE-3159] Remove DISTINCT flag from calls to MIN, MAX, BIT_OR, BIT_AND aggregate functions (xuqianjin) add f25734a [CALCITE-3238] Support Time Zone suffix of DateTime types for SqlDataTypeSpec add 5c01713 [CALCITE-3236] Handle issues found in static code analysis (DonnyZone) add 7625938 [CALCITE-3229] UnsupportedOperationException for UPDATE with IN query add 705be27 [CALCITE-3250] Support nested collection type for SqlDataTypeSpec add 0a6f53c [CALCITE-3249] Substitution#getRexShuttle does not consider RexLiteral (Jin Xing) add a68bfc9 [CALCITE-3214] Add UnionToUnionRule for materialization matching (Jin Xing) add 6400a50 [CALCITE-3214] Add UnionToUnionRule for materialization matching (refine rule name) (Jin Xing) add 6b600e4 [CALCITE-3267] Remove method SqlDataTypeSpec#deriveType(RelDataTypefactory) add 79b97b6 [CALCITE-3235] Add CONCAT function for Redshift (Ryan Fu) add 36e3109 [CALCITE-3089] Deprecate EquiJoin add 3f550c3 [CALCITE-3167] Make equals and hashCode methods final in AbstractRelNode, and remove overriding methods in EnumerableTableScan (Jin Xing) add e8b08c4 [CALCITE-3252] Add CONVERT_TIMEZONE, TO_DATE and TO_TIMESTAMP non-standard functions (Lindsey Meyer) add a71def5 [CALCITE-3258] Upgrade jackson-databind from 2.9.9 to 2.9.9.3, and kafka-clients from 2.0.0 to 2.1.1 add 11116f6 [CALCITE-3111] Add RelBuilder.correlate method, and allow custom implementations of Correlate in RelDecorrelator (Juhwan Kim) add beeb012 [CALCITE-3259] Align 'Property' in the serialized xml string of RelXmlWriter (Wang Yanlin). add 5a42812 [CALCITE-3251] BinaryExpression evaluate method support full numeric types in Primitive (xy2953396112) add 9fd9c82 [CALCITE-3262] Refine doc of SubstitutionVisitor.java (Jin Xing) add 1e62d3d [CALCITE-3138] RelStructuredTypeFlattener doesn't restructure ROW type fields (Igor Guzenko) add ab97af3 [CALCITE-3257] RelMetadataQuery cache is not invalidated when log trace is enabled (Xiening Dai) add 7294460 [CALCITE-3223] MV fails to match when there is Non-RexInputRef in the projects (Jin Xing) add 22577e4 [CALCITE-3228] Error while applying rule ProjectScanRule: interpreter add 00ad79b [CALCITE-3263] Add MD5, SHA1 SQL functions (Shuming Li) add 48c0db1 [CALCITE-3220] JDBC adapter now transforms TRIM to TRIM, LTRIM or RTRIM when target is Hive (Jacky Woo) add a8f9e4e [CALCITE-2979] Add a block-based nested loop join algorithm (Khawla Mouhoubi) add 69f9e87 [CALCITE-3204] Implement jps command for OS adapter (Qianjin Xu) add e863294 [CALCITE-3210] JDBC adapter should generate "CAST(NULL AS type)" rather than "NULL" conditionally (Wang Weidong) add 77e7808 [CALCITE-3283] RelSubset does not contain its best RelNode (Xiening Dai) add be678e3 [CALCITE-3260] Add Expressions.evaluate(Node), a public API for evaluating linq4j expressions (Wang Yanlin) add 8a3fde5 In SqlFunctionsTest, replace assertEquals and assertNull with assertThat add b039b15 [CALCITE-3280] Add REGEXP_REPLACE function in Oracle, MySQL libraries (Shuming Li) add e5ae179 [CALCITE-3122] Convert Pig Latin scripts into Calcite relational algebra and Calcite SQL (Khai Tran) add cc169ae Following [CALCITE-3122] Fix getFamilitTypes typo add 70f1453 [CALCITE-3296] Decorrelator shouldn't give empty value when fetch and offset values are null in Sort rel (Juhwan Kim) add 97d6895 [CALCITE-3295] Add aggregate call name in serialized json string for relnode (Wang Yanlin) add 01477c4 [CALCITE-2302] Implicit type cast support add c1b042f [CALCITE-3297] PigToSqlAggregateRule should be applied on multi-set projection to produce an optimal plan (Igor Guzenko) add 6cec811 [CALCITE-2973],[CALCITE-3284] Allow joins(hash,semi,anti) that have equi conditions to be executed using a hash join algorithm add e2300d2 [CALCITE-3307] PigRelExTest, PigRelOpTest and PigScriptTest fail on Windows add 72680df [CALCITE-3311] Add doc to site for implicit type coercion add b8d24a6 [CALCITE-3292] SqlToRelConverter#substituteSubQuery fails with NullPointerException when converting SqlUpdate (Jin Xing) add 81c768e [CALCITE-3310] Approximate and exact aggregate calls are recognized as the same during sql-to-rel conversion add 55cc3ab [CALCITE-3309] Refactor generatePredicate method from EnumerableNestedLoopJoin/EnumerableHashJoin/EnumerableBatchNestedLoopJoin into a single location add 48086a7 [CALCITE-3315] Multiple failures in Druid IT tests due to implicit casts add c9520c3 [CALCITE-3314] CVSS dependency-check-maven fails for calcite-pig, calcite-piglet, calcite-spark add 955d4ea [CALCITE-3115] Cannot add JdbcRules which have different JdbcConvention to same VolcanoPlanner's RuleSet (Wenhui Tang, Igor Guzenko) add 5c25c38 Remove the useless JdbcConvention out in descriptionPrefix for JdbcToEnumerableConverterRule (Wenhui Tang) add faeb6d0 [CALCITE-3322] Remove duplicate test case in RelMetadataTest (沈洪) add 6fabfd6 [CALCITE-3321] BigQuery does not have correct casing rules (Lindsey Meyer) add 8c941e0 Cosmetic code changes add 3580276 [CALCITE-3303] Release Calcite 1.21.0 add adc1532 [maven-release-plugin] prepare release calcite-1.21.0 add 7998028 [maven-release-plugin] prepare for next development iteration add 034bd79 Improve 1.21.0 release note add 3f7bbae Add 1.21.0 release announcement add 4ce87bb Site: Add upcoming talks at ApacheCon NA 2019 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (dba7005) \ N -- N -- N refs/heads/site (4ce87bb) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: README | 2 +- babel/pom.xml | 4 +- babel/src/main/codegen/config.fmpp | 12 + babel/src/main/codegen/includes/parserImpls.ftl | 55 + .../org/apache/calcite/test/BabelParserTest.java | 37 + .../java/org/apache/calcite/test/BabelTest.java | 45 +- cassandra/pom.xml | 4 +- core/pom.xml | 4 +- core/src/main/codegen/config.fmpp | 11 +- core/src/main/codegen/templates/Parser.jj | 475 ++++-- .../main/java/org/apache/calcite/DataContext.java | 7 + .../calcite/adapter/enumerable/EnumUtils.java | 59 +- .../enumerable/EnumerableBatchNestedLoopJoin.java | 218 +++ .../EnumerableBatchNestedLoopJoinRule.java | 142 ++ .../adapter/enumerable/EnumerableHashJoin.java | 55 +- .../adapter/enumerable/EnumerableJoinRule.java | 51 +- .../adapter/enumerable/EnumerableMatch.java | 430 ++++++ ...ableSpoolRule.java => EnumerableMatchRule.java} | 37 +- .../adapter/enumerable/EnumerableMergeJoin.java | 25 +- .../enumerable/EnumerableMergeJoinRule.java | 38 +- .../enumerable/EnumerableNestedLoopJoin.java | 61 +- .../calcite/adapter/enumerable/EnumerableRel.java | 9 +- .../adapter/enumerable/EnumerableRepeatUnion.java | 10 +- .../enumerable/EnumerableRepeatUnionRule.java | 2 +- .../adapter/enumerable/EnumerableRules.java | 17 +- .../adapter/enumerable/EnumerableSemiJoin.java | 152 -- .../adapter/enumerable/EnumerableSemiJoinRule.java | 56 - .../adapter/enumerable/EnumerableTableScan.java | 10 - .../adapter/enumerable/EnumerableTableSpool.java | 12 +- .../enumerable/EnumerableTableSpoolRule.java | 2 +- .../ReflectiveCallNotNullImplementor.java | 21 +- .../calcite/adapter/enumerable/RexImpTable.java | 143 +- .../adapter/enumerable/RexToLixTranslator.java | 50 +- .../org/apache/calcite/adapter/jdbc/JdbcRules.java | 9 +- .../jdbc/JdbcToEnumerableConverterRule.java | 2 +- .../calcite/config/CalciteConnectionConfig.java | 4 + .../config/CalciteConnectionConfigImpl.java | 10 + .../calcite/config/CalciteConnectionProperty.java | 13 +- .../calcite/config/CalciteSystemProperty.java | 32 +- .../org/apache/calcite/interpreter/Bindables.java | 92 +- .../RexAction.java => interpreter/MatchNode.java} | 24 +- .../java/org/apache/calcite/interpreter/Nodes.java | 5 + .../apache/calcite/jdbc/CalciteConnectionImpl.java | 12 +- .../apache/calcite/jdbc/ContextSqlValidator.java | 63 + .../apache/calcite/jdbc/JavaTypeFactoryImpl.java | 2 + .../org/apache/calcite/materialize/Lattice.java | 40 +- .../calcite/materialize/LatticeSuggester.java | 53 +- .../plan/MaterializedViewSubstitutionVisitor.java | 34 + .../org/apache/calcite/plan/RelOptCluster.java | 2 +- .../calcite/plan/RelOptMaterializations.java | 3 + .../java/org/apache/calcite/plan/RelOptRule.java | 6 +- .../java/org/apache/calcite/plan/RelOptRules.java | 4 + .../java/org/apache/calcite/plan/RelOptUtil.java | 153 +- .../apache/calcite/plan/RexImplicationChecker.java | 18 +- .../apache/calcite/plan/SubstitutionVisitor.java | 79 +- .../apache/calcite/plan/VisitorDataContext.java | 17 +- .../org/apache/calcite/plan/volcano/RuleQueue.java | 1 + .../calcite/plan/volcano/VolcanoPlanner.java | 12 + .../calcite/plan/volcano/VolcanoRuleCall.java | 5 +- .../calcite/prepare/CalciteMaterializer.java | 5 +- .../apache/calcite/prepare/CalcitePrepareImpl.java | 17 +- .../calcite/prepare/CalciteSqlValidator.java | 1 + .../apache/calcite/prepare/RelOptTableImpl.java | 10 + .../org/apache/calcite/rel/AbstractRelNode.java | 22 + .../main/java/org/apache/calcite/rel/RelNode.java | 3 +- .../apache/calcite/rel/convert/ConverterRule.java | 25 +- .../org/apache/calcite/rel/core/AggregateCall.java | 32 +- .../org/apache/calcite/rel/core/Correlate.java | 9 - .../java/org/apache/calcite/rel/core/EquiJoin.java | 6 + .../java/org/apache/calcite/rel/core/JoinInfo.java | 78 +- .../java/org/apache/calcite/rel/core/Match.java | 30 +- .../java/org/apache/calcite/rel/core/Project.java | 19 +- .../org/apache/calcite/rel/core/RelFactories.java | 54 +- .../org/apache/calcite/rel/core/RepeatUnion.java | 21 +- .../java/org/apache/calcite/rel/core/SemiJoin.java | 132 -- .../org/apache/calcite/rel/core/TableScan.java | 6 +- .../org/apache/calcite/rel/core/TableSpool.java | 13 +- .../org/apache/calcite/rel/core/Uncollect.java | 6 +- .../calcite/rel/externalize/RelEnumTypes.java | 106 ++ .../apache/calcite/rel/externalize/RelJson.java | 53 +- .../calcite/rel/externalize/RelJsonReader.java | 8 +- .../calcite/rel/logical/LogicalCorrelate.java | 16 - .../apache/calcite/rel/logical/LogicalMatch.java | 41 +- .../calcite/rel/logical/LogicalRepeatUnion.java | 10 +- .../calcite/rel/logical/LogicalTableSpool.java | 12 +- .../calcite/rel/logical/ToLogicalConverter.java | 162 ++ .../calcite/rel/metadata/RelMdCollation.java | 48 +- .../rel/metadata/RelMdColumnUniqueness.java | 9 - .../rel/metadata/RelMdDistinctRowCount.java | 7 - .../calcite/rel/metadata/RelMdNodeTypes.java | 7 - .../calcite/rel/metadata/RelMdPopulationSize.java | 6 - .../apache/calcite/rel/metadata/RelMdRowCount.java | 14 - .../org/apache/calcite/rel/metadata/RelMdSize.java | 6 - .../calcite/rel/metadata/RelMdUniqueKeys.java | 8 - .../org/apache/calcite/rel/metadata/RelMdUtil.java | 16 - .../apache/calcite/rel/mutable/MutableMatch.java | 122 ++ .../calcite/rel/mutable/MutableMultiRel.java | 4 +- .../apache/calcite/rel/mutable/MutableRelType.java | 2 +- .../apache/calcite/rel/mutable/MutableRels.java | 55 +- .../calcite/rel/mutable/MutableSemiJoin.java | 88 -- .../rel/mutable/MutableTableFunctionScan.java | 2 +- .../calcite/rel/rel2sql/RelToSqlConverter.java | 225 ++- .../apache/calcite/rel/rel2sql/SqlImplementor.java | 89 +- .../rel/rules/AggregateCaseToFilterRule.java | 268 ++++ .../AggregateExpandDistinctAggregatesRule.java | 3 +- .../rel/rules/AggregateFilterTransposeRule.java | 4 +- .../rel/rules/AggregateReduceFunctionsRule.java | 65 +- .../rel/rules/AggregateUnionAggregateRule.java | 23 +- .../calcite/rel/rules/AggregateValuesRule.java | 3 +- .../calcite/rel/rules/FilterCorrelateRule.java | 5 +- .../apache/calcite/rel/rules/FilterJoinRule.java | 65 +- .../calcite/rel/rules/JoinToCorrelateRule.java | 12 - .../calcite/rel/rules/JoinToMultiJoinRule.java | 6 + .../calcite/rel/rules/LoptOptimizeJoinRule.java | 3 +- .../org/apache/calcite/rel/rules/MatchRule.java | 55 + .../rel/rules/ProjectFilterTransposeRule.java | 24 + .../calcite/rel/rules/ProjectTableScanRule.java | 8 +- .../calcite/rel/rules/ReduceDecimalsRule.java | 3 +- .../calcite/rel/rules/ReduceExpressionsRule.java | 10 - .../rel/rules/SemiJoinFilterTransposeRule.java | 3 +- .../apache/calcite/rel/rules/SortJoinCopyRule.java | 166 ++ .../calcite/rel/rules/SubQueryRemoveRule.java | 176 ++- .../apache/calcite/rel/rules/ValuesReduceRule.java | 11 +- .../calcite/rel/type/RelDataTypeFactory.java | 21 + .../calcite/rel/type/RelDataTypeFactoryImpl.java | 182 +-- .../apache/calcite/rel/type/RelDataTypeSystem.java | 265 ++++ .../java/org/apache/calcite/rex/RexAction.java | 1 + .../java/org/apache/calcite/rex/RexBuilder.java | 10 +- .../java/org/apache/calcite/rex/RexPattern.java | 1 + .../java/org/apache/calcite/rex/RexSimplify.java | 93 +- .../calcite/rex/RexSqlStandardConvertletTable.java | 4 + .../main/java/org/apache/calcite/rex/RexUtil.java | 15 + .../java/org/apache/calcite/runtime/Automaton.java | 154 ++ .../apache/calcite/runtime/AutomatonBuilder.java | 237 +++ .../apache/calcite/runtime/CalciteResource.java | 6 + .../calcite/runtime/DeterministicAutomaton.java | 188 +++ .../org/apache/calcite/runtime/Enumerables.java | 131 ++ .../java/org/apache/calcite/runtime/Matcher.java | 353 +++++ .../java/org/apache/calcite/runtime/Pattern.java | 230 +++ .../org/apache/calcite/runtime/SqlFunctions.java | 245 ++- .../java/org/apache/calcite/runtime/Utilities.java | 5 + .../org/apache/calcite/schema/ColumnStrategy.java | 10 +- .../calcite/schema/impl/ScalarFunctionImpl.java | 14 + .../java/org/apache/calcite/sql/SemiJoinType.java | 134 -- .../org/apache/calcite/sql/SqlAggFunction.java | 16 + .../apache/calcite/sql/SqlBasicTypeNameSpec.java | 267 ++++ .../apache/calcite/sql/SqlCharStringLiteral.java | 11 +- .../calcite/sql/SqlCollectionTypeNameSpec.java | 126 ++ .../org/apache/calcite/sql/SqlDataTypeSpec.java | 312 ++-- .../java/org/apache/calcite/sql/SqlDialect.java | 214 ++- .../java/org/apache/calcite/sql/SqlFunction.java | 26 +- .../apache/calcite/sql/SqlJdbcDataTypeName.java | 3 +- .../apache/calcite/sql/SqlJdbcFunctionCall.java | 9 +- .../main/java/org/apache/calcite/sql/SqlKind.java | 56 +- .../org/apache/calcite/sql/SqlLateralOperator.java | 5 +- .../main/java/org/apache/calcite/sql/SqlNode.java | 21 +- .../java/org/apache/calcite/sql/SqlOperator.java | 4 +- .../org/apache/calcite/sql/SqlRowTypeNameSpec.java | 138 ++ .../org/apache/calcite/sql/SqlTypeNameSpec.java | 72 + .../org/apache/calcite/sql/SqlUnnestOperator.java | 9 +- .../calcite/sql/SqlUserDefinedTypeNameSpec.java | 78 + .../main/java/org/apache/calcite/sql/SqlUtil.java | 46 +- .../calcite/sql/dialect/BigQuerySqlDialect.java | 59 +- .../apache/calcite/sql/dialect/HiveSqlDialect.java | 34 +- .../calcite/sql/dialect/MysqlSqlDialect.java | 23 +- .../calcite/sql/dialect/OracleSqlDialect.java | 87 +- .../calcite/sql/dialect/PostgresqlSqlDialect.java | 9 +- .../calcite/sql/fun/SqlBitOpAggFunction.java | 4 + .../apache/calcite/sql/fun/SqlCaseOperator.java | 23 +- .../apache/calcite/sql/fun/SqlCastFunction.java | 11 +- .../apache/calcite/sql/fun/SqlCastOperator.java | 70 + .../org/apache/calcite/sql/fun/SqlInOperator.java | 22 +- .../apache/calcite/sql/fun/SqlItemOperator.java | 12 + .../calcite/sql/fun/SqlJsonValueFunction.java | 7 +- .../sql/fun/SqlLibraryOperatorTableFactory.java | 2 +- .../calcite/sql/fun/SqlLibraryOperators.java | 144 +- .../calcite/sql/fun/SqlLiteralChainOperator.java | 4 +- .../calcite/sql/fun/SqlMinMaxAggFunction.java | 4 + .../calcite/sql/fun/SqlPosixRegexOperator.java | 136 ++ .../calcite/sql/fun/SqlRegexpReplaceFunction.java | 77 + .../calcite/sql/fun/SqlSingleValueAggFunction.java | 4 + .../calcite/sql/fun/SqlStdOperatorTable.java | 22 +- .../sql/type/AssignableOperandTypeChecker.java | 1 + .../sql/type/ComparableOperandTypeChecker.java | 11 +- .../sql/type/CompositeOperandTypeChecker.java | 50 + .../calcite/sql/type/FamilyOperandTypeChecker.java | 52 +- .../sql/type/ImplicitCastOperandTypeChecker.java | 54 + .../sql/type/JavaToSqlTypeConversionRules.java | 1 + .../org/apache/calcite/sql/type/OperandTypes.java | 3 + .../org/apache/calcite/sql/type/ReturnTypes.java | 98 +- .../calcite/sql/type/SameOperandTypeChecker.java | 2 +- .../SameOperandTypeExceptLastOperandChecker.java | 8 +- .../calcite/sql/type/SetopOperandTypeChecker.java | 61 +- .../calcite/sql/type/SqlTypeAssignmentRules.java | 42 +- .../calcite/sql/type/SqlTypeFactoryImpl.java | 9 +- .../org/apache/calcite/sql/type/SqlTypeFamily.java | 64 + .../apache/calcite/sql/type/SqlTypeTransforms.java | 2 + .../org/apache/calcite/sql/type/SqlTypeUtil.java | 269 +++- .../apache/calcite/sql/validate/SqlValidator.java | 22 + .../calcite/sql/validate/SqlValidatorImpl.java | 114 +- .../calcite/sql/validate/SqlValidatorUtil.java | 7 +- .../calcite/sql/validate/TableNamespace.java | 8 +- .../validate/implicit/AbstractTypeCoercion.java | 671 ++++++++ .../sql/validate/implicit/TypeCoercion.java | 177 +++ .../sql/validate/implicit/TypeCoercionImpl.java | 530 +++++++ .../validate/implicit/TypeCoercions.java} | 20 +- .../sql/validate/implicit/package-info.java | 81 + .../sql2rel/NullInitializerExpressionFactory.java | 8 +- .../apache/calcite/sql2rel/RelDecorrelator.java | 367 +++-- .../apache/calcite/sql2rel/RelFieldTrimmer.java | 6 +- .../sql2rel/RelStructuredTypeFlattener.java | 449 +++--- .../calcite/sql2rel/SqlNodeToRexConverterImpl.java | 4 +- .../apache/calcite/sql2rel/SqlToRelConverter.java | 35 +- .../calcite/sql2rel/StandardConvertletTable.java | 14 +- .../java/org/apache/calcite/tools/Frameworks.java | 59 +- .../org/apache/calcite/tools/PigRelBuilder.java | 27 +- .../java/org/apache/calcite/tools/Programs.java | 7 +- .../java/org/apache/calcite/tools/RelBuilder.java | 422 +++-- .../org/apache/calcite/util/BuiltInMethod.java | 64 +- .../org/apache/calcite/util/ImmutableBitSet.java | 30 + .../java/org/apache/calcite/util/NlsString.java | 20 +- .../main/java/org/apache/calcite/util/Pair.java | 96 +- .../main/java/org/apache/calcite/util/Unsafe.java | 35 + .../java/org/apache/calcite/util/XmlOutput.java | 2 +- .../calcite/runtime/CalciteResource.properties | 2 + core/src/test/codegen/config.fmpp | 9 + .../calcite/materialize/LatticeSuggesterTest.java | 108 +- .../org/apache/calcite/plan/RelOptUtilTest.java | 78 + .../org/apache/calcite/plan/RelWriterTest.java | 226 ++- .../apache/calcite/plan/volcano/PlannerTests.java | 67 +- .../calcite/plan/volcano/VolcanoPlannerTest.java | 82 + .../rel/logical/ToLogicalConverterTest.java | 411 +++++ .../rel/rel2sql/RelToSqlConverterStructsTest.java | 51 +- .../calcite/rel/rel2sql/RelToSqlConverterTest.java | 508 +++++- .../org/apache/calcite/rex/RexExecutorTest.java | 58 +- .../org/apache/calcite/runtime/AutomatonTest.java | 233 +++ .../runtime/DeterministicAutomatonTest.java | 104 ++ .../apache/calcite/runtime/EnumerablesTest.java | 158 ++ .../apache/calcite/sql/parser/SqlParserTest.java | 128 +- .../ExtensionSqlParserTest.java | 5 +- .../parserextensiontesting/SqlCreateTable.java | 8 +- .../apache/calcite/sql/test/AbstractSqlTester.java | 4 + .../calcite/sql/test/SqlOperatorBaseTest.java | 544 +++++-- .../apache/calcite/sql/test/SqlTestFactory.java | 9 +- .../org/apache/calcite/sql/test/SqlTester.java | 3 + .../calcite/sql/type/RelDataTypeSystemTest.java | 203 +++ .../org/apache/calcite/test/CalciteAssert.java | 26 + .../java/org/apache/calcite/test/CalciteSuite.java | 5 + .../apache/calcite/test/ExceptionMessageTest.java | 2 +- .../org/apache/calcite/test/JdbcAdapterTest.java | 29 + .../java/org/apache/calcite/test/JdbcTest.java | 383 ++++- .../java/org/apache/calcite/test/Matchers.java | 19 +- .../apache/calcite/test/MaterializationTest.java | 98 +- .../org/apache/calcite/test/MutableRelTest.java | 48 + .../apache/calcite/test/ReflectiveSchemaTest.java | 10 +- .../org/apache/calcite/test/RelBuilderTest.java | 320 +++- .../org/apache/calcite/test/RelMetadataTest.java | 24 +- .../org/apache/calcite/test/RelOptRulesTest.java | 650 +++++++- .../org/apache/calcite/test/RelOptTestBase.java | 21 +- .../calcite/test/RexImplicationCheckerTest.java | 26 +- .../org/apache/calcite/test/RexProgramTest.java | 81 + .../org/apache/calcite/test/RexShuttleTest.java | 76 + .../org/apache/calcite/test/SqlFunctionsTest.java | 548 ++++--- .../apache/calcite/test/SqlToRelConverterTest.java | 176 ++- .../org/apache/calcite/test/SqlToRelTestBase.java | 76 +- .../org/apache/calcite/test/SqlValidatorTest.java | 515 ++++++- .../apache/calcite/test/SqlValidatorTestCase.java | 59 + .../org/apache/calcite/test/TableFunctionTest.java | 11 +- .../calcite/test/TypeCoercionConverterTest.java | 143 ++ .../org/apache/calcite/test/TypeCoercionTest.java | 825 ++++++++++ .../test/java/org/apache/calcite/test/UdfTest.java | 90 +- .../catalog/EmpInitializerExpressionFactory.java | 2 +- .../org/apache/calcite/test/catalog/Fixture.java | 84 + .../test/catalog/MockCatalogReaderExtended.java | 48 + .../catalog/VirtualColumnsExpressionFactory.java} | 32 +- .../EnumerableBatchNestedLoopJoinTest.java | 229 +++ .../test/enumerable/EnumerableHashJoinTest.java | 203 +++ .../test/enumerable/EnumerableJoinTest.java | 30 + .../EnumerableRepeatUnionHierarchyTest.java | 8 +- .../calcite/test/fuzzer/RexProgramFuzzyTest.java | 2 +- .../org/apache/calcite/tools/FrameworksTest.java | 70 +- .../java/org/apache/calcite/tools/PlannerTest.java | 47 +- .../apache/calcite/util/ImmutableBitSetTest.java | 33 + .../test/java/org/apache/calcite/util/Smalls.java | 32 +- .../org/apache/calcite/test/RelOptRulesTest.xml | 708 ++++++++- .../apache/calcite/test/SqlToRelConverterTest.xml | 352 ++++- .../calcite/test/TypeCoercionConverterTest.xml | 264 ++++ core/src/test/resources/sql/agg.iq | 32 + core/src/test/resources/sql/blank.iq | 2 +- core/src/test/resources/sql/match.iq | 143 ++ core/src/test/resources/sql/misc.iq | 4 +- core/src/test/resources/sql/sub-query.iq | 70 +- druid/pom.xml | 4 +- .../{DruidAdapterIT2.java => DruidAdapter2IT.java} | 427 +++--- .../org/apache/calcite/test/DruidAdapterIT.java | 491 +++--- .../java/org/apache/calcite/test/DruidChecker.java | 55 + elasticsearch/pom.xml | 4 +- example/csv/pom.xml | 4 +- .../org/apache/calcite/adapter/csv/CsvSchema.java | 12 +- .../apache/calcite/adapter/csv/JsonEnumerator.java | 127 +- .../{JsonTable.java => JsonScannableTable.java} | 34 +- .../org/apache/calcite/adapter/csv/JsonTable.java | 36 +- .../test/java/org/apache/calcite/test/CsvTest.java | 18 +- .../csv/src/test/resources/bug/ARCHERS.json | 44 +- example/csv/src/test/resources/bug/archers.json | 27 - example/function/pom.xml | 4 +- example/pom.xml | 4 +- file/pom.xml | 4 +- .../apache/calcite/adapter/file/FileSchema.java | 29 +- .../calcite/adapter/file/FileReaderTest.java | 81 + .../org/apache/calcite/adapter/file/SqlTest.java | 75 +- .../src/test/resources/sales-json.json | 27 +- .../src/test/resources/sales-json}/DATE.csv | 0 .../src/test/resources/sales-json/DEPTS.json | 27 +- file/src/test/resources/sales-json/EMPS.json | 78 + .../src/test/resources/sales-json/EMPTY.json | 0 .../src/test/resources/sales-json/SDEPTS.json | 39 +- geode/pom.xml | 4 +- .../calcite/adapter/geode/rel/GeodeTable.java | 14 +- .../adapter/geode/rel/GeodeAllDataTypesTest.java | 4 +- .../calcite/adapter/geode/rel/GeodeZipsTest.java | 1 + kafka/pom.xml | 6 +- linq4j/pom.xml | 8 +- .../apache/calcite/linq4j/CorrelateJoinType.java | 68 - .../apache/calcite/linq4j/DefaultEnumerable.java | 16 +- .../apache/calcite/linq4j/EnumerableDefaults.java | 432 +++++- .../apache/calcite/linq4j/ExtendedEnumerable.java | 56 +- .../apache/calcite/linq4j/MemoryEnumerable.java | 48 + .../apache/calcite/linq4j/MemoryEnumerator.java | 88 ++ .../org/apache/calcite/linq4j/MemoryFactory.java | 97 ++ .../org/apache/calcite/linq4j/ModularInteger.java | 75 + .../main/java/org/apache/calcite/linq4j/Ord.java | 2 +- .../calcite/linq4j/tree/BinaryExpression.java | 98 +- .../apache/calcite/linq4j/tree/ExpressionType.java | 9 + .../calcite/linq4j/tree/ExpressionWriter.java | 43 +- .../apache/calcite/linq4j/tree/Expressions.java | 20 +- .../calcite/linq4j/tree/ForEachStatement.java | 84 + .../org/apache/calcite/linq4j/tree/Shuttle.java | 26 +- .../apache/calcite/linq4j/tree/TryStatement.java | 13 +- .../org/apache/calcite/linq4j/tree/Visitor.java | 1 + .../apache/calcite/linq4j/tree/VisitorImpl.java | 9 +- .../calcite/linq4j/MemoryEnumerableTest.java | 70 + .../apache/calcite/linq4j/test/ExpressionTest.java | 249 ++- .../apache/calcite/linq4j/test/InlinerTest.java | 28 + .../calcite/linq4j/test/JoinPreserveOrderTest.java | 24 + mongodb/pom.xml | 15 +- .../calcite/adapter/mongodb/MongoSchema.java | 10 +- .../adapter/mongodb/MongoSchemaFactory.java | 19 +- .../calcite/adapter/mongodb/MongoAdapterTest.java | 16 +- .../adapter/mongodb/MongoDatabasePolicy.java | 38 +- .../org/apache/calcite/test/MongoAssertions.java | 7 +- pig/pom.xml | 12 +- .../calcite/adapter/pig/PigRelFactories.java | 12 +- .../calcite/test/PigRelBuilderStyleTest.java | 6 +- piglet/pom.xml | 40 +- .../calcite/piglet/DynamicTupleRecordType.java | 76 + .../org/apache/calcite/piglet/PigConverter.java | 288 ++++ .../org/apache/calcite/piglet/PigRelBuilder.java | 658 ++++++++ .../org/apache/calcite/piglet/PigRelExVisitor.java | 452 ++++++ .../org/apache/calcite/piglet/PigRelExWalker.java | 84 + .../calcite/piglet/PigRelOpInnerVisitor.java | 251 +++ .../org/apache/calcite/piglet/PigRelOpVisitor.java | 722 +++++++++ .../org/apache/calcite/piglet/PigRelOpWalker.java | 92 ++ .../org/apache/calcite/piglet/PigRelSqlUdfs.java | 361 +++++ .../calcite/piglet/PigRelToSqlConverter.java | 128 ++ .../apache/calcite/piglet/PigRelUdfConverter.java | 195 +++ .../java/org/apache/calcite/piglet/PigTable.java | 76 + .../calcite/piglet/PigToSqlAggregateRule.java | 408 +++++ .../java/org/apache/calcite/piglet/PigTypes.java | 200 +++ .../org/apache/calcite/piglet/PigUdfFinder.java | 112 ++ .../java/org/apache/calcite/piglet/PigUdfs.java | 38 +- .../calcite/piglet/PigUserDefinedFunction.java | 78 + .../org/apache/calcite/test/CalciteHandler.java | 20 +- .../java/org/apache/calcite/test/PigRelExTest.java | 250 +++ .../java/org/apache/calcite/test/PigRelOpTest.java | 1614 ++++++++++++++++++++ .../org/apache/calcite/test/PigRelTestBase.java | 33 +- .../org/apache/calcite/test/PigScriptTest.java | 79 + piglet/src/test/resources/log4j.properties | 4 +- piglet/src/test/resources/testPig.pig | 44 + plus/pom.xml | 4 +- .../calcite/adapter/os/JpsTableFunction.java | 81 + .../org/apache/calcite/adapter/os/SqlShell.java | 2 + .../apache/calcite/adapter/os/OsAdapterTest.java | 14 + .../apache/calcite/adapter/tpcds/TpcdsTest.java | 68 +- pom.xml | 38 +- server/pom.xml | 4 +- server/src/main/codegen/config.fmpp | 9 + server/src/main/codegen/includes/parserImpls.ftl | 16 +- .../org/apache/calcite/sql/ddl/SqlCreateTable.java | 21 +- .../org/apache/calcite/sql/ddl/SqlCreateType.java | 12 +- .../org/apache/calcite/sql/ddl/SqlDdlNodes.java | 10 + .../org/apache/calcite/test/ServerParserTest.java | 12 + .../java/org/apache/calcite/test/ServerTest.java | 17 +- site/_docs/adapter.md | 7 +- site/_docs/algebra.md | 13 +- site/_docs/file_adapter.md | 51 + site/_docs/geode_adapter.md | 4 +- site/_docs/history.md | 364 ++++- site/_docs/howto.md | 8 +- site/_docs/os_adapter.md | 16 + site/_docs/reference.md | 216 ++- site/_posts/2019-09-11-release-1.21.0.md | 54 + spark/pom.xml | 12 +- splunk/pom.xml | 4 +- ubenchmark/pom.xml | 2 +- 405 files changed, 29600 insertions(+), 4733 deletions(-) create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoinRule.java create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatch.java copy core/src/main/java/org/apache/calcite/adapter/enumerable/{EnumerableTableSpoolRule.java => EnumerableMatchRule.java} (54%) delete mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableSemiJoin.java delete mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableSemiJoinRule.java copy core/src/main/java/org/apache/calcite/{rex/RexAction.java => interpreter/MatchNode.java} (64%) create mode 100644 core/src/main/java/org/apache/calcite/jdbc/ContextSqlValidator.java delete mode 100644 core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java create mode 100644 core/src/main/java/org/apache/calcite/rel/externalize/RelEnumTypes.java create mode 100644 core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java create mode 100644 core/src/main/java/org/apache/calcite/rel/mutable/MutableMatch.java delete mode 100644 core/src/main/java/org/apache/calcite/rel/mutable/MutableSemiJoin.java create mode 100644 core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java create mode 100644 core/src/main/java/org/apache/calcite/rel/rules/MatchRule.java create mode 100644 core/src/main/java/org/apache/calcite/rel/rules/SortJoinCopyRule.java create mode 100644 core/src/main/java/org/apache/calcite/runtime/Automaton.java create mode 100644 core/src/main/java/org/apache/calcite/runtime/AutomatonBuilder.java create mode 100644 core/src/main/java/org/apache/calcite/runtime/DeterministicAutomaton.java create mode 100644 core/src/main/java/org/apache/calcite/runtime/Matcher.java create mode 100644 core/src/main/java/org/apache/calcite/runtime/Pattern.java delete mode 100644 core/src/main/java/org/apache/calcite/sql/SemiJoinType.java create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlCastOperator.java create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlPosixRegexOperator.java create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlRegexpReplaceFunction.java create mode 100644 core/src/main/java/org/apache/calcite/sql/type/ImplicitCastOperandTypeChecker.java create mode 100644 core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java create mode 100644 core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java create mode 100644 core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java copy core/src/main/java/org/apache/calcite/{rex/RexAction.java => sql/validate/implicit/TypeCoercions.java} (59%) create mode 100644 core/src/main/java/org/apache/calcite/sql/validate/implicit/package-info.java create mode 100644 core/src/test/java/org/apache/calcite/rel/logical/ToLogicalConverterTest.java create mode 100644 core/src/test/java/org/apache/calcite/runtime/AutomatonTest.java create mode 100644 core/src/test/java/org/apache/calcite/runtime/DeterministicAutomatonTest.java create mode 100644 core/src/test/java/org/apache/calcite/sql/type/RelDataTypeSystemTest.java create mode 100644 core/src/test/java/org/apache/calcite/test/RexShuttleTest.java create mode 100644 core/src/test/java/org/apache/calcite/test/TypeCoercionConverterTest.java create mode 100644 core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java copy core/src/{main/java/org/apache/calcite/rex/RexPattern.java => test/java/org/apache/calcite/test/catalog/VirtualColumnsExpressionFactory.java} (54%) create mode 100644 core/src/test/java/org/apache/calcite/test/enumerable/EnumerableBatchNestedLoopJoinTest.java create mode 100644 core/src/test/java/org/apache/calcite/test/enumerable/EnumerableHashJoinTest.java create mode 100644 core/src/test/resources/org/apache/calcite/test/TypeCoercionConverterTest.xml create mode 100755 core/src/test/resources/sql/match.iq rename druid/src/test/java/org/apache/calcite/test/{DruidAdapterIT2.java => DruidAdapter2IT.java} (93%) create mode 100644 druid/src/test/java/org/apache/calcite/test/DruidChecker.java copy example/csv/src/main/java/org/apache/calcite/adapter/csv/{JsonTable.java => JsonScannableTable.java} (62%) copy core/src/main/java/org/apache/calcite/rex/RexPattern.java => example/csv/src/test/resources/bug/ARCHERS.json (56%) delete mode 100644 example/csv/src/test/resources/bug/archers.json copy core/src/main/java/org/apache/calcite/rex/RexAction.java => file/src/test/resources/sales-json.json (69%) copy {example/csv/src/test/resources/bug => file/src/test/resources/sales-json}/DATE.csv (100%) copy core/src/main/java/org/apache/calcite/rex/RexAction.java => file/src/test/resources/sales-json/DEPTS.json (69%) create mode 100644 file/src/test/resources/sales-json/EMPS.json copy src/main/config/checkstyle/header.java.txt => file/src/test/resources/sales-json/EMPTY.json (100%) copy core/src/main/java/org/apache/calcite/rex/RexAction.java => file/src/test/resources/sales-json/SDEPTS.json (69%) delete mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/CorrelateJoinType.java create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/MemoryEnumerable.java create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/MemoryEnumerator.java create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/MemoryFactory.java create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/ModularInteger.java create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/tree/ForEachStatement.java create mode 100644 linq4j/src/test/java/org/apache/calcite/linq4j/MemoryEnumerableTest.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/DynamicTupleRecordType.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelBuilder.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelExVisitor.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelExWalker.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelOpInnerVisitor.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelOpWalker.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelSqlUdfs.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelToSqlConverter.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigRelUdfConverter.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigTable.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigTypes.java create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigUdfFinder.java copy core/src/main/java/org/apache/calcite/rex/RexPattern.java => piglet/src/main/java/org/apache/calcite/piglet/PigUdfs.java (50%) create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigUserDefinedFunction.java create mode 100644 piglet/src/test/java/org/apache/calcite/test/PigRelExTest.java create mode 100644 piglet/src/test/java/org/apache/calcite/test/PigRelOpTest.java copy core/src/main/java/org/apache/calcite/rex/RexPattern.java => piglet/src/test/java/org/apache/calcite/test/PigRelTestBase.java (54%) create mode 100644 piglet/src/test/java/org/apache/calcite/test/PigScriptTest.java create mode 100644 piglet/src/test/resources/testPig.pig create mode 100644 plus/src/main/java/org/apache/calcite/adapter/os/JpsTableFunction.java create mode 100644 site/_posts/2019-09-11-release-1.21.0.md