You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by hy...@apache.org on 2020/05/24 04:06:38 UTC

[calcite] branch site updated (d2e2d7c -> b708fdc)

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

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


 discard d2e2d7c  Site: Change affiliation of Stamatis Zampetakis
 discard 3a1e312  Site: Add Forward Xu, Jin Xing, Wang Yanlin, as committers
 discard bcfb500  Site: Add Vineet Garg as committer
 discard f7d7079  Site: Add Feng Zhu as committer
     add 0f7dcfb  [CALCITE-3819] Prune parent RelNode when merging child RelSet with parent RelSet
     add 74536b7  [CALCITE-3838] Support Calc in RelMdSize,RelMdSelectivity,RelMdMaxRowCount,RelMdMinRowCount,RelMdTableReferences
     add b632152  [CALCITE-3839] After calling RelBuilder.aggregate, cannot lookup field by name
     add 91f5bb5  [CALCITE-3412] FLOOR(timestamp TO WEEK) gives wrong result
     add 4208d0b  [CALCITE-3823] Do not use String.replaceAll
     add 80e6b02  [CALCITE-3753] Remove rule queue importance
     add 15fa9bc  [CALCITE-3753] Introduce SubstitutionRule interface and execute substitutional rule first
     add 8d4820f  [CALCITE-3847] Decorrelation for join with lateral table outputs wrong plan if the join condition contains correlation variables
     add ad8cf7e  [CALCITE-3845] CASE WHEN expression with nullability CAST is considered as reduced wrongly in ReduceExpressionsRule
     add 18b9bc3  [CALCITE-3848] Rewriting for materialized view consisting of group by on join keys fails with Mappings$NoElementException (Vineet Garg)
     add bc2d7e1  [CALCITE-3853] Minor improvements in SortJoinCopyRule
     add b523007  [CALCITE-3855] Supports snapshot on table with virtual columns during sql-to-rel conversion
     add 4c3cef9  [CALCITE-3856] Remove code to be removed before 1.23
     add 1eff60b  [CALCITE-3704] Implement STRCMP function
     add f11115a  [CALCITE-3815] Add missing SQL standard aggregate functions: EVERY, SOME, INTERSECTION
     add 6dfcfb4  [CALCITE-3726] Allow declaring type objects (ritesh-kapoor)
     add 468f019  [CALCITE-3647] MySQL COMPRESS function support (ritesh-kapoor)
     add d234626  [CALCITE-3694] Implement SINH function
     add 0e345fd  [CALCITE-3862] Materialized view rewriting algorithm throws IndexOutOfBoundsException (Vineet Garg)
     add 2f507f1  [CALCITE-3634] Add IntersectOnCalcsToIntersectUnifyRule for materialized view recognition (dz)
     add a8aa439  [CALCITE-3852] RexSimplify doesn't simplify NOT EQUAL predicates
     add f76ddd1  [CALCITE-3285] EnumerableMergeJoin should support non-equi join conditions
     add 79d5001  [CALCITE-3810] Render ANTI and SEMI join to NOT EXISTS and EXISTS in the JDBC adapter. Also add forgotten IS_DISTINCT_FROM translation support
     add 893d41f  [CALCITE-3840] Re-aliasing of VALUES that has column aliases produces wrong SQL in the JDBC adapter
     add ee9f35c  Bump release-plugins: 1.61 -> 1.65
     add 4a644e5  [CALCITE-3660] Disable PigRelBuilderStyleTest#testImplWithJoin since it fails too often for no reason
     add ffcfb92  [CALCITE-3829] MergeJoinEnumerator should not use inputs enumerators until it is really required
     add c60f675  Update Gradle: 6.1.1 -> 6.3
     add 989fc12  [CALCITE-3660] Disable PigRelBuilderStyleTest#testScanAndFilter since it fails too often for no reason
     add ebbba56  [CALCITE-3871] Remove dependency of org.apiguardian:apiguardian-api
     add 8a80b72  [CALCITE-3846] EnumerableMergeJoin: wrong comparison of composite key with null values
     add 888dd3a  [CALCITE-3684] Supports CONCAT for variable arguments (Wenhui Tang)
     add 1c261eb  [CALCITE-3882] Remove duplicated code from SqlTypeAssignmentRule (Wenhui Tang)
     add 6218661  [CALCITE-3867] Support RelDistribution json serialization (Krisztian Kasa)
     add 08f4a98  [CALCITE-3886] Execute substitution rule according to the order they get matched
     add 7d4c969  Following [CALCITE-3819] Prune parent RelNode when merging child RelSet with parent RelSet
     add 56c4c42  [CALCITE-3885] Restore trace logging for rules queue and Volcano planner's internal state (Roman Kondakov)
     add a0ef3c9  [CALCITE-3660] Disable flaky test PigRelBuilderStyleTest
     add 4a8e105  [CALCITE-3888] Switch avatica-server to be test dependency for core
     add 0be2961  Site: Fix links to javadoc
     add b4ad630  Simplify buildSqllineClasspath build tasks
     add 8849b62  [CALCITE-3880] Add SortExchange support to RelFieldTrimmer (Krisztian Kasa)
     add 7792d57  [CALCITE-3891] Remove use of Pair.zip in RelTraitSet
     add b9a0fac  Update release-plugins: 1.65 -> 1.70
     add d0180d1  Add icon for JetBrains Toolbox
     add df3e3c6  [CALCITE-3876] RelToSqlConverter should not merge a Project that contains a window function that references a window function in input Project
     add ddda872  [CALCITE-3877] In RexWindow, make fields upperBound and lowerBound not-nullable
     add f1b2d3c  [CALCITE-3814] Support JDK 14 and guava 28.2-jre
     add 9492dd4  [CALCITE-3892] Make junit test classes and methods non-public where possible
     add 38e2566  Add JIRA links in Git in IDEA
     add ddafe14  [CALCITE-3872] Simplify expressions with unary minus
     add 15152b6  [CALCITE-3851] Replace the node importance map with a set for pruned nodes
     add 4eaed59  [CALCITE-3835] Overloaded table functions fail with an assertion error if param types differ
     add c545ef4  [CALCITE-3726] Documentation for Declaring Objects For Types Defined In Schema (ritesh-kapoor)
     add c3147f4  [CALCITE-3898] RelOptPredicateList may generate incorrect map of constant values
     add 5f7c51d  Site: Add Feng Zhu as committer
     add 1e6f78b  Revert "[CALCITE-3871] Remove dependency of org.apiguardian:apiguardian-api"
     add 2bdbd95  Specify pigunit.version=0.16.0 in gradle.properties
     add 03fb20d  Add github pull request link in git commit messages in IDEA
     add 16c9c36  [CALCITE-3908] JoinCommuteRule should update all input references in join condition
     add 4e98700  [CALCITE-3900] Add Config for SqlValidator
     add c9acc5b  Make ubenchmark clases executable from IDEA
     add f93fc1d  [CALCITE-3833] Support SemiJoin in EnumerableMergeJoin
     add 3755eb5  [CALCITE-3912] Incorrect mapping parsing when properties have same name as reserved keywords in ElasticSearch
     add ee1a9d2  [CALCITE-3914] Improve SubstitutionVisitor to consider RexCall of type PLUS and TIMES for canonicalization (Vineet Garg)
     add f17367e  [CALCITE-2970] Add AbstractConverter only between derived and required traitset
     add e7095a2  [CALCITE-3865] RelCollationTraitDef.canConvert should always return true
     add 8639729  Add AvoidStarImport Checkstyle rule
     add b457999  [CALCITE-2593] [CALCITE-2010] Plan error when transforming multiple collations to single collation
     add 147b7a5  [CALCITE-3576] Remove enumerable convention check in FilterIntoJoinRule
     add 933e9c7  [CALCITE-3909] RelMdMinRowCount doesn't take into account UNION DISTINCT
     add 9262d8d  [CALCITE-3733] In JDBC adapter, when generating SQL for MYSQL, generate TIMESTAMP type as DATETIME for CAST (Vineet Garg)
     add f1857aa  [CALCITE-3324] Set updateCount when creating MetaResultSet (Robert Yokota)
     add 43261e4  [CALCITE-3881] SqlFunctions#addMonths yields incorrect results in some corner case (Zhenghua Gao)
     add dfb842e  [CALCITE-3924] Fix flakey test to handle TIMESTAMP and TIMESTAMP(0) correctly (neoReMinD)
     add 2798d90  [CALCITE-3894] SET operation between DATE and TIMESTAMP returns a wrong result
     add 39e5856  [CALCITE-2157] ClickHouse dialect implementation (Chris Baynes)
     add fbfb58e  [CALCITE-3790] Make the url() of Sources.of(file) available
     add 826c1cd  Avoid failures in SourceTest when filesystem does not support unicode paths
     add 33daf82  Disable SourceTest#testAbsoluteFileToUrl until we really fix that
     add 238cf03  [CALCITE-3934] Allow type-coercion in CONCAT operator
     add 5c2b158  [CALCITE-3931] Add LOOKAHEAD(2) for methods defined in createStatementParserMethods
     add bf0ca49  [CALCITE-3447] MutableScans with the same qualified name are not equivalent (Dai Min, Jin Xing)
     add eed3d1b  [CALCITE-3940] Hint item can not parse correctly if the name is right after token /*+
     add 90f3e98  [CALCITE-3868] Remove redundant ruleSet and ruleNames in VolcanoPlanner
     add ff71266  [CALCITE-3927] RelSubset is not fired for rule when set gets merged (Botong Huang)
     add 6da2086  [CALCITE-3937] Fire rule for RelSubset only when it is derived
     add 53bbd2d  [CALCITE-3947] AbstractRelOptPlanner.classes should be LinkedHashSet so that rule match order is deterministic across runs
     add 21777f1  [CALCITE-3944] Move dumpSets and dumpGraphviz out of VolcanoPlanner
     add a136dc4  [CALCITE-3939] Change UnionEliminatorRule and ProjectRemoveRule to auto pruning SubstitutionRule (Botong Huang)
     add 3807696  [CALCITE-3942] Move type-coercion configurations into SqlValidator.Config
     add 55c5853  [CALCITE-3758] FilterTableScanRule generate wrong mapping for filter condition when underlying is BindableTableScan (Jin Xing)
     add d3286ad  [CALCITE-3948] RelSubset matching is not properly handled in VolcanoRuleCall (Botong Huang)
     add 789a2ae  [CALCITE-3915] Add rule listener to report rule attempts and time at DEBUG log level (Xiening Dai)
     add af8c8ef  Revert "[CALCITE-3947] AbstractRelOptPlanner.classes should be LinkedHashSet so that rule match order is deterministic across runs"
     add f62d6b9  [CALCITE-3955] Remove the first operand of RexCall from SqlWindowTableFunction
     add 2129000  [CALCITE-3954] Always compare types using equals
     add e44beba  [CALCITE-3789] Supports Presto style unnest with items alias (Will Yu)
     add 914b6c5  Revert "[CALCITE-3937] Fire rule for RelSubset only when it is derived"
     add 11c8868  [CALCITE-3949] RelDistributions.of() and RelCollations.of() should canonize trait instance
     add 650ce46  [CALCITE-3878] Create ArrayList with initial capacity when size is known (Xu Zhang)
     add 0e00d65  [CALCITE-3827] Reduce the time complexity of finding in-edges of a vertex in the graph (Liya Fan)
     add 9adf4a4  [CALCITE-3938] Support LogicalCalc in RelShuttle (dz)
     add f1c0756  [CALCITE-3962] Make JSON_VALUE operands varadic
     add 24dd266  [CALCITE-3928] Trim unused fields before materialized view matching (dz)
     add f8993e4  Site: Add Vineet Garg as committer
     add 0c1f1e8  Site: Add Forward Xu, Jin Xing, Wang Yanlin, as committers
     add 22bfcf0  Site: Change affiliation of Stamatis Zampetakis
     add 4787cba  [CALCITE-3889] Add apply(Mappings.Mapping) to RelTrait and RelTraitSet
     add 5489174  Add Maven Central badge to README.md
     add d6cc11b  Disable TpcdsTest.testTableCount()
     add 69fb7e0  Disable count table tests in TpchTest
     add ac7d2b6  [CALCITE-3921] Support TableModify json serialization and deserialization (Wang Yanlin)
     add eb57665  [CALCITE-3958] Revise documentation of gradle.properties in Cassandra/Piglet and SubstitutionVisitor (xzh)
     add 0cdb7a8  [CALCITE-3718] Support Intersect and Minus in Bindables (xzh)
     add e722414  [CALCITE-3966] Trigger rules for existing RelSubset when it becomes delivered
     add d1aae57  [CALCITE-3971] Support Calc in RelMdColumnOrigins (Xu ZhaoHui)
     add cecfece  [CALCITE-3887] Filter and Join conditions may not need to retain nullability during simplifications
     add e455734  Fix rawclass issues
     add 0220166  [CALCITE-3965] Avoid DiffRepository lock contention
     add 22fca8e  [CALCITE-3973] Hints should not unparse as enclosed in parentheses (Alex Baden)
     add e3fe745  [CALCITE-3926] CannotPlanException when an empty LogicalValues requires a certain collation
     add 92eaf56  Site: Add Ant Financial logo in powered-by image (Wang Yanlin)
     add e081c5b  [CALCITE-3866] "numeric field overflow" when running the generated SQL in PostgreSQL (Wenhui Tang)
     add 40e588d  [CALCITE-3737] HOP Table Function (Rui Wang)
     add 890eb61  [CALCITE-3780] SESSION Table function (Rui Wang)
     add 2a4779f  [CALCITE-3961] VolcanoPlanner.prunedNodes info is lost when duplicate relNode is discarded (Botong Huang)
     add 09b13cf  [CALCITE-3980] Redis-adapter redis connection is not reused when RedisTable is created (Xu Zhang)
     add 9c31d9e  [CALCITE-3896] Top down trait request
     add ef28c9b  [CALCITE-3983] Add utility methods to RelTraitSet
     add 916f1e7  Disable time-wasting test
     add 2730b4b  [CALCITE-3984] Support exchange operator in RelFieldTrimmer (Xu Zhaohui)
     add de3bef9  [CALCITE-3982] Simplify FilterMergeRule to rely on RelBuilder instead of RexProgram
     add 888e879  [CALCITE-3969] Trait keys remapping may throw exception when some trait key is not mapped (Roman Kondakov)
     add 2e30293  The release tag should be 'calcite-N.N' not 'vN.N'
     add ffa22f7  [CALCITE-3979] Simplification might have removed CAST expression(s) incorrectly
     add 7be30db  [CALCITE-3997] Logical rules matched with physical operators but failed to handle traits
     add 05376d6  Following [CALCITE-3997] Remove TransformationRule from CalcMergeRule temporarily
     add b708fdc  [CALCITE-3989] Release Calcite 1.23.0

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   (d2e2d7c)
            \
             N -- N -- N   refs/heads/site (b708fdc)

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:
 .github/workflows/main.yml                         |    6 +-
 .gitignore                                         |    6 +-
 .idea/icon.png                                     |  Bin 0 -> 6717 bytes
 .idea/vcs.xml                                      |   20 +
 .ratignore                                         |    3 +-
 .travis.yml                                        |    1 +
 README                                             |    2 +-
 README.md                                          |    4 +-
 .../org/apache/calcite/test/BabelParserTest.java   |   26 +-
 .../org/apache/calcite/test/BabelQuidemTest.java   |    2 +-
 .../java/org/apache/calcite/test/BabelTest.java    |    4 +-
 babel/src/test/resources/sql/redshift.iq           |   74 +-
 build.gradle.kts                                   |   33 +-
 .../apache/calcite/buildtools/javacc/JavaCCTask.kt |   12 +-
 cassandra/gradle.properties                        |    4 +-
 .../test/CassandraAdapterDataTypesTest.java        |   22 +-
 .../apache/calcite/test/CassandraAdapterTest.java  |   24 +-
 core/build.gradle.kts                              |    2 +-
 core/src/main/codegen/config.fmpp                  |    1 +
 core/src/main/codegen/templates/Parser.jj          |   70 +-
 .../calcite/adapter/enumerable/EnumUtils.java      |  274 ++++-
 .../enumerable/EnumerableAggregateRule.java        |    6 +-
 .../adapter/enumerable/EnumerableConvention.java   |   22 +-
 .../adapter/enumerable/EnumerableMergeJoin.java    |  147 ++-
 .../enumerable/EnumerableMergeJoinRule.java        |   28 +-
 .../enumerable/EnumerableNestedLoopJoin.java       |    6 +-
 .../calcite/adapter/enumerable/EnumerableRel.java  |   23 +-
 .../adapter/enumerable/EnumerableRules.java        |    3 +
 .../enumerable/EnumerableSortedAggregate.java      |   96 ++
 ...ule.java => EnumerableSortedAggregateRule.java} |   44 +-
 .../enumerable/EnumerableTableFunctionScan.java    |    6 +-
 .../adapter/enumerable/EnumerableUncollect.java    |    3 +-
 .../adapter/enumerable/EnumerableUnionRule.java    |   10 +-
 .../adapter/enumerable/EnumerableValues.java       |    2 +-
 .../adapter/enumerable/EnumerableValuesRule.java   |    9 +-
 .../calcite/adapter/enumerable/RexImpTable.java    |  226 +++-
 .../adapter/enumerable/RexToLixTranslator.java     |    8 +-
 ...ntor.java => TableFunctionCallImplementor.java} |    2 +-
 .../org/apache/calcite/adapter/jdbc/JdbcRules.java |    5 +
 .../calcite/config/CalciteSystemProperty.java      |    9 +
 .../org/apache/calcite/interpreter/Bindables.java  |  112 +-
 .../apache/calcite/jdbc/CalciteConnectionImpl.java |    4 +-
 .../org/apache/calcite/jdbc/CalciteMetaImpl.java   |   11 +-
 .../apache/calcite/plan/AbstractRelOptPlanner.java |  147 ++-
 .../java/org/apache/calcite/plan/Convention.java   |   30 +-
 .../java/org/apache/calcite/plan/DeriveMode.java   |   59 ++
 .../calcite/plan/RelOptMaterializations.java       |   22 +
 .../org/apache/calcite/plan/RelOptPlanner.java     |   15 +
 .../java/org/apache/calcite/plan/RelOptRule.java   |    4 +-
 .../java/org/apache/calcite/plan/RelOptUtil.java   |   10 +-
 .../java/org/apache/calcite/plan/RelTrait.java     |   25 +
 .../java/org/apache/calcite/plan/RelTraitDef.java  |    1 +
 .../java/org/apache/calcite/plan/RelTraitSet.java  |  153 ++-
 .../apache/calcite/plan/SubstitutionVisitor.java   |  158 ++-
 .../org/apache/calcite/plan/hep/HepPlanner.java    |   32 +-
 .../calcite/plan/volcano/AbstractConverter.java    |    4 +
 .../org/apache/calcite/plan/volcano/Dumpers.java   |  339 ++++++
 .../apache/calcite/plan/volcano/OptimizeTask.java  |  344 ++++++
 .../org/apache/calcite/plan/volcano/RelSet.java    |  262 +++--
 .../org/apache/calcite/plan/volcano/RelSubset.java |   91 +-
 .../org/apache/calcite/plan/volcano/RuleQueue.java |  488 ++-------
 .../calcite/plan/volcano/VolcanoPlanner.java       |  696 +++---------
 .../calcite/plan/volcano/VolcanoRuleCall.java      |   57 +-
 .../calcite/plan/volcano/VolcanoRuleMatch.java     |  101 --
 ...nnerPhase.java => VolcanoTimeoutException.java} |   11 +-
 .../calcite/prepare/CalciteMaterializer.java       |    4 +
 .../apache/calcite/prepare/CalcitePrepareImpl.java |   13 +-
 .../calcite/prepare/CalciteSqlValidator.java       |    5 +-
 .../org/apache/calcite/prepare/PlannerImpl.java    |   27 +-
 .../java/org/apache/calcite/prepare/Prepare.java   |    5 +-
 .../org/apache/calcite/rel/AbstractRelNode.java    |    4 +
 .../java/org/apache/calcite/rel/PhysicalNode.java  |  154 +++
 .../org/apache/calcite/rel/RelCollationImpl.java   |   25 +
 .../apache/calcite/rel/RelCollationTraitDef.java   |   15 +-
 .../java/org/apache/calcite/rel/RelCollations.java |   34 +-
 .../org/apache/calcite/rel/RelDistribution.java    |   18 +
 .../org/apache/calcite/rel/RelDistributions.java   |   43 +-
 .../main/java/org/apache/calcite/rel/RelNode.java  |   11 +
 .../main/java/org/apache/calcite/rel/RelRoot.java  |    2 +-
 .../java/org/apache/calcite/rel/RelShuttle.java    |    3 +
 .../org/apache/calcite/rel/RelShuttleImpl.java     |    5 +
 .../org/apache/calcite/rel/core/RelFactories.java  |   79 +-
 .../java/org/apache/calcite/rel/core/Sort.java     |    5 +
 .../org/apache/calcite/rel/core/TableModify.java   |   25 +-
 .../org/apache/calcite/rel/core/TableScan.java     |    5 +-
 .../org/apache/calcite/rel/core/Uncollect.java     |   63 +-
 .../java/org/apache/calcite/rel/core/Window.java   |   65 +-
 .../calcite/rel/externalize/RelEnumTypes.java      |    2 +
 .../apache/calcite/rel/externalize/RelJson.java    |   58 +-
 .../calcite/rel/externalize/RelJsonReader.java     |    5 +-
 .../apache/calcite/rel/logical/LogicalJoin.java    |   30 -
 .../apache/calcite/rel/logical/LogicalProject.java |   12 -
 .../calcite/rel/logical/LogicalSortExchange.java   |    8 +
 .../calcite/rel/logical/LogicalTableModify.java    |    8 +
 .../calcite/rel/logical/LogicalTableScan.java      |    6 -
 .../apache/calcite/rel/logical/LogicalValues.java  |    6 +-
 .../calcite/rel/logical/ToLogicalConverter.java    |    6 +-
 .../calcite/rel/metadata/RelMdCollation.java       |   32 +-
 .../calcite/rel/metadata/RelMdColumnOrigins.java   |   63 +-
 .../calcite/rel/metadata/RelMdMaxRowCount.java     |    5 +
 .../calcite/rel/metadata/RelMdMinRowCount.java     |   17 +-
 .../calcite/rel/metadata/RelMdSelectivity.java     |   17 +
 .../org/apache/calcite/rel/metadata/RelMdSize.java |   11 +
 .../calcite/rel/metadata/RelMdTableReferences.java |    8 +
 .../apache/calcite/rel/mutable/MutableRels.java    |    6 +-
 .../apache/calcite/rel/mutable/MutableScan.java    |    5 +-
 .../apache/calcite/rel/mutable/MutableSetOp.java   |    2 +-
 .../calcite/rel/rel2sql/RelToSqlConverter.java     |  105 +-
 .../apache/calcite/rel/rel2sql/SqlImplementor.java |   37 +-
 .../rel/rules/AbstractJoinExtractFilterRule.java   |    3 +-
 .../rel/rules/AggregateCaseToFilterRule.java       |    5 +-
 .../AggregateExpandDistinctAggregatesRule.java     |    3 +-
 .../rel/rules/AggregateExtractProjectRule.java     |    3 +-
 .../rel/rules/AggregateFilterTransposeRule.java    |    3 +-
 .../rel/rules/AggregateJoinJoinRemoveRule.java     |    3 +-
 .../calcite/rel/rules/AggregateJoinRemoveRule.java |    2 +-
 .../rel/rules/AggregateJoinTransposeRule.java      |    2 +-
 .../calcite/rel/rules/AggregateMergeRule.java      |    2 +-
 .../rel/rules/AggregateProjectMergeRule.java       |    2 +-
 .../rules/AggregateProjectPullUpConstantsRule.java |    3 +-
 .../rel/rules/AggregateReduceFunctionsRule.java    |    3 +-
 .../calcite/rel/rules/AggregateRemoveRule.java     |    3 +-
 .../calcite/rel/rules/AggregateStarTableRule.java  |    2 +-
 .../rel/rules/AggregateUnionAggregateRule.java     |    2 +-
 .../rel/rules/AggregateUnionTransposeRule.java     |    2 +-
 .../calcite/rel/rules/AggregateValuesRule.java     |    4 +-
 .../apache/calcite/rel/rules/CalcMergeRule.java    |    2 +-
 .../apache/calcite/rel/rules/CalcRemoveRule.java   |    2 +-
 .../apache/calcite/rel/rules/CalcSplitRule.java    |    2 +-
 .../apache/calcite/rel/rules/CoerceInputsRule.java |    2 +-
 .../apache/calcite/rel/rules/DateRangeRules.java   |    2 +-
 .../rel/rules/ExchangeRemoveConstantKeysRule.java  |    7 +-
 .../rel/rules/FilterAggregateTransposeRule.java    |    2 +-
 .../calcite/rel/rules/FilterCalcMergeRule.java     |    2 +-
 .../calcite/rel/rules/FilterCorrelateRule.java     |    2 +-
 .../apache/calcite/rel/rules/FilterJoinRule.java   |   18 +-
 .../apache/calcite/rel/rules/FilterMergeRule.java  |   40 +-
 .../rel/rules/FilterMultiJoinMergeRule.java        |    2 +-
 .../rel/rules/FilterProjectTransposeRule.java      |    6 +-
 .../rules/FilterRemoveIsNotDistinctFromRule.java   |    3 +-
 .../rel/rules/FilterSetOpTransposeRule.java        |    2 +-
 .../rules/FilterTableFunctionTransposeRule.java    |    3 +-
 .../calcite/rel/rules/FilterTableScanRule.java     |    2 +-
 .../apache/calcite/rel/rules/FilterToCalcRule.java |    2 +-
 .../calcite/rel/rules/IntersectToDistinctRule.java |    2 +-
 .../rel/rules/JoinAddRedundantSemiJoinRule.java    |    3 +-
 .../calcite/rel/rules/JoinAssociateRule.java       |    2 +-
 .../apache/calcite/rel/rules/JoinCommuteRule.java  |   57 +-
 .../rel/rules/JoinProjectTransposeRule.java        |    2 +-
 .../calcite/rel/rules/JoinPushExpressionsRule.java |    2 +-
 .../calcite/rel/rules/JoinPushThroughJoinRule.java |    2 +-
 .../rules/JoinPushTransitivePredicatesRule.java    |    2 +-
 .../calcite/rel/rules/JoinToCorrelateRule.java     |    2 +-
 .../calcite/rel/rules/JoinToMultiJoinRule.java     |    2 +-
 .../calcite/rel/rules/JoinUnionTransposeRule.java  |    2 +-
 .../calcite/rel/rules/LoptOptimizeJoinRule.java    |    2 +-
 .../org/apache/calcite/rel/rules/MatchRule.java    |    2 +-
 .../rel/rules/MaterializedViewFilterScanRule.java  |    2 +-
 .../rel/rules/MultiJoinOptimizeBushyRule.java      |    2 +-
 .../calcite/rel/rules/ProjectCalcMergeRule.java    |    2 +-
 .../rel/rules/ProjectCorrelateTransposeRule.java   |    2 +-
 .../rel/rules/ProjectFilterTransposeRule.java      |    2 +-
 .../rel/rules/ProjectJoinJoinRemoveRule.java       |    3 +-
 .../calcite/rel/rules/ProjectJoinRemoveRule.java   |    2 +-
 .../rel/rules/ProjectJoinTransposeRule.java        |   11 +-
 .../apache/calcite/rel/rules/ProjectMergeRule.java |    8 +-
 .../rel/rules/ProjectMultiJoinMergeRule.java       |    2 +-
 .../calcite/rel/rules/ProjectRemoveRule.java       |   15 +-
 .../rel/rules/ProjectSetOpTransposeRule.java       |    2 +-
 .../rel/rules/ProjectSortTransposeRule.java        |    2 +-
 .../calcite/rel/rules/ProjectToCalcRule.java       |    2 +-
 .../calcite/rel/rules/ProjectToWindowRule.java     |    2 +-
 .../rel/rules/ProjectWindowTransposeRule.java      |    2 +-
 .../apache/calcite/rel/rules/PruneEmptyRules.java  |   62 +-
 .../calcite/rel/rules/ReduceDecimalsRule.java      |    2 +-
 .../calcite/rel/rules/ReduceExpressionsRule.java   |  109 +-
 .../rel/rules/SemiJoinFilterTransposeRule.java     |    2 +-
 .../rel/rules/SemiJoinJoinTransposeRule.java       |    2 +-
 .../rel/rules/SemiJoinProjectTransposeRule.java    |    2 +-
 .../calcite/rel/rules/SemiJoinRemoveRule.java      |    2 +-
 .../org/apache/calcite/rel/rules/SemiJoinRule.java |    2 +-
 .../apache/calcite/rel/rules/SortJoinCopyRule.java |    7 +-
 .../calcite/rel/rules/SortJoinTransposeRule.java   |    2 +-
 .../rel/rules/SortProjectTransposeRule.java        |    6 +-
 .../rel/rules/SortRemoveConstantKeysRule.java      |    7 +-
 .../apache/calcite/rel/rules/SortRemoveRule.java   |    2 +-
 .../calcite/rel/rules/SortUnionTransposeRule.java  |    2 +-
 .../calcite/rel/rules/SubQueryRemoveRule.java      |    2 +-
 .../rules/SubstitutionRule.java}                   |   30 +-
 .../apache/calcite/rel/rules/TableScanRule.java    |    2 +-
 .../calcite/rel/rules/TransformationRule.java      |   40 +
 .../calcite/rel/rules/UnionEliminatorRule.java     |   22 +-
 .../apache/calcite/rel/rules/UnionMergeRule.java   |    2 +-
 .../rel/rules/UnionPullUpConstantsRule.java        |    2 +-
 .../calcite/rel/rules/UnionToDistinctRule.java     |    2 +-
 .../apache/calcite/rel/rules/ValuesReduceRule.java |    4 +-
 .../materialize/MaterializedViewAggregateRule.java |   40 +-
 .../rules/materialize/MaterializedViewRule.java    |   14 +-
 .../org/apache/calcite/rel/stream/StreamRules.java |   33 +-
 .../apache/calcite/rel/type/RelDataTypeImpl.java   |    8 +-
 .../calcite/rel/type/RelDataTypeSystemImpl.java    |   16 +
 .../java/org/apache/calcite/rex/RexAnalyzer.java   |    4 +
 .../java/org/apache/calcite/rex/RexBuilder.java    |   43 +-
 .../java/org/apache/calcite/rex/RexLocalRef.java   |    2 +-
 .../main/java/org/apache/calcite/rex/RexOver.java  |    7 +-
 .../java/org/apache/calcite/rex/RexShuttle.java    |   34 +-
 .../java/org/apache/calcite/rex/RexSimplify.java   |   60 +-
 .../main/java/org/apache/calcite/rex/RexUtil.java  |   53 +-
 .../java/org/apache/calcite/rex/RexWindow.java     |  130 ++-
 .../org/apache/calcite/rex/RexWindowBound.java     |  177 +---
 .../org/apache/calcite/rex/RexWindowBounds.java    |  201 ++++
 .../calcite/runtime/CompressionFunctions.java      |   65 ++
 .../org/apache/calcite/runtime/JsonFunctions.java  |   10 +-
 .../org/apache/calcite/runtime/SqlFunctions.java   |   47 +-
 .../java/org/apache/calcite/schema/Schemas.java    |    4 +-
 .../org/apache/calcite/sql/SqlCallBinding.java     |    8 +
 .../java/org/apache/calcite/sql/SqlDialect.java    |   19 +-
 .../apache/calcite/sql/SqlDialectFactoryImpl.java  |    5 +
 .../java/org/apache/calcite/sql/SqlFunction.java   |   19 +-
 .../apache/calcite/sql/SqlHopTableFunction.java    |   69 ++
 .../org/apache/calcite/sql/SqlInfixOperator.java   |    4 -
 .../apache/calcite/sql/SqlJsonEmptyOrError.java    |    4 +-
 .../calcite/sql/SqlJsonExistsErrorBehavior.java    |    2 +-
 .../sql/SqlJsonValueEmptyOrErrorBehavior.java      |   11 +-
 ...lAccessEnum.java => SqlJsonValueReturning.java} |    6 +-
 .../main/java/org/apache/calcite/sql/SqlKind.java  |    6 +-
 .../java/org/apache/calcite/sql/SqlOperator.java   |    4 +-
 .../org/apache/calcite/sql/SqlSelectOperator.java  |    2 +-
 .../calcite/sql/SqlSessionTableFunction.java       |   71 ++
 .../calcite/sql/SqlSplittableAggFunction.java      |    9 +-
 .../apache/calcite/sql/SqlTumbleTableFunction.java |   65 ++
 ...ructor.java => SqlTypeConstructorFunction.java} |   44 +-
 .../org/apache/calcite/sql/SqlUnnestOperator.java  |   11 +-
 .../main/java/org/apache/calcite/sql/SqlUtil.java  |   68 +-
 .../java/org/apache/calcite/sql/SqlWindow.java     |   62 +-
 .../apache/calcite/sql/SqlWindowTableFunction.java |   49 +-
 .../{SqlSelectKeyword.java => Symbolizable.java}   |   13 +-
 .../calcite/sql/advise/SqlAdvisorValidator.java    |    7 +-
 .../calcite/sql/dialect/BigQuerySqlDialect.java    |    4 -
 .../calcite/sql/dialect/ClickHouseSqlDialect.java  |  242 +++++
 .../calcite/sql/dialect/MysqlSqlDialect.java       |    9 +
 .../apache/calcite/sql/fun/SqlCaseOperator.java    |    4 +-
 .../calcite/sql/fun/SqlDatetimePlusOperator.java   |    5 -
 .../sql/fun/SqlDatetimeSubtractionOperator.java    |    5 -
 .../org/apache/calcite/sql/fun/SqlInOperator.java  |    4 +-
 .../calcite/sql/fun/SqlJsonExistsFunction.java     |   13 +-
 .../calcite/sql/fun/SqlJsonValueFunction.java      |  192 ++--
 .../calcite/sql/fun/SqlLibraryOperators.java       |   46 +-
 .../calcite/sql/fun/SqlMinMaxAggFunction.java      |   11 +-
 .../org/apache/calcite/sql/fun/SqlRowOperator.java |    7 -
 .../calcite/sql/fun/SqlStdOperatorTable.java       |   72 +-
 .../apache/calcite/sql/parser/SqlParserUtil.java   |   12 +-
 .../apache/calcite/sql/pretty/SqlPrettyWriter.java |    8 +-
 .../org/apache/calcite/sql/type/BasicSqlType.java  |   13 -
 .../sql/type/ComparableOperandTypeChecker.java     |    2 +-
 .../sql/type/CompositeOperandTypeChecker.java      |   54 +-
 .../sql/type/ExplicitOperandTypeChecker.java       |   75 ++
 .../calcite/sql/type/FamilyOperandTypeChecker.java |    4 +-
 .../org/apache/calcite/sql/type/ReturnTypes.java   |   53 +
 .../SameOperandTypeExceptLastOperandChecker.java   |    2 +-
 .../calcite/sql/type/SetopOperandTypeChecker.java  |    2 +-
 .../calcite/sql/type/SqlTypeAssignmentRule.java    |    6 -
 .../calcite/sql/type/SqlTypeCoercionRule.java      |    5 +-
 .../org/apache/calcite/sql/type/SqlTypeUtil.java   |   17 +-
 .../calcite/sql/validate/IdentifierNamespace.java  |    2 +-
 .../apache/calcite/sql/validate/OrderByScope.java  |    2 +-
 .../sql/validate/SqlAbstractConformance.java       |    3 +
 .../calcite/sql/validate/SqlConformance.java       |   64 +-
 .../calcite/sql/validate/SqlConformanceEnum.java   |   21 +
 .../sql/validate/SqlDelegatingConformance.java     |    4 +
 .../apache/calcite/sql/validate/SqlValidator.java  |  240 ++++-
 .../calcite/sql/validate/SqlValidatorImpl.java     |  140 +--
 .../calcite/sql/validate/SqlValidatorUtil.java     |    8 +-
 .../validate/implicit/AbstractTypeCoercion.java    |   39 +-
 .../validate/implicit/TypeCoercionFactory.java}    |   27 +-
 .../sql/validate/implicit/TypeCoercionImpl.java    |   48 +-
 .../sql/validate/implicit/TypeCoercions.java       |   10 +-
 .../apache/calcite/sql2rel/AuxiliaryConverter.java |    2 +-
 .../apache/calcite/sql2rel/RelDecorrelator.java    |    8 +
 .../apache/calcite/sql2rel/RelFieldTrimmer.java    |   84 ++
 .../sql2rel/RelStructuredTypeFlattener.java        |   20 +
 .../apache/calcite/sql2rel/SqlToRelConverter.java  |  180 ++--
 .../calcite/sql2rel/StandardConvertletTable.java   |   52 +-
 .../org/apache/calcite/tools/FrameworkConfig.java  |    6 +
 .../java/org/apache/calcite/tools/Frameworks.java  |   18 +-
 .../java/org/apache/calcite/tools/RelBuilder.java  |   36 +-
 .../java/org/apache/calcite/util/BitString.java    |    2 +-
 .../org/apache/calcite/util/BuiltInMethod.java     |   20 +-
 .../org/apache/calcite/util/ImmutableBeans.java    |    9 +-
 .../java/org/apache/calcite/util/Permutation.java  |   12 +-
 .../main/java/org/apache/calcite/util/Sources.java |   51 +-
 .../main/java/org/apache/calcite/util/Util.java    |    2 +-
 .../util/graph/AttributedDirectedGraph.java        |   28 +-
 .../calcite/util/graph/DefaultDirectedGraph.java   |   94 +-
 .../apache/calcite/util/graph/DirectedGraph.java   |    2 +
 .../org/apache/calcite/util/mapping/Mappings.java  |   79 +-
 .../apache/calcite/util/trace/CalciteTrace.java    |   14 +
 .../calcite/adapter/clone/ArrayTableTest.java      |   24 +-
 .../calcite/adapter/enumerable/EnumUtilsTest.java  |    8 +-
 .../calcite/adapter/enumerable/PhysTypeTest.java   |    6 +-
 .../calcite/adapter/enumerable/TypeFinderTest.java |   10 +-
 .../calcite/jdbc/CalciteRemoteDriverTest.java      |   58 +-
 .../apache/calcite/jdbc/JavaTypeFactoryTest.java   |   10 +-
 .../calcite/materialize/LatticeSuggesterTest.java  |   36 +-
 .../materialize/NormalizationTrimFieldTest.java    |  103 ++
 .../apache/calcite/plan/RelOptPlanReaderTest.java  |    8 +-
 .../org/apache/calcite/plan/RelOptUtilTest.java    |   28 +-
 .../java/org/apache/calcite/plan/RelTraitTest.java |   45 +-
 .../org/apache/calcite/plan/RelWriterTest.java     |  289 ++++-
 .../plan/volcano/CollationConversionTest.java      |    5 +-
 .../apache/calcite/plan/volcano/ComboRuleTest.java |    4 +-
 .../apache/calcite/plan/volcano/PlannerTests.java  |   20 +-
 .../calcite/plan/volcano/TraitConversionTest.java  |    5 +-
 .../calcite/plan/volcano/TraitPropagationTest.java |    4 +-
 .../calcite/plan/volcano/VolcanoPlannerTest.java   |  136 ++-
 .../plan/volcano/VolcanoPlannerTraitTest.java      |   10 +-
 .../prepare/LookupOperatorOverloadsTest.java       |   14 +-
 .../org/apache/calcite/profile/ProfilerTest.java   |   27 +-
 .../org/apache/calcite/rel/RelCollationTest.java   |   66 +-
 .../apache/calcite/rel/RelDistributionTest.java    |   50 +-
 .../rel/logical/ToLogicalConverterTest.java        |   42 +-
 .../rel/rel2sql/RelToSqlConverterStructsTest.java  |    8 +-
 .../calcite/rel/rel2sql/RelToSqlConverterTest.java |  864 ++++++++++-----
 .../calcite/rel/rules/DateRangeRulesTest.java      |   56 +-
 .../calcite/rel/rules/EnumerableLimitRuleTest.java |    4 +-
 .../calcite/rel/rules/SortRemoveRuleTest.java      |    8 +-
 .../org/apache/calcite/rex/RexBuilderTest.java     |   54 +-
 .../calcite/rex/RexCallNormalizationTest.java      |   18 +-
 .../org/apache/calcite/rex/RexExecutorTest.java    |   35 +-
 .../apache/calcite/rex/RexLosslessCastTest.java    |   10 +-
 .../apache/calcite/rex/RexProgramBuilderBase.java  |   60 ++
 .../org/apache/calcite/rex/RexProgramTest.java     |  307 ++++--
 .../org/apache/calcite/rex/RexProgramTestBase.java |    2 +-
 .../rex/RexSqlStandardConvertletTableTest.java     |    8 +-
 .../org/apache/calcite/runtime/AutomatonTest.java  |   20 +-
 .../apache/calcite/runtime/BinarySearchTest.java   |   14 +-
 .../runtime/DeterministicAutomatonTest.java        |   10 +-
 .../apache/calcite/runtime/EnumerablesTest.java    |  330 ++++--
 .../calcite/sql/SqlSetOptionOperatorTest.java      |   10 +-
 .../apache/calcite/sql/parser/SqlParserTest.java   |  820 +++++++-------
 .../apache/calcite/sql/parser/SqlUnParserTest.java |    2 +-
 .../ExtensionSqlParserTest.java                    |   10 +-
 .../apache/calcite/sql/test/DocumentationTest.java |    6 +-
 .../apache/calcite/sql/test/SqlAdvisorTest.java    |   91 +-
 .../calcite/sql/test/SqlOperatorBaseTest.java      |  756 ++++++++-----
 .../apache/calcite/sql/test/SqlOperatorTest.java   |    4 +-
 .../calcite/sql/test/SqlPrettyWriterTest.java      |   84 +-
 .../apache/calcite/sql/test/SqlRuntimeTester.java  |    4 +-
 .../apache/calcite/sql/test/SqlTestFactory.java    |   10 +-
 .../apache/calcite/sql/test/SqlTypeNameTest.java   |   74 +-
 .../calcite/sql/type/RelDataTypeSystemTest.java    |   16 +-
 .../calcite/sql/type/SqlTypeFactoryTest.java       |   62 +-
 .../apache/calcite/sql/type/SqlTypeUtilTest.java   |   16 +-
 .../calcite/sql/validate/LexCaseSensitiveTest.java |   32 +-
 .../apache/calcite/sql/validate/LexEscapeTest.java |   12 +-
 .../calcite/sql/validate/SqlValidatorUtilTest.java |   18 +-
 .../calcite/sql2rel/RelFieldTrimmerTest.java       |  186 ++++
 .../org/apache/calcite/test/CalciteAssert.java     |    9 +-
 .../apache/calcite/test/CalciteResourceTest.java   |    4 +-
 .../calcite/test/CalciteSqlOperatorTest.java       |    4 +-
 .../apache/calcite/test/CollectionTypeTest.java    |   26 +-
 .../org/apache/calcite/test/CoreQuidemTest.java    |    2 +-
 .../org/apache/calcite/test/DiffRepository.java    |   14 +-
 .../java/org/apache/calcite/test/DiffTestCase.java |   10 +-
 .../apache/calcite/test/ExceptionMessageTest.java  |   10 +-
 .../org/apache/calcite/test/FilteratorTest.java    |   10 +-
 .../java/org/apache/calcite/test/FoodmartTest.java |    2 +-
 .../org/apache/calcite/test/HepPlannerTest.java    |   30 +-
 .../calcite/test/InduceGroupingTypeTest.java       |    8 +-
 .../org/apache/calcite/test/InterpreterTest.java   |   70 +-
 .../org/apache/calcite/test/JdbcAdapterTest.java   |  210 ++--
 .../test/JdbcFrontJdbcBackLinqMiddleTest.java      |   30 +-
 .../apache/calcite/test/JdbcFrontJdbcBackTest.java |   14 +-
 .../apache/calcite/test/JdbcFrontLinqBackTest.java |   38 +-
 .../java/org/apache/calcite/test/JdbcTest.java     |  795 ++++++++------
 .../java/org/apache/calcite/test/LatticeTest.java  |   92 +-
 .../apache/calcite/test/LinqFrontJdbcBackTest.java |    4 +-
 .../calcite/test/LogicalProjectDigestTest.java     |    6 +-
 .../java/org/apache/calcite/test/Matchers.java     |    6 +-
 .../apache/calcite/test/MaterializationTest.java   |  512 +++++----
 .../java/org/apache/calcite/test/ModelTest.java    |   22 +-
 .../calcite/test/MultiJdbcSchemaJoinTest.java      |   16 +-
 .../org/apache/calcite/test/MutableRelTest.java    |   78 +-
 .../org/apache/calcite/test/PigRelBuilderTest.java |   46 +-
 .../java/org/apache/calcite/test/QuidemTest.java   |   10 +-
 .../apache/calcite/test/ReflectiveSchemaTest.java  |   86 +-
 .../org/apache/calcite/test/RelBuilderTest.java    |  444 +++++---
 .../calcite/test/RelMdColumnOriginsTest.java       |    4 +-
 .../test/RelMdPercentageOriginalRowsTest.java      |    4 +-
 .../org/apache/calcite/test/RelMetadataTest.java   |  404 +++----
 .../org/apache/calcite/test/RelOptRulesTest.java   | 1119 ++++++++++++--------
 .../org/apache/calcite/test/RelOptTestBase.java    |   55 +-
 .../calcite/test/RexImplicationCheckerTest.java    |   38 +-
 .../org/apache/calcite/test/RexShuttleTest.java    |    6 +-
 .../apache/calcite/test/RexTransformerTest.java    |   38 +-
 .../apache/calcite/test/ScannableTableTest.java    |   93 +-
 .../apache/calcite/test/SqlAdvisorJdbcTest.java    |   18 +-
 .../org/apache/calcite/test/SqlFunctionsTest.java  |  113 +-
 .../apache/calcite/test/SqlHintsConverterTest.java |   54 +-
 .../apache/calcite/test/SqlJsonFunctionsTest.java  |   48 +-
 .../org/apache/calcite/test/SqlLimitsTest.java     |    2 +-
 .../java/org/apache/calcite/test/SqlLineTest.java  |    4 +-
 .../calcite/test/SqlOperatorBindingTest.java       |    6 +-
 .../calcite/test/SqlStatisticProviderTest.java     |    8 +-
 .../java/org/apache/calcite/test/SqlTestGen.java   |    4 +-
 .../test/SqlToRelConverterExtendedTest.java        |    2 +-
 .../apache/calcite/test/SqlToRelConverterTest.java | 1035 ++++++++++--------
 .../org/apache/calcite/test/SqlToRelTestBase.java  |   29 +-
 .../calcite/test/SqlValidatorFeatureTest.java      |   19 +-
 .../org/apache/calcite/test/SqlValidatorTest.java  |  996 +++++++++--------
 .../apache/calcite/test/SqlValidatorTestCase.java  |  104 +-
 .../apache/calcite/test/SqlXmlFunctionsTest.java   |   10 +-
 .../java/org/apache/calcite/test/StreamTest.java   |   34 +-
 .../org/apache/calcite/test/TableFunctionTest.java |   46 +-
 .../apache/calcite/test/TableInRootSchemaTest.java |    4 +-
 .../org/apache/calcite/test/TopDownOptTest.java    |  156 +++
 .../calcite/test/TypeCoercionConverterTest.java    |   27 +-
 .../org/apache/calcite/test/TypeCoercionTest.java  |   40 +-
 .../test/java/org/apache/calcite/test/UdfTest.java |   56 +-
 .../test/java/org/apache/calcite/test/UdtTest.java |    6 +-
 .../org/apache/calcite/test/catalog/Fixture.java   |    5 +-
 .../test/catalog/MockCatalogReaderExtended.java    |    6 +-
 .../test/catalog/MockCatalogReaderSimple.java      |   10 +
 .../catalog/VirtualColumnsExpressionFactory.java   |   18 +
 .../concurrent/ConcurrentTestCommandGenerator.java |    4 +-
 .../EnumerableBatchNestedLoopJoinTest.java         |   24 +-
 .../test/enumerable/EnumerableCalcTest.java        |    4 +-
 .../test/enumerable/EnumerableCorrelateTest.java   |   30 +-
 .../test/enumerable/EnumerableHashJoinTest.java    |   25 +-
 .../test/enumerable/EnumerableJoinTest.java        |   74 +-
 .../EnumerableRepeatUnionHierarchyTest.java        |    2 +-
 .../test/enumerable/EnumerableRepeatUnionTest.java |   12 +-
 .../calcite/test/fuzzer/RexProgramFuzzyTest.java   |   10 +-
 .../calcite/test/fuzzer/RexToTestCodeShuttle.java  |    2 +-
 .../org/apache/calcite/tools/FrameworksTest.java   |   18 +-
 .../java/org/apache/calcite/tools/PlannerTest.java |  145 +--
 .../java/org/apache/calcite/util/BitSetsTest.java  |   22 +-
 .../org/apache/calcite/util/ChunkListTest.java     |   12 +-
 .../org/apache/calcite/util/ImmutableBeanTest.java |   10 +-
 .../apache/calcite/util/ImmutableBitSetTest.java   |   56 +-
 .../calcite/util/PartiallyOrderedSetTest.java      |   32 +-
 .../apache/calcite/util/PermutationTestCase.java   |   12 +-
 .../calcite/util/PrecedenceClimbingParserTest.java |   20 +-
 .../apache/calcite/util/ReflectVisitorTest.java    |   12 +-
 .../test/java/org/apache/calcite/util/Smalls.java  |   24 +
 .../java/org/apache/calcite/util/SourceTest.java   |   66 +-
 .../java/org/apache/calcite/util/TestUtil.java     |   26 +-
 .../java/org/apache/calcite/util/TestUtilTest.java |    6 +-
 .../java/org/apache/calcite/util/UtilTest.java     |  148 +--
 .../calcite/util/graph/DirectedGraphTest.java      |   25 +-
 .../apache/calcite/util/mapping/MappingTest.java   |  119 ++-
 .../org/apache/calcite/test/RelOptRulesTest.xml    |  200 +++-
 .../apache/calcite/test/SqlToRelConverterTest.xml  |  310 +++++-
 .../org/apache/calcite/test/TopDownOptTest.xml     |  222 ++++
 .../calcite/test/TypeCoercionConverterTest.xml     |   13 +
 .../src/test/resources/saffron.properties          |    3 +
 core/src/test/resources/sql/agg.iq                 |   24 +-
 core/src/test/resources/sql/functions.iq           |   59 ++
 core/src/test/resources/sql/join.iq                |   10 +-
 core/src/test/resources/sql/misc.iq                |   45 +-
 core/src/test/resources/sql/operator.iq            |   69 ++
 core/src/test/resources/sql/stream.iq              |   66 ++
 core/src/test/resources/sql/sub-query.iq           |   18 +-
 core/src/test/resources/sql/winagg.iq              |   45 +-
 .../adapter/druid/DruidQueryFilterTest.java        |    6 +-
 .../org/apache/calcite/test/DruidAdapter2IT.java   |  420 ++++----
 .../org/apache/calcite/test/DruidAdapterIT.java    |  470 ++++----
 .../calcite/test/DruidDateRangeRulesTest.java      |   14 +-
 .../adapter/elasticsearch/ElasticsearchJson.java   |    9 +-
 .../elasticsearch/ElasticsearchProject.java        |    2 +-
 .../adapter/elasticsearch/AggregationTest.java     |   28 +-
 .../adapter/elasticsearch/BooleanLogicTest.java    |    6 +-
 .../elasticsearch/ElasticSearchAdapterTest.java    |   46 +-
 .../elasticsearch/ElasticsearchJsonTest.java       |   36 +-
 .../elasticsearch/ElasticsearchVersionTest.java    |    4 +-
 .../calcite/adapter/elasticsearch/MatchTest.java   |    6 +-
 .../adapter/elasticsearch/Projection2Test.java     |   12 +-
 .../adapter/elasticsearch/ProjectionTest.java      |    4 +-
 .../adapter/elasticsearch/QueryBuildersTest.java   |   16 +-
 .../adapter/elasticsearch/ScrollingTest.java       |    4 +-
 example/csv/build.gradle.kts                       |   10 +-
 .../test/java/org/apache/calcite/test/CsvTest.java |   82 +-
 .../apache/calcite/test/ExampleFunctionTest.java   |    6 +-
 .../calcite/adapter/file/FileReaderTest.java       |   26 +-
 .../org/apache/calcite/adapter/file/SqlTest.java   |   33 +-
 .../calcite/adapter/geode/rel/GeodeSort.java       |    2 +-
 .../adapter/geode/rel/GeodeAllDataTypesTest.java   |   26 +-
 .../adapter/geode/rel/GeodeBookstoreTest.java      |   74 +-
 .../calcite/adapter/geode/rel/GeodeZipsTest.java   |   24 +-
 .../adapter/geode/simple/BookMasterRegionTest.java |    2 +-
 gradle.properties                                  |    4 +-
 gradle/wrapper/gradle-wrapper.jar                  |  Bin 55616 -> 58694 bytes
 gradle/wrapper/gradle-wrapper.properties           |    4 +-
 gradlew                                            |   29 +-
 gradlew.bat                                        |    3 +
 .../calcite/adapter/kafka/KafkaAdapterTest.java    |   10 +-
 .../adapter/kafka/KafkaRowConverterTest.java       |    2 +-
 linq4j/build.gradle.kts                            |    2 +
 .../apache/calcite/linq4j/EnumerableDefaults.java  |  227 ++--
 .../calcite/linq4j/MemoryEnumerableTest.java       |    6 +-
 .../calcite/linq4j/function/FunctionTest.java      |   10 +-
 .../calcite/linq4j/test/BlockBuilderTest.java      |   14 +-
 .../calcite/linq4j/test/CorrelateJoinTest.java     |   10 +-
 .../calcite/linq4j/test/DeterministicTest.java     |   34 +-
 .../apache/calcite/linq4j/test/ExpressionTest.java |   96 +-
 .../apache/calcite/linq4j/test/InlinerTest.java    |   22 +-
 .../org/apache/calcite/linq4j/test/Linq4jTest.java |  236 ++---
 .../apache/calcite/linq4j/test/LookupImplTest.java |    6 +-
 .../apache/calcite/linq4j/test/OptimizerTest.java  |  162 +--
 .../apache/calcite/linq4j/test/PrimitiveTest.java  |   20 +-
 .../org/apache/calcite/linq4j/tree/TypeTest.java   |    4 +-
 .../apache/calcite/adapter/mongodb/MongoTable.java |    8 -
 .../calcite/adapter/mongodb/MongoAdapterTest.java  |   66 +-
 .../org/apache/calcite/test/MongoAssertions.java   |    8 +-
 .../calcite/adapter/pig/PigRelFactories.java       |    6 -
 .../org/apache/calcite/test/PigAdapterTest.java    |   21 +-
 .../calcite/test/PigRelBuilderStyleTest.java       |   16 +-
 piglet/gradle.properties                           |    2 +-
 .../org/apache/calcite/piglet/PigRelBuilder.java   |    8 +-
 .../org/apache/calcite/piglet/PigRelOpVisitor.java |   12 +-
 .../java/org/apache/calcite/test/PigRelExTest.java |   58 +-
 .../java/org/apache/calcite/test/PigRelOpTest.java |   80 +-
 .../org/apache/calcite/test/PigScriptTest.java     |    4 +-
 .../java/org/apache/calcite/test/PigletTest.java   |   40 +-
 .../org/apache/calcite/adapter/os/SqlShell.java    |    6 +-
 .../apache/calcite/adapter/os/OsAdapterTest.java   |   28 +-
 .../apache/calcite/adapter/tpcds/TpcdsTest.java    |   77 +-
 .../org/apache/calcite/adapter/tpch/TpchTest.java  |   68 +-
 .../org/apache/calcite/chinook/EndToEndTest.java   |    2 +-
 .../RemotePreparedStatementParametersTest.java     |    8 +-
 .../materialize/TpcdsLatticeSuggesterTest.java     |   23 +-
 .../calcite/adapter/redis/RedisEnumerator.java     |    2 +-
 .../apache/calcite/adapter/redis/RedisTable.java   |    3 +-
 .../adapter/redis/RedisAdapterCaseBase.java        |    4 +-
 .../calcite/adapter/redis/RedisMiniServer.java     |    2 +-
 .../org/apache/calcite/test/ServerParserTest.java  |   72 +-
 .../org/apache/calcite/test/ServerQuidemTest.java  |    2 +-
 .../java/org/apache/calcite/test/ServerTest.java   |   51 +-
 .../apache/calcite/test/ServerUnParserTest.java    |    7 +-
 server/src/test/resources/sql/type.iq              |   34 +
 site/_docs/adapter.md                              |    6 +-
 site/_docs/history.md                              |  201 +++-
 site/_docs/howto.md                                |    6 +-
 site/_docs/reference.md                            |   81 +-
 site/img/powered-by.png                            |  Bin 36894 -> 47813 bytes
 .../org/apache/calcite/test/SparkAdapterTest.java  |   86 +-
 .../calcite/adapter/splunk/SplunkPushDownRule.java |    2 +-
 .../org/apache/calcite/test/SplunkAdapterTest.java |   16 +-
 src/main/config/checkstyle/checker.xml             |    1 +
 src/main/config/forbidden-apis/signatures.txt      |    7 +
 ubenchmark/README.md                               |   76 ++
 ubenchmark/build.gradle.kts                        |   29 +-
 .../benchmarks/DefaultDirectedGraphBenchmark.java  |  280 +++++
 .../calcite/benchmarks/PreconditionTest.java       |    4 +-
 554 files changed, 17789 insertions(+), 10061 deletions(-)
 create mode 100644 .idea/icon.png
 create mode 100644 .idea/vcs.xml
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableSortedAggregate.java
 copy core/src/main/java/org/apache/calcite/adapter/enumerable/{EnumerableAggregateRule.java => EnumerableSortedAggregateRule.java} (54%)
 rename core/src/main/java/org/apache/calcite/adapter/enumerable/{TableValuedFunctionCallImplementor.java => TableFunctionCallImplementor.java} (96%)
 create mode 100644 core/src/main/java/org/apache/calcite/plan/DeriveMode.java
 create mode 100644 core/src/main/java/org/apache/calcite/plan/volcano/Dumpers.java
 create mode 100644 core/src/main/java/org/apache/calcite/plan/volcano/OptimizeTask.java
 copy core/src/main/java/org/apache/calcite/plan/volcano/{VolcanoPlannerPhase.java => VolcanoTimeoutException.java} (75%)
 create mode 100644 core/src/main/java/org/apache/calcite/rel/PhysicalNode.java
 copy core/src/main/java/org/apache/calcite/{sql/dialect/AccessSqlDialect.java => rel/rules/SubstitutionRule.java} (56%)
 create mode 100644 core/src/main/java/org/apache/calcite/rel/rules/TransformationRule.java
 create mode 100644 core/src/main/java/org/apache/calcite/rex/RexWindowBounds.java
 create mode 100644 core/src/main/java/org/apache/calcite/runtime/CompressionFunctions.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlHopTableFunction.java
 copy core/src/main/java/org/apache/calcite/sql/{SqlAccessEnum.java => SqlJsonValueReturning.java} (86%)
 create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlSessionTableFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlTumbleTableFunction.java
 copy core/src/main/java/org/apache/calcite/sql/{fun/SqlArrayValueConstructor.java => SqlTypeConstructorFunction.java} (54%)
 copy core/src/main/java/org/apache/calcite/sql/{SqlSelectKeyword.java => Symbolizable.java} (80%)
 create mode 100644 core/src/main/java/org/apache/calcite/sql/dialect/ClickHouseSqlDialect.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/type/ExplicitOperandTypeChecker.java
 copy core/src/main/java/org/apache/calcite/{schema/AggregateFunction.java => sql/validate/implicit/TypeCoercionFactory.java} (54%)
 create mode 100644 core/src/test/java/org/apache/calcite/materialize/NormalizationTrimFieldTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/sql2rel/RelFieldTrimmerTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/TopDownOptTest.java
 create mode 100644 core/src/test/resources/org/apache/calcite/test/TopDownOptTest.xml
 copy src/main/config/checkstyle/header.properties.txt => core/src/test/resources/saffron.properties (95%)
 create mode 100644 ubenchmark/README.md
 create mode 100644 ubenchmark/src/jmh/java/org/apache/calcite/benchmarks/DefaultDirectedGraphBenchmark.java