You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by kr...@apache.org on 2019/03/25 14:43:55 UTC

[calcite] branch site updated (a96db91 -> 3ac7039)

This is an automated email from the ASF dual-hosted git repository.

krisden pushed a change to branch site
in repository https://gitbox.apache.org/repos/asf/calcite.git.


    from a96db91  Site: [CALCITE-2734] Update mongo documentation to reflect filename changes
     new d0cf8ca  [CALCITE-2759] Update maven-remote-resources-plugin to 1.6.0
     new 3dee82d  [CALCITE-2755] Expose document _id field when querying ElasticSearch
     new 234c2fc  [CALCITE-2760] ElasticSearch adapter. Support sorting on unmapped fields (eg. _MAP['city'])
     new d6fb6ab  [CALCITE-2727] MV rewriting bails out incorrectly when a view does not contain any table reference
     new 6210ee4  [CALCITE-2732] Upgrade postgresql driver version
     new 3071a15  [CALCITE-2733] Use catalog and schema from JDBC connection string to retrieve tables if specified
     new 5ed0c2a  ElasticSearch adapter. Remove dead (or unnecessary) code.
     new 5d918ac  [CALCITE-2436] Steps for building site under Windows, misprint fix in SQL Language page
     new 92978d9  [CALCITE-2764] RelCompositeTrait#satisfies does not work for non-trivial traits
     new 8e36344  Revert "[CALCITE-2764] RelCompositeTrait#satisfies does not work for non-trivial traits"
     new b54f6de  [CALCITE-2768] PlannerTest ignores top-level order by clause (~RootRel.collation)
     new 276e24b  [CALCITE-2625] Jdbc adapter: print Window Frame Boundary only for those aggregates that support it (KrishnaKant Agrawal)
     new fc5af78  Site: fix typo at the main page (Marc Prud'hommeaux)
     new 1556cdd  Site: fix JSON syntax error at file adapter page (Marc Prud'hommeaux)
     new 01c8a45  [CALCITE-2765] Bump Janino dependency to 3.0.11 (Fokko Driesprong)
     new e67eb2d  [CALCITE-2767] Fix conversion of Case in RexSqlStandardConvertletTable (Benoit Hanotte)
     new 9667f85  [CALCITE-2471] Shorten AbstractRelNode#computeDigest() digest (Laurent Goujon)
     new 416d8c9  [CALCITE-2554] Enrich enumerable join operators with order preserving information (Stamatis Zampetakis)
     new 13fca96  [CALCITE-2623] Add specific translation for POSITION, MOD and set operators in BigQuery and Hive SQL dialects
     new b505ece  [CALCITE-2762] Quidem env variable is always false if its name is separated by dot(.) (Hongze Zhang)
     new 8cc6df2  [CACITE-2629] Remove call to CatalogReader#getAllSchemaObjects
     new d368fc5  [CALCITE-2437] FilterMultiJoinMerge should combine filters from Filter relation and multijoin post-join filters
     new 535bd8d  CALCITE-2375 EnumerableDefaults.join_() leaks connections (Pavel Gubin)
     new 9c31e96  [CALCITE-2249] AggregateJoinTransposeRule generates inequivalent nodes if Aggregate relNode contains distinct aggregate function (jingzhang)
     new d15d6e0  [CALCITE-2778] Remove ClosableAllocation, ClosableAllocationOwner, CompoundClosableAllocation (BELUGA BEHR)
     new 5ff5765  [CALCITE-2344] Avoid inferring $0=null predicate from $0 IS NULL when $0 is not nullable
     new d18d9e4  [CALCITE-2779] Remove References to StringBuffer (Beluga Behr)
     new 62b47ae  [CALCITE-2635] getMonotonocity is slow on wide tables (Gian Merlino)
     new 2d25061  Site: Elastic query example on _MAP
     new 21474d6  Site: Add Zoltan Haindrich as committer
     new 73f7109  Site: Add commit message guidelines for contributors (Stamatis Zampetakis)
     new c978304  [CALCITE-2782] Use server time zone by default if time zone is not specified in the user connection string (Justin Szeluga)
     new fc10982  [CALCITE-2797] Support APPROX_COUNT_DISTINCT aggregate function in ElasticSearch adapter
     new e804521  [CALCITE-2783] Expressions like ( s or s is unknown ) = true causes Exceptions
     new 0202ef5  [CALCITE-2788]  Building error for sub-project of calcite on "maven-checkstyle-plugin"
     new cd01913  [CALCITE-2805] Allow string ports in Cassandra adapter schema
     new edbaf6c  [CALCITE-2806] Allow uppercase characters in Cassandra table names
     new b43a314  Fix sqlline by removing redundant slf4j dependency (log4j-over-slf4j) from cassandra-all
     new e80ec97  Site: [CALCITE-2734] Update mongo documentation to reflect filename changes
     new 817683b  [CALCITE-2811] Update version of Cassandra driver
     new ff86194  Update year in NOTICE
     new 1961d13  [CALCITE-2802] Druid adapter: Usage of range conditions like "2010-01-01 < timestamp" leads to incorrect results
     new 542c086  [CALCITE-2814] ElasticSearch adapter. Fix "group by" when using raw item access (eg. _MAP['foo'])
     new cf363b5  [CALCITE-2798] Remove ORDER BY in sub-query, provided it has no LIMIT or OFFSET, during SQL-to-RelNode conversion (Haisheng Yuan)
     new 4814943  [CALCITE-2770] Add support for BIT_AND and BIT_OR aggregate functions
     new 18560d1  Add JUnit category for extremely slow tests, launch them in a separate Travis job
     new d9fe7f7  Improve assert messages for CalciteAssert-based tests
     new 4be11a9  Remove usage of 'userConfig' attribute in ElasticSearch adapter
     new 21fe666  [CALCITE-2301] JDBC adapter: use query timeout from the top-level statement
     new 4ccf5ca  Make SparkHandlerImpl singletone thread-safe
     new 866d855  [CALCITE-2454] Avoid treating Project(x=1) and Project(x=1) equal in case the type of 1 is int in the first rel and long in the second one
     new 8836669  [CALCITE-2836] Remove maven-compiler-plugin from calcite-plus module pom.xml
     new 2102f1f  [CALCITE-1726] Subquery in FILTER is left untransformed (Vineet Garg)
     new d64f60c  [CALCITE-2817] Make CannotPlanException great
     new 3cefa45  [CALCITE-2853] Avoid multithreaded execution of CalciteRemoteDriverTest
     new ef9f926  Update instructions for pushing to the git site repository
     new 6b41a61  [CALCITE-2850] Geode adapter: support boolean column as filter operand
     new 9924699  [CALCITE-2848] Simplifying a case statement's first branch should ignore its safety
     new 880393e  [CALCITE-2842] Computing RexCall digest containing IN expressions leads to Exceptions
     new b854697  [CALCITE-2852] RexNode simplification does not traverse unknown functions
     new e448920  [CALCITE-2840] RexNode simplification logic should use more specific UnknownAs modes
     new 233d9dd  [CALCITE-2582] FilterProjectTransposeRule does not always simplify the new filter condition
     new 8eb8520  CALCITE-2856-Emulating Cross Join For SparkSqlDialect
     new 846494a  [CALCITE-2464] Allow to set nullability for columns of structured types (Ruben Quesada Lopez) - Added nullability flag to struct types (previously they were always considered as non-nullable) - Struct types will be built as non-nullable by default to avoid regresssions, but this can be changed via RelDataTypeFactory#createTypeWithNullability - SqlCreateTable will generate nullable struct types, unless they are defined as NOT NULL - New unit tests
     new 5101703  [CALCITE-2791] Add the JSON_TYPE function (xuqianjin)
     new c3fd74a  [CALCITE-2841] Simplification: push negation into Case expression
     new c462838  [CALCITE-2838] Simplification: Remove redundant IS TRUE/IS NOT FALSE checks
     new 83d8cf1  [CALCITE-2863] ElasticSearch Adapter. select * and predicates on _MAP fail
     new 0e15ae6  [CALCITE-2722] Unparsing may have run into StackOverflowError in case of large number of AND/OR operands (Haisheng Yuan)
     new 82f9bd5  [CALCITE-2839] Simplify comparisions against boolean literals
     new e94c157  [CALCITE-2858] Improvements in JSON writer and reader for plans
     new e93522a  [CALCITE-2863] ElasticSearch Adapter. "select *" may return empty dictionary for document table
     new 67b439f  [CALCITE-2786] Add order by clause support for JSON_ARRAYAGG
     new cce9c79  [CALCITE-2750] PI operator incorrectly identified as dynamic function
     new ebafff1  [CALCITE-2878] Avoid use of new RuntimeException(e) in tests
     new aa65a82  Improve Graphviz dump in CannotPlanException: make boxes shorter, print composite traits if they were simplified
     new cfc6a4d  [CALCITE-2864]Add the JSON_DEPTH function
     new 82ab280  [CALCITE-2787] JSON aggregate calls with different null clause get incorrectly merged during converting from SQL to relational algebra
     new e3a319e  [CALCITE-2827] Allow Convention.NONE planning with VolcanoPlanner
     new a2e9f82  Following [CALCITE-2864], remove a redundant file generated by test
     new 280642a  [CALCITE-2859] Centralize Calcite system properties
     new e14cef2  [CALCITE-2703] Reduce code generation and class loading overhead when executing queries in the EnumerableConvention
     new 564caac  [CALCITE-2338] Make Simplification API more conservative
     new 24a7a1b  [CALCITE-2875] fix some misspellings in RelOptListener (Chunwei Lei)
     new 44c04ee  [CALCITE-1513] Correlated NOT IN query throws AssertionError (Vineet Garg)
     new 6c9557f  [CALCITE-2881] Add the JSON_PRETTY function (Ritesh Kapoor)
     new d10aeb7  [CALCITE-2421] Generalize simplification of self-comparisions
     new 62d933c  [CALCITE-2621] Add rule to execute semi joins with correlation (Ruben Quesada Lopez)
     new 0876740  [CALCITE-2890] Elasticsearch adapter. any_value with other aggregation functions returns incorrect result (Siyuan Liu)
     new 36d373f  [CALCITE-2886] Simplification of AND expressions should push negations earlier
     new 6687023  [CALCITE-2887] Improve performance of RexLiteral#toJavaString
     new 92562a0  [CALCITE-2891] Alias suggester failed to suggest name based on original name incrementally (Haisheng Yuan)
     new e2b364e  [CALCITE-2897] Reduce expensive calls to Class#getSimpleName
     new c3fa21b  [CALCITE-2894] NullPointerException thrown by RelMdPercentageOriginalRows when explaining plan with all attributes
     new f2638b9  Switch from maven:alpine to maven image for generating javadoc when building the site
     new f992e6c  [CALCITE-2785] In EnumerableAggregate, wrong result produced if there are sorted aggregates and non-sorted aggregates at the same time
     new ea5a036  [CALCITE-2895] Add missing arguments to constructor javadoc of LogicAggregate (Chunwei Lei)
     new 50012d2  [CALCITE-2899] Deprecate RelTraitPropagationVisitor and remove its usages
     new e226ae4  Cosmetic changes
     new 870d5f4  [CALCITE-2674] Column name with escape character should not be verified as a function when the column name is same with it (Danny Chan)
     new 3ba81e2  [CALCITE-1912] Temporal tables, "FOR SYSTEM_TIME AS OF" SQL clause, and add Snapshot relational operator (Jark Wu)
     new 5ee592a  [CALCITE-2818] EXTRACT returns wrong results for DATE and TIMESTAMP values before epoch (Haisheng Yuan)
     new bfc842a  [CALCITE-2677] Struct types with one field are not mapped correctly to Java Classes
     new a481357  [CALCITE-2599] Implement SQL ASCII function (Chunwei Lei)
     new f33e1b8  [CALCITE-2902] Improve performance of AbstractRelNode#computeDigest
     new 8f4a797  [CALCITE-2916] Upgrade jackson to 2.9.8
     new ffca956  [CALCITE-2925] Exclude maven-wrapper.jar from source distribution
     new 600da53  [CALCITE-2931] Mongo Adapter- Compare Bson (not string) query representation in tests
     new 1229ef2  [CALCITE-2932] Update stale Druid integration test cases
     new a648f9c  [CALCITE-2929] Simplification of IS NULL checks are incorrectly assuming that CAST-s are possible
     new e0e36cf  [CALCITE-2911] Release Calcite 1.19.0
     new 4143176  [maven-release-plugin] prepare release calcite-1.19.0
     new b8f4edf  [maven-release-plugin] prepare for next development iteration
     new 3ac7039  Merge branch 'master' into site

The 3274 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml                                        |   5 +-
 NOTICE                                             |   2 +-
 README                                             |   2 +-
 babel/pom.xml                                      |   4 +-
 babel/src/main/codegen/config.fmpp                 |   5 +
 cassandra/pom.xml                                  |  13 +-
 .../calcite/adapter/cassandra/CassandraSchema.java |  12 +-
 .../adapter/cassandra/CassandraSchemaFactory.java  |   8 +-
 .../cassandra/CassandraToEnumerableConverter.java  |   4 +-
 .../apache/calcite/test/CassandraAdapterTest.java  |   9 +-
 cassandra/src/test/resources/twissandra.cql        |   2 +-
 core/pom.xml                                       |  28 +-
 core/src/main/codegen/config.fmpp                  |   3 +
 core/src/main/codegen/templates/Parser.jj          | 286 ++++++++++----
 .../main/java/org/apache/calcite/DataContext.java  |   4 +
 ...ctory.java => BasicAggregateLambdaFactory.java} |   6 +-
 .../adapter/enumerable/BasicLazyAccumulator.java   |  45 +++
 .../calcite/adapter/enumerable/EnumUtils.java      |   9 -
 .../adapter/enumerable/EnumerableAggregate.java    |  24 +-
 .../adapter/enumerable/EnumerableCollect.java      |  18 +-
 .../adapter/enumerable/EnumerableCorrelate.java    |  26 ++
 .../enumerable/EnumerableCorrelateRule.java        |   7 +-
 .../enumerable/EnumerableInterpretable.java        |  56 ++-
 .../calcite/adapter/enumerable/EnumerableJoin.java |   7 +-
 .../adapter/enumerable/EnumerableJoinRule.java     |  15 +-
 .../adapter/enumerable/EnumerableSemiJoin.java     |  18 +-
 .../adapter/enumerable/EnumerableTableScan.java    |   5 +-
 .../adapter/enumerable/EnumerableThetaJoin.java    |  19 +
 .../adapter/enumerable/EnumerableWindow.java       |   4 +-
 ...actory.java => LazyAggregateLambdaFactory.java} |  40 +-
 .../calcite/adapter/enumerable/PhysType.java       |  13 +-
 .../calcite/adapter/enumerable/PhysTypeImpl.java   |  25 +-
 .../calcite/adapter/enumerable/RexImpTable.java    |  84 +++-
 .../calcite/adapter/enumerable/SourceSorter.java   |  17 +-
 .../apache/calcite/adapter/jdbc/JdbcSchema.java    |  12 +
 .../adapter/jdbc/JdbcToEnumerableConverter.java    |  10 +-
 .../calcite/config/CalciteConnectionConfig.java    |   2 +
 .../config/CalciteConnectionConfigImpl.java        |   5 +
 .../calcite/config/CalciteConnectionProperty.java  |   7 +-
 .../calcite/config/CalciteSystemProperty.java      | 398 +++++++++++++++++++
 .../apache/calcite/interpreter/Interpreter.java    |   4 +-
 .../calcite/interpreter/JaninoRexCompiler.java     |   6 +-
 .../apache/calcite/jdbc/CalciteConnectionImpl.java |   5 +
 .../apache/calcite/jdbc/JavaTypeFactoryImpl.java   |  31 +-
 .../org/apache/calcite/materialize/Lattice.java    |   4 +-
 .../org/apache/calcite/plan/RelOptListener.java    |   4 +-
 .../apache/calcite/plan/RelOptMaterialization.java |   6 +-
 .../calcite/plan/RelOptMaterializations.java       |   4 +-
 .../java/org/apache/calcite/plan/RelOptRule.java   |   4 -
 .../java/org/apache/calcite/plan/RelOptUtil.java   |   2 +-
 .../calcite/plan/RelTraitPropagationVisitor.java   |  12 +
 .../apache/calcite/plan/SubstitutionVisitor.java   |   4 +-
 .../org/apache/calcite/plan/volcano/RelSubset.java | 154 +++++++-
 .../org/apache/calcite/plan/volcano/RuleQueue.java |  10 +-
 .../calcite/plan/volcano/VolcanoPlanner.java       | 284 ++++++++++++--
 .../calcite/plan/volcano/VolcanoRuleCall.java      |  16 +-
 .../calcite/prepare/CalciteMaterializer.java       |   3 +-
 .../apache/calcite/prepare/CalcitePrepareImpl.java |   9 +-
 .../apache/calcite/prepare/RelOptTableImpl.java    |  20 +-
 .../org/apache/calcite/profile/ProfilerImpl.java   |  10 +-
 .../org/apache/calcite/rel/AbstractRelNode.java    | 117 +++---
 .../java/org/apache/calcite/rel/RelWriter.java     |  12 +-
 .../java/org/apache/calcite/rel/core/Filter.java   |   4 +-
 .../java/org/apache/calcite/rel/core/Match.java    |   5 +
 .../org/apache/calcite/rel/core/RelFactories.java  |  28 +-
 .../java/org/apache/calcite/rel/core/Snapshot.java | 110 ++++++
 .../java/org/apache/calcite/rel/core/Values.java   |  30 +-
 .../apache/calcite/rel/externalize/RelJson.java    | 260 ++++++++++---
 .../calcite/rel/externalize/RelJsonReader.java     |  11 +-
 .../calcite/rel/externalize/RelJsonWriter.java     |  19 +-
 .../calcite/rel/externalize/RelWriterImpl.java     |  16 -
 .../calcite/rel/logical/LogicalAggregate.java      |   7 +-
 .../calcite/rel/logical/LogicalCorrelate.java      |   4 +-
 .../calcite/rel/logical/LogicalSnapshot.java       |  74 ++++
 .../rel/metadata/JaninoRelMetadataProvider.java    |   7 +-
 .../calcite/rel/metadata/RelMdCollation.java       |  91 +++++
 .../calcite/rel/metadata/RelMdDistribution.java    |   7 +
 .../rel/metadata/RelMdPercentageOriginalRows.java  |  20 +-
 .../calcite/rel/metadata/RelMdPredicates.java      |   4 +-
 .../calcite/rel/rel2sql/RelToSqlConverter.java     |   8 +-
 .../apache/calcite/rel/rel2sql/SqlImplementor.java |  28 +-
 .../rel/rules/AbstractMaterializedViewRule.java    |   4 +-
 .../rel/rules/AggregateJoinTransposeRule.java      |  42 +-
 .../calcite/rel/rules/AggregateStarTableRule.java  |   8 +-
 .../rel/rules/AggregateUnionTransposeRule.java     |   2 +
 .../rel/rules/FilterMultiJoinMergeRule.java        |  15 +-
 .../rel/rules/FilterProjectTransposeRule.java      |  30 +-
 .../calcite/rel/rules/JoinToCorrelateRule.java     |  62 ++-
 .../rel/rules/MultiJoinOptimizeBushyRule.java      |   4 +-
 .../calcite/rel/type/RelDataTypeFactoryImpl.java   |  74 ++--
 .../apache/calcite/rel/type/RelDataTypeImpl.java   |   2 +-
 .../org/apache/calcite/rel/type/RelRecordType.java |  25 +-
 .../java/org/apache/calcite/rex/RexBuilder.java    |  13 +-
 .../main/java/org/apache/calcite/rex/RexCall.java  |  96 ++++-
 .../Node.java => rex/RexDigestIncludeType.java}    |  12 +-
 .../org/apache/calcite/rex/RexExecutorImpl.java    |   4 +-
 .../java/org/apache/calcite/rex/RexLiteral.java    | 387 +++++++++++++------
 .../main/java/org/apache/calcite/rex/RexOver.java  |   7 +-
 .../java/org/apache/calcite/rex/RexProgram.java    |   2 +-
 .../java/org/apache/calcite/rex/RexSimplify.java   | 280 ++++++++++----
 .../calcite/rex/RexSqlStandardConvertletTable.java |   6 +-
 .../calcite/rex/RexToSqlNodeConverterImpl.java     |   5 +
 .../java/org/apache/calcite/rex/RexUnknownAs.java  |  11 +
 .../main/java/org/apache/calcite/rex/RexUtil.java  |  16 +-
 .../apache/calcite/runtime/CalciteException.java   |   4 +-
 .../apache/calcite/runtime/CalciteResource.java    |  21 +
 .../java/org/apache/calcite/runtime/FlatLists.java |   2 +-
 .../calcite/runtime/ResultSetEnumerable.java       |  48 ++-
 .../org/apache/calcite/runtime/SqlFunctions.java   | 127 +++++-
 .../java/org/apache/calcite/schema/Schema.java     |   7 +
 .../org/apache/calcite/schema/TemporalTable.java   |  23 +-
 .../java/org/apache/calcite/sql/SqlCollation.java  |  40 +-
 .../java/org/apache/calcite/sql/SqlDialect.java    |   5 +
 .../apache/calcite/sql/SqlDialectFactoryImpl.java  |  10 +
 .../java/org/apache/calcite/sql/SqlIdentifier.java |  12 +
 .../main/java/org/apache/calcite/sql/SqlKind.java  |  23 +-
 .../org/apache/calcite/sql/SqlLateralOperator.java |   3 +-
 .../org/apache/calcite/sql/SqlPostfixOperator.java |   4 +-
 .../org/apache/calcite/sql/SqlPrefixOperator.java  |   4 +-
 .../java/org/apache/calcite/sql/SqlSnapshot.java   | 135 +++++++
 .../main/java/org/apache/calcite/sql/SqlUtil.java  |   2 +-
 .../java/org/apache/calcite/sql/SqlWindow.java     |   4 +-
 .../calcite/sql/dialect/BigQuerySqlDialect.java    |  53 +++
 .../apache/calcite/sql/dialect/HiveSqlDialect.java |  27 ++
 ...edshiftSqlDialect.java => SparkSqlDialect.java} |  33 +-
 .../calcite/sql/fun/SqlBaseContextVariable.java    |   3 +-
 ...ueAggFunction.java => SqlBitOpAggFunction.java} |  32 +-
 .../calcite/sql/fun/SqlCountAggFunction.java       |   3 +-
 .../sql/fun/SqlJsonArrayAggAggFunction.java        |  30 +-
 ...istsFunction.java => SqlJsonDepthFunction.java} |  49 ++-
 .../sql/fun/SqlJsonObjectAggAggFunction.java       |  11 +-
 ...stsFunction.java => SqlJsonPrettyFunction.java} |  50 ++-
 ...yntaxOperator.java => SqlJsonTypeFunction.java} |  53 +--
 .../calcite/sql/fun/SqlPositionFunction.java       |   2 +-
 .../calcite/sql/fun/SqlStdOperatorTable.java       |  48 ++-
 .../apache/calcite/sql/parser/SqlParserPos.java    |  31 ++
 .../apache/calcite/sql/parser/SqlParserUtil.java   |   6 +-
 .../org/apache/calcite/sql/type/BasicSqlType.java  |   6 +-
 .../org/apache/calcite/sql/type/OperandTypes.java  |   2 +
 .../apache/calcite/sql/validate/CatalogScope.java  |  11 -
 .../apache/calcite/sql/validate/SqlValidator.java  |   4 -
 .../sql/validate/SqlValidatorException.java        |   4 +-
 .../calcite/sql/validate/SqlValidatorImpl.java     |  37 ++
 .../calcite/sql/validate/SqlValidatorTable.java    |   5 +
 .../sql2rel/RelStructuredTypeFlattener.java        |   9 +
 .../apache/calcite/sql2rel/SqlToRelConverter.java  |  40 +-
 .../java/org/apache/calcite/tools/Programs.java    |  13 +-
 .../java/org/apache/calcite/tools/RelBuilder.java  |  26 +-
 .../src/main/java/org/apache/calcite/util/Bug.java |  11 +
 .../org/apache/calcite/util/BuiltInMethod.java     |  23 +-
 .../apache/calcite/util/ClosableAllocation.java    |  32 --
 .../calcite/util/ClosableAllocationOwner.java      |  35 --
 .../calcite/util/CompoundClosableAllocation.java   |  84 ----
 .../apache/calcite/util/PartiallyOrderedSet.java   |  10 +-
 .../org/apache/calcite/util/SaffronProperties.java |   4 +
 .../main/java/org/apache/calcite/util/Util.java    |  64 ++--
 .../apache/calcite/util/javac/JaninoCompiler.java  |   4 +-
 .../calcite/runtime/CalciteResource.properties     |   7 +
 core/src/test/codegen/config.fmpp                  |   3 +
 .../calcite/adapter/enumerable/PhysTypeTest.java   |  72 ++++
 .../calcite/jdbc/CalciteRemoteDriverTest.java      |  30 +-
 .../apache/calcite/jdbc/JavaTypeFactoryTest.java   |  94 +++++
 .../calcite/materialize/LatticeSuggesterTest.java  |   3 +
 .../org/apache/calcite/plan/RelOptUtilTest.java    |   6 +-
 .../org/apache/calcite/plan/RelWriterTest.java     | 303 ++++++++++++++-
 .../calcite/plan/volcano/TraitPropagationTest.java |   4 +-
 .../plan/volcano/VolcanoPlannerTraitTest.java      |  36 ++
 .../org/apache/calcite/profile/ProfilerTest.java   |  14 +-
 .../calcite/rel/rel2sql/RelToSqlConverterTest.java | 151 +++++++-
 .../calcite/rel/rules/SortRemoveRuleTest.java      | 214 +++++++++++
 .../org/apache/calcite/rex/RexBuilderTest.java     |   4 +-
 .../rex/RexSqlStandardConvertletTableTest.java     | 104 +++++
 .../apache/calcite/schemas/HrClusteredSchema.java  | 130 +++++++
 .../apache/calcite/sql/parser/SqlParserTest.java   |  71 +++-
 .../apache/calcite/sql/test/AbstractSqlTester.java |   2 +-
 .../apache/calcite/sql/test/SqlAdvisorTest.java    |   2 +
 .../calcite/sql/test/SqlOperatorBaseTest.java      | 203 +++++++++-
 .../java/org/apache/calcite/sql/test/SqlTests.java |   7 +-
 .../calcite/sql/type/SqlTypeFactoryTest.java       |  29 ++
 .../calcite/sql/validate/LexCaseSensitiveTest.java |   2 +-
 .../apache/calcite/sql/validate/LexEscapeTest.java | 133 +++++++
 .../org/apache/calcite/test/CalciteAssert.java     | 231 ++++-------
 .../java/org/apache/calcite/test/CalciteSuite.java |  34 +-
 .../java/org/apache/calcite/test/DiffTestCase.java |   5 +-
 .../java/org/apache/calcite/test/FoodmartTest.java |   9 +-
 .../org/apache/calcite/test/HepPlannerTest.java    |  44 +++
 .../org/apache/calcite/test/JdbcAdapterTest.java   |  41 +-
 .../apache/calcite/test/JdbcFrontJdbcBackTest.java |  10 +-
 .../apache/calcite/test/JdbcFrontLinqBackTest.java |   3 +-
 .../java/org/apache/calcite/test/JdbcTest.java     | 168 ++++++--
 .../java/org/apache/calcite/test/LatticeTest.java  |   4 +-
 .../java/org/apache/calcite/test/Matchers.java     |   3 +-
 .../apache/calcite/test/MaterializationTest.java   |  23 +-
 .../calcite/test/MultiJdbcSchemaJoinTest.java      |   4 +-
 .../java/org/apache/calcite/test/QuidemTest.java   |   7 +-
 .../apache/calcite/test/ReflectiveSchemaTest.java  |   7 +-
 .../org/apache/calcite/test/RelBuilderTest.java    | 112 +++++-
 .../test/RelMdPercentageOriginalRowsTest.java      |  45 +++
 .../org/apache/calcite/test/RelMetadataTest.java   |   9 +-
 .../org/apache/calcite/test/RelOptRulesTest.java   |  71 +++-
 .../org/apache/calcite/test/RexProgramTest.java    | 338 +++++++++++-----
 .../test/{package-info.java => SlowTests.java}     |  11 +-
 .../apache/calcite/test/SqlJsonFunctionsTest.java  | 133 +++++--
 .../java/org/apache/calcite/test/SqlTestGen.java   |  10 +-
 .../test/SqlToRelConverterExtendedTest.java        |   3 +-
 .../apache/calcite/test/SqlToRelConverterTest.java |  65 +++-
 .../org/apache/calcite/test/SqlToRelTestBase.java  |   3 +-
 .../org/apache/calcite/test/SqlValidatorTest.java  |  46 +++
 .../java/org/apache/calcite/test/StreamTest.java   |  50 ++-
 .../org/apache/calcite/test/TableFunctionTest.java |   3 +-
 .../calcite/test/catalog/MockCatalogReader.java    |  54 ++-
 .../test/catalog/MockCatalogReaderSimple.java      |  15 +-
 .../concurrent/ConcurrentTestCommandScript.java    |   1 -
 .../test/enumerable/EnumerableCorrelateTest.java   |  28 +-
 .../calcite/test/fuzzer/RexProgramFuzzyTest.java   |   7 +-
 .../org/apache/calcite/tools/FrameworksTest.java   |   7 +-
 .../java/org/apache/calcite/tools/PlannerTest.java | 134 +++++--
 .../calcite/util/PartiallyOrderedSetTest.java      |  11 +-
 .../java/org/apache/calcite/util/TestUtil.java     |  47 +++
 .../org/apache/calcite/test/HepPlannerTest.xml     |   4 +-
 .../org/apache/calcite/test/RelOptRulesTest.xml    | 235 ++++++++----
 .../apache/calcite/test/SqlToRelConverterTest.xml  | 237 +++++++++---
 core/src/test/resources/sql/agg.iq                 | 160 +++++++-
 core/src/test/resources/sql/blank.iq               |  13 +-
 core/src/test/resources/sql/conditions.iq          |  17 +
 core/src/test/resources/sql/join.iq                |  17 +-
 core/src/test/resources/sql/misc.iq                |  34 +-
 core/src/test/resources/sql/outer.iq               |   2 +-
 core/src/test/resources/sql/some.iq                |   2 +-
 core/src/test/resources/sql/spatial.iq             |   0
 .../src/test/resources/sql/struct.iq               |  24 +-
 core/src/test/resources/sql/sub-query.iq           | 206 ++++++----
 druid/pom.xml                                      |   4 +-
 .../calcite/adapter/druid/DruidConnectionImpl.java |  12 +-
 .../calcite/adapter/druid/DruidDateTimeUtils.java  |  14 +-
 .../apache/calcite/adapter/druid/DruidRules.java   |   5 +-
 .../org/apache/calcite/test/DruidAdapterIT.java    | 136 +++----
 .../org/apache/calcite/test/DruidAdapterIT2.java   | 150 ++++----
 .../calcite/test/DruidDateRangeRulesTest.java      |  17 +
 elasticsearch/pom.xml                              |   4 +-
 .../elasticsearch/ElasticsearchAggregate.java      |  45 ++-
 .../elasticsearch/ElasticsearchConstants.java      |  14 +
 .../elasticsearch/ElasticsearchEnumerators.java    |  58 ++-
 .../adapter/elasticsearch/ElasticsearchFilter.java | 234 ------------
 .../adapter/elasticsearch/ElasticsearchJson.java   |  14 +-
 .../adapter/elasticsearch/ElasticsearchMethod.java |   2 +
 .../elasticsearch/ElasticsearchProject.java        |  15 +-
 .../adapter/elasticsearch/ElasticsearchRel.java    |  17 +
 .../adapter/elasticsearch/ElasticsearchRules.java  |  14 +-
 .../elasticsearch/ElasticsearchSchemaFactory.java  |  16 +-
 .../adapter/elasticsearch/ElasticsearchSort.java   |   3 +-
 .../adapter/elasticsearch/ElasticsearchTable.java  |  14 +-
 .../elasticsearch/ElasticsearchTableScan.java      |   5 +
 .../ElasticsearchToEnumerableConverter.java        |   8 +-
 .../ExpressionNotAnalyzableException.java          |  29 --
 .../adapter/elasticsearch/AggregationTest.java     |  53 +++
 .../elasticsearch/ElasticSearchAdapterTest.java    | 175 ++++++---
 .../elasticsearch/EmbeddedElasticsearchNode.java   |   4 +-
 .../adapter/elasticsearch/Projection2Test.java     | 161 +++++++-
 example/csv/pom.xml                                |  10 +-
 .../apache/calcite/adapter/csv/CsvFieldType.java   |   2 +-
 .../test/java/org/apache/calcite/test/CsvTest.java |  13 +-
 example/function/pom.xml                           |   4 +-
 example/pom.xml                                    |   4 +-
 file/pom.xml                                       |   4 +-
 .../apache/calcite/adapter/file/FileFieldType.java |   2 +-
 .../org/apache/calcite/adapter/file/SqlTest.java   |   9 +-
 geode/pom.xml                                      |   4 +-
 .../calcite/adapter/geode/rel/GeodeFilter.java     |  25 +-
 .../calcite/adapter/geode/rel/GeodeRules.java      |  26 ++
 .../adapter/geode/rel/GeodeAllDataTypesTest.java   |  28 +-
 .../adapter/geode/rel/GeodeBookstoreTest.java      |   3 +-
 .../calcite/adapter/geode/rel/GeodeZipsTest.java   |   2 +-
 linq4j/pom.xml                                     |   4 +-
 .../apache/calcite/linq4j/EnumerableDefaults.java  |   1 +
 .../calcite/linq4j/tree/ConstantExpression.java    |   2 +-
 .../calcite/linq4j/tree/FunctionExpression.java    |   5 +-
 .../org/apache/calcite/linq4j/tree/Primitive.java  |   2 +
 .../java/org/apache/calcite/linq4j/tree/Types.java |  24 --
 .../apache/calcite/linq4j/tree/VisitorImpl.java    |   3 +-
 .../calcite/linq4j/test/JoinPreserveOrderTest.java | 424 +++++++++++++++++++++
 .../apache/calcite/linq4j/test/Linq4jSuite.java    |   3 +-
 mongodb/pom.xml                                    |   4 +-
 .../mongodb/MongoToEnumerableConverter.java        |   4 +-
 .../calcite/adapter/mongodb/MongoAdapterTest.java  |  59 ++-
 .../org/apache/calcite/test/MongoAssertions.java   |   9 +-
 pig/pom.xml                                        |   4 +-
 .../calcite/test/PigRelBuilderStyleTest.java       |   3 +-
 piglet/pom.xml                                     |   4 +-
 .../org/apache/calcite/test/CalciteHandler.java    |   3 +-
 plus/pom.xml                                       |  15 +-
 .../apache/calcite/adapter/os/OsAdapterTest.java   |  13 +-
 .../apache/calcite/adapter/tpcds/TpcdsTest.java    |   8 +-
 .../org/apache/calcite/adapter/tpch/TpchTest.java  |   7 +-
 .../materialize/TpcdsLatticeSuggesterTest.java     |   4 +-
 pom.xml                                            |  47 +--
 server/pom.xml                                     |   4 +-
 server/src/main/codegen/config.fmpp                |   3 +
 .../org/apache/calcite/sql/ddl/SqlCreateTable.java |   4 +
 .../java/org/apache/calcite/test/ServerTest.java   |   8 +
 server/src/test/resources/sql/type.iq              |  34 +-
 site/README.md                                     |  30 +-
 site/_docs/algebra.md                              |   1 +
 site/_docs/elasticsearch_adapter.md                |   8 +-
 site/_docs/file_adapter.md                         |   4 +-
 site/_docs/history.md                              | 221 +++++++++++
 site/_docs/howto.md                                |   4 +-
 site/_docs/index.md                                |   2 +-
 site/_docs/os_adapter.md                           |   2 +-
 site/_docs/reference.md                            |  59 ++-
 site/develop/index.md                              |   2 +-
 site/docker-compose.yml                            |   2 +-
 spark/pom.xml                                      |   4 +-
 .../adapter/spark/JdbcToSparkConverter.java        |   4 +-
 .../calcite/adapter/spark/SparkHandlerImpl.java    |  15 +-
 .../org/apache/calcite/test/SparkAdapterTest.java  |   8 +-
 splunk/pom.xml                                     |   4 +-
 .../calcite/adapter/splunk/SplunkTableScan.java    |   4 +-
 .../org/apache/calcite/test/SplunkAdapterTest.java |  17 +-
 src/main/config/assemblies/source-assembly.xml     |   2 +
 src/main/config/checkstyle/checker.xml             |   6 +-
 src/main/config/checkstyle/suppressions.xml        |   1 +
 ubenchmark/pom.xml                                 |  21 +-
 .../enumerable/CodeGenerationBenchmark.java        | 286 ++++++++++++++
 .../AbstractRelNodeGetRelTypeNameBenchmark.java    | 261 +++++++++++++
 .../benchmarks/StringConstructBenchmark.java       | 173 +++++++++
 326 files changed, 10015 insertions(+), 2710 deletions(-)
 rename core/src/main/java/org/apache/calcite/adapter/enumerable/{SequencedAdderAggregateLambdaFactory.java => BasicAggregateLambdaFactory.java} (94%)
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/BasicLazyAccumulator.java
 rename core/src/main/java/org/apache/calcite/adapter/enumerable/{OrderedAggregateLambdaFactory.java => LazyAggregateLambdaFactory.java} (69%)
 create mode 100644 core/src/main/java/org/apache/calcite/config/CalciteSystemProperty.java
 create mode 100644 core/src/main/java/org/apache/calcite/rel/core/Snapshot.java
 create mode 100644 core/src/main/java/org/apache/calcite/rel/logical/LogicalSnapshot.java
 copy core/src/main/java/org/apache/calcite/{interpreter/Node.java => rex/RexDigestIncludeType.java} (79%)
 copy example/csv/src/main/java/org/apache/calcite/adapter/csv/package-info.java => core/src/main/java/org/apache/calcite/schema/TemporalTable.java (67%)
 create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlSnapshot.java
 copy core/src/main/java/org/apache/calcite/sql/dialect/{RedshiftSqlDialect.java => SparkSqlDialect.java} (62%)
 copy core/src/main/java/org/apache/calcite/sql/fun/{SqlAnyValueAggFunction.java => SqlBitOpAggFunction.java} (62%)
 copy core/src/main/java/org/apache/calcite/sql/fun/{SqlJsonExistsFunction.java => SqlJsonDepthFunction.java} (53%)
 copy core/src/main/java/org/apache/calcite/sql/fun/{SqlJsonExistsFunction.java => SqlJsonPrettyFunction.java} (53%)
 copy core/src/main/java/org/apache/calcite/sql/fun/{SqlJsonApiCommonSyntaxOperator.java => SqlJsonTypeFunction.java} (54%)
 delete mode 100644 core/src/main/java/org/apache/calcite/util/ClosableAllocation.java
 delete mode 100644 core/src/main/java/org/apache/calcite/util/ClosableAllocationOwner.java
 delete mode 100644 core/src/main/java/org/apache/calcite/util/CompoundClosableAllocation.java
 create mode 100644 core/src/test/java/org/apache/calcite/adapter/enumerable/PhysTypeTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/jdbc/JavaTypeFactoryTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/rel/rules/SortRemoveRuleTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/rex/RexSqlStandardConvertletTableTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/schemas/HrClusteredSchema.java
 create mode 100644 core/src/test/java/org/apache/calcite/sql/validate/LexEscapeTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/RelMdPercentageOriginalRowsTest.java
 copy core/src/test/java/org/apache/calcite/test/{package-info.java => SlowTests.java} (87%)
 mode change 100755 => 100644 core/src/test/resources/sql/agg.iq
 mode change 100755 => 100644 core/src/test/resources/sql/spatial.iq
 copy babel/src/test/resources/sql/dummy.iq => core/src/test/resources/sql/struct.iq (68%)
 mode change 100755 => 100644
 delete mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ExpressionNotAnalyzableException.java
 create mode 100644 linq4j/src/test/java/org/apache/calcite/linq4j/test/JoinPreserveOrderTest.java
 create mode 100644 ubenchmark/src/main/java/org/apache/calcite/adapter/enumerable/CodeGenerationBenchmark.java
 create mode 100644 ubenchmark/src/main/java/org/apache/calcite/benchmarks/AbstractRelNodeGetRelTypeNameBenchmark.java
 create mode 100644 ubenchmark/src/main/java/org/apache/calcite/benchmarks/StringConstructBenchmark.java