You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by gi...@apache.org on 2023/03/14 13:20:58 UTC

[calcite] branch site updated (dc487b1388 -> 7dfd641bae)

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

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


 discard dc487b1388 [CALCITE-5572] Release Calcite 1.34.0
 discard aa37e14daa [CALCITE-5555] Remove obsolete instructions for processing requests for new JIRA accounts
 discard b798154ddc [CALCITE-5550] Update instructions for requesting Jira account to use self-serve facility
     add 3dae2519f8 [CALCITE-5537] Slow test case failures in LatticeSuggesterTest
     add 29fcbf14f1 [CALCITE-5478] Use highest input precision for datetimes in SqlTypeFactoryImpl.leastRestrictive
     add a990ecc4ae [CALCITE-5510] RelToSqlConverter should use ordinal for `ORDER BY` if the dialect allows
     add 0f1a40deef Add tests for [CALCITE-2980] Implement the FORMAT clause of the CAST operator
     add 49a0d5e9c1 [CALCITE-5357] Add FORMAT_TIME, FORMAT_DATE, FORMAT_DATETIME, FORMAT_TIMESTAMP functions (enabled in BigQuery library)
     add 65a5efc0d6 [CALCITE-5484] Add DATETIME_SUB function (enabled in BigQuery library)
     add cb97d299d2 [CALCITE-5469] Add DATETIME_ADD, DATETIME_DIFF, DATE_ADD, DATE_DIFF functions (enabled in BigQuery library)
     add 90599a6e9b [CALCITE-5518] RelToSql converter generates invalid order of ROLLUP fields
     add 4f1452ecfb CompositeOperandTypeChecker's java doc uses wrong class name
     add 2dba40e7a0 [CALCITE-5546] Code style: Break long assignment expressions after '='
     add fb063e8d11 [CALCITE-5504] Array value constructor is unparsed incorrectly for `SparkSqlDialect`
     add 1e89771404 [CALCITE-5550] Update instructions for requesting Jira account to use self-serve facility
     add 4e19520962 [CALCITE-5545] Allow for overriding SqlValidator to enable custom SqlNode validation
     add ee9b80b0b6 [CALCITE-5555] Remove obsolete instructions for processing requests for new JIRA accounts
     add 7dfd641bae [CALCITE-5572] Release Calcite 1.34.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   (dc487b1388)
            \
             N -- N -- N   refs/heads/site (7dfd641bae)

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:
 babel/src/main/codegen/config.fmpp                 |    1 +
 babel/src/test/resources/sql/big-query.iq          |  209 +-
 build.gradle.kts                                   |    6 +-
 .../adapter/cassandra/CassandraEnumerator.java     |    7 +-
 .../calcite/adapter/cassandra/CassandraSchema.java |    8 +-
 .../adapter/cassandra/CassandraSchemaFactory.java  |    4 +-
 .../calcite/adapter/cassandra/CassandraTable.java  |    9 +-
 .../test/CassandraAdapterDataTypesTest.java        |    7 +-
 core/src/main/codegen/default_config.fmpp          |    2 +
 core/src/main/codegen/templates/Parser.jj          |   62 +
 .../apache/calcite/adapter/clone/ColumnLoader.java |    9 +-
 .../calcite/adapter/enumerable/EnumUtils.java      |   53 +-
 .../adapter/enumerable/EnumerableAggregate.java    |    4 +-
 .../enumerable/EnumerableAggregateBase.java        |   18 +-
 .../enumerable/EnumerableBatchNestedLoopJoin.java  |   28 +-
 .../adapter/enumerable/EnumerableBindable.java     |    5 +-
 .../calcite/adapter/enumerable/EnumerableCalc.java |    8 +-
 .../adapter/enumerable/EnumerableConvention.java   |    6 +-
 .../adapter/enumerable/EnumerableCorrelate.java    |    5 +-
 .../adapter/enumerable/EnumerableHashJoin.java     |   22 +-
 .../enumerable/EnumerableInterpretable.java        |    6 +-
 .../adapter/enumerable/EnumerableInterpreter.java  |    8 +-
 .../adapter/enumerable/EnumerableLimit.java        |   29 +-
 .../adapter/enumerable/EnumerableLimitRule.java    |    8 +-
 .../adapter/enumerable/EnumerableLimitSort.java    |   14 +-
 .../enumerable/EnumerableLimitSortRule.java        |   17 +-
 .../adapter/enumerable/EnumerableMatch.java        |   57 +-
 .../adapter/enumerable/EnumerableMergeJoin.java    |   30 +-
 .../enumerable/EnumerableMergeJoinRule.java        |   11 +-
 .../adapter/enumerable/EnumerableMergeUnion.java   |   68 +-
 .../enumerable/EnumerableMergeUnionRule.java       |    5 +-
 .../enumerable/EnumerableRelImplementor.java       |   30 +-
 .../adapter/enumerable/EnumerableRepeatUnion.java  |   51 +-
 .../adapter/enumerable/EnumerableRules.java        |   48 +-
 .../enumerable/EnumerableSortedAggregate.java      |   31 +-
 .../enumerable/EnumerableSortedAggregateRule.java  |    7 +-
 .../enumerable/EnumerableTableFunctionScan.java    |   18 +-
 .../adapter/enumerable/EnumerableTableModify.java  |    4 +-
 .../adapter/enumerable/EnumerableTableScan.java    |   11 +-
 .../adapter/enumerable/EnumerableTableSpool.java   |   34 +-
 .../adapter/enumerable/EnumerableTraitsUtils.java  |    3 +-
 .../enumerable/EnumerableUncollectRule.java        |    5 +-
 .../adapter/enumerable/EnumerableUnionRule.java    |    4 +-
 .../adapter/enumerable/EnumerableValuesRule.java   |    5 +-
 .../adapter/enumerable/EnumerableWindow.java       |  229 +-
 .../calcite/adapter/enumerable/JavaRowFormat.java  |   26 +-
 .../calcite/adapter/enumerable/PhysTypeImpl.java   |   14 +-
 .../calcite/adapter/enumerable/RexImpTable.java    |  180 +-
 .../adapter/enumerable/RexToLixTranslator.java     |  434 +--
 .../adapter/enumerable/StrictAggImplementor.java   |    9 +-
 .../calcite/adapter/java/ReflectiveSchema.java     |   20 +-
 .../calcite/adapter/jdbc/JdbcCatalogSchema.java    |    6 +-
 .../org/apache/calcite/adapter/jdbc/JdbcRules.java |   15 +-
 .../apache/calcite/adapter/jdbc/JdbcSchema.java    |   18 +-
 .../adapter/jdbc/JdbcToEnumerableConverter.java    |   57 +-
 .../calcite/config/CalciteSystemProperty.java      |    6 +-
 .../apache/calcite/interpreter/AggregateNode.java  |    8 +-
 .../apache/calcite/interpreter/Interpreter.java    |   11 +-
 .../calcite/interpreter/JaninoRexCompiler.java     |   13 +-
 .../org/apache/calcite/interpreter/JoinNode.java   |    5 +-
 .../apache/calcite/interpreter/ProjectNode.java    |    4 +-
 .../apache/calcite/interpreter/TableScanNode.java  |   28 +-
 .../apache/calcite/jdbc/CachingCalciteSchema.java  |   51 +-
 .../apache/calcite/jdbc/CalciteConnectionImpl.java |    8 +-
 .../org/apache/calcite/jdbc/CalciteMetaImpl.java   |   28 +-
 .../org/apache/calcite/jdbc/CalciteStatement.java  |    2 +-
 .../main/java/org/apache/calcite/jdbc/Driver.java  |   54 +-
 .../apache/calcite/jdbc/JavaTypeFactoryImpl.java   |   12 +-
 .../apache/calcite/jdbc/SimpleCalciteSchema.java   |   22 +-
 .../CachingLatticeStatisticProvider.java           |    6 +-
 .../org/apache/calcite/materialize/Lattice.java    |   10 +-
 .../calcite/materialize/LatticeSuggester.java      |    5 +-
 .../materialize/MaterializationService.java        |    4 +-
 .../apache/calcite/materialize/MutableNode.java    |   12 +-
 .../org/apache/calcite/model/ModelHandler.java     |   20 +-
 .../apache/calcite/plan/ConventionTraitDef.java    |    5 +-
 .../apache/calcite/plan/RelOptMaterialization.java |   46 +-
 .../calcite/plan/RelOptMaterializations.java       |   11 +-
 .../java/org/apache/calcite/plan/RelOptRules.java  |  169 +-
 .../java/org/apache/calcite/plan/RelOptUtil.java   |   34 +-
 .../java/org/apache/calcite/plan/RelTraitSet.java  |    4 +-
 .../apache/calcite/plan/SubstitutionVisitor.java   |  152 +-
 .../org/apache/calcite/plan/volcano/Dumpers.java   |    5 +-
 .../org/apache/calcite/plan/volcano/RelSet.java    |   20 +-
 .../calcite/plan/volcano/TopDownRuleDriver.java    |    9 +-
 .../calcite/plan/volcano/VolcanoPlanner.java       |   16 +-
 .../plan/volcano/VolcanoRelMetadataProvider.java   |    9 +-
 .../calcite/plan/volcano/VolcanoRuleCall.java      |    6 +-
 .../calcite/prepare/CalciteCatalogReader.java      |    4 +-
 .../calcite/prepare/CalciteMaterializer.java       |    9 +-
 .../apache/calcite/prepare/CalcitePrepareImpl.java |   94 +-
 .../calcite/prepare/CalciteSqlValidator.java       |    7 +-
 .../org/apache/calcite/prepare/PlannerImpl.java    |   25 +-
 .../java/org/apache/calcite/prepare/Prepare.java   |    5 +-
 .../org/apache/calcite/profile/ProfilerImpl.java   |   21 +-
 .../org/apache/calcite/profile/SimpleProfiler.java |   16 +-
 .../java/org/apache/calcite/rel/RelCollations.java |    4 +-
 .../main/java/org/apache/calcite/rel/RelNodes.java |   11 +-
 .../java/org/apache/calcite/rel/core/Collect.java  |   13 +-
 .../java/org/apache/calcite/rel/core/Match.java    |    5 +-
 .../java/org/apache/calcite/rel/core/Project.java  |    4 +-
 .../apache/calcite/rel/externalize/RelJson.java    |   12 +-
 .../calcite/rel/externalize/RelJsonReader.java     |   37 +-
 .../apache/calcite/rel/hint/HintStrategyTable.java |   10 +-
 .../apache/calcite/rel/logical/LogicalWindow.java  |   20 +-
 .../calcite/rel/metadata/BuiltInMetadata.java      |  125 +-
 .../rel/metadata/CachingRelMetadataProvider.java   |    7 +-
 .../metadata/ProxyingMetadataHandlerProvider.java  |   47 +-
 .../calcite/rel/metadata/RelMdAllPredicates.java   |   36 +-
 .../rel/metadata/RelMdColumnUniqueness.java        |    6 +-
 .../calcite/rel/metadata/RelMdDistribution.java    |    4 +-
 .../rel/metadata/RelMdExpressionLineage.java       |   55 +-
 .../rel/metadata/RelMdPercentageOriginalRows.java  |    4 +-
 .../calcite/rel/metadata/RelMdPredicates.java      |  109 +-
 .../calcite/rel/metadata/RelMdTableReferences.java |   15 +-
 .../calcite/rel/metadata/RelMdUniqueKeys.java      |   14 +-
 .../org/apache/calcite/rel/metadata/RelMdUtil.java |   11 +-
 .../calcite/rel/metadata/RelMetadataQuery.java     |    4 +-
 .../apache/calcite/rel/mutable/MutableRels.java    |    5 +-
 .../calcite/rel/rel2sql/RelToSqlConverter.java     |  110 +-
 .../apache/calcite/rel/rel2sql/SqlImplementor.java |   97 +-
 .../rel/rules/AggregateCaseToFilterRule.java       |    6 +-
 .../AggregateExpandDistinctAggregatesRule.java     |   17 +-
 .../rules/AggregateExpandWithinDistinctRule.java   |   18 +-
 .../rel/rules/AggregateFilterTransposeRule.java    |   12 +-
 .../rel/rules/AggregateJoinJoinRemoveRule.java     |    4 +-
 .../calcite/rel/rules/AggregateJoinRemoveRule.java |    7 +-
 .../rel/rules/AggregateJoinTransposeRule.java      |   23 +-
 .../rel/rules/AggregateReduceFunctionsRule.java    |  105 +-
 .../calcite/rel/rules/AggregateStarTableRule.java  |    5 +-
 .../rel/rules/AggregateUnionTransposeRule.java     |    6 +-
 .../apache/calcite/rel/rules/DateRangeRules.java   |   29 +-
 .../rel/rules/ExchangeRemoveConstantKeysRule.java  |    8 +-
 .../rel/rules/FilterMultiJoinMergeRule.java        |    5 +-
 .../calcite/rel/rules/FilterTableScanRule.java     |    4 +-
 .../rel/rules/JoinProjectTransposeRule.java        |   10 +-
 .../rules/JoinPushTransitivePredicatesRule.java    |    5 +-
 .../calcite/rel/rules/JoinToMultiJoinRule.java     |    5 +-
 .../apache/calcite/rel/rules/LoptMultiJoin.java    |    7 +-
 .../calcite/rel/rules/LoptOptimizeJoinRule.java    |   22 +-
 .../calcite/rel/rules/LoptSemiJoinOptimizer.java   |   14 +-
 .../org/apache/calcite/rel/rules/MatchRule.java    |   15 +-
 .../rel/rules/MaterializedViewFilterScanRule.java  |    4 +-
 .../rel/rules/ProjectCorrelateTransposeRule.java   |    9 +-
 .../rel/rules/ProjectJoinJoinRemoveRule.java       |   13 +-
 .../calcite/rel/rules/ProjectJoinRemoveRule.java   |    5 +-
 .../calcite/rel/rules/ProjectRemoveRule.java       |    7 +-
 .../calcite/rel/rules/ProjectTableScanRule.java    |    5 +-
 .../calcite/rel/rules/ProjectToWindowRule.java     |   46 +-
 .../rel/rules/ProjectWindowTransposeRule.java      |   10 +-
 .../calcite/rel/rules/ReduceDecimalsRule.java      |   12 +-
 .../calcite/rel/rules/ReduceExpressionsRule.java   |   12 +-
 .../org/apache/calcite/rel/rules/SemiJoinRule.java |    3 +-
 .../apache/calcite/rel/rules/SortJoinCopyRule.java |   58 +-
 .../calcite/rel/rules/SortJoinTransposeRule.java   |   24 +-
 .../calcite/rel/rules/SortUnionTransposeRule.java  |   10 +-
 .../org/apache/calcite/rel/rules/SpatialRules.java |    6 +-
 .../calcite/rel/rules/SubQueryRemoveRule.java      |  138 +-
 .../apache/calcite/rel/rules/ValuesReduceRule.java |    6 +-
 .../materialize/MaterializedViewAggregateRule.java |   77 +-
 .../materialize/MaterializedViewJoinRule.java      |   32 +-
 .../rules/materialize/MaterializedViewRule.java    |  183 +-
 .../org/apache/calcite/rel/stream/StreamRules.java |   26 +-
 .../calcite/rel/type/RelDataTypeFactory.java       |    5 +-
 .../calcite/rel/type/RelDataTypeFactoryImpl.java   |   35 +-
 .../apache/calcite/rel/type/RelDataTypeHolder.java |    9 +-
 .../apache/calcite/rel/type/RelDataTypeSystem.java |   72 +-
 .../calcite/rel/type/RelDataTypeSystemImpl.java    |   14 +-
 .../java/org/apache/calcite/rex/RexBuilder.java    |   89 +-
 .../org/apache/calcite/rex/RexExecutorImpl.java    |   16 +-
 .../java/org/apache/calcite/rex/RexLiteral.java    |    6 +-
 .../main/java/org/apache/calcite/rex/RexOver.java  |    5 +-
 .../java/org/apache/calcite/rex/RexProgram.java    |    8 +-
 .../org/apache/calcite/rex/RexProgramBuilder.java  |   11 +-
 .../java/org/apache/calcite/rex/RexSimplify.java   |   65 +-
 .../main/java/org/apache/calcite/rex/RexUtil.java  |   38 +-
 .../java/org/apache/calcite/runtime/HttpUtils.java |    4 +-
 .../org/apache/calcite/runtime/JsonFunctions.java  |   64 +-
 .../main/java/org/apache/calcite/runtime/Like.java |    8 +-
 .../java/org/apache/calcite/runtime/Matcher.java   |   10 +-
 .../calcite/runtime/ResultSetEnumerable.java       |    4 +-
 .../calcite/runtime/SpatialTypeFunctions.java      |   11 +-
 .../org/apache/calcite/runtime/SqlFunctions.java   |   42 +-
 .../org/apache/calcite/runtime/XmlFunctions.java   |    5 +-
 .../java/org/apache/calcite/schema/Schemas.java    |   26 +-
 .../calcite/schema/impl/AggregateFunctionImpl.java |    4 +-
 .../calcite/schema/impl/MaterializedViewTable.java |   12 +-
 .../calcite/schema/impl/ModifiableViewTable.java   |   12 +-
 .../calcite/schema/impl/TableFunctionImpl.java     |   32 +-
 .../org/apache/calcite/schema/impl/ViewTable.java  |    4 +-
 .../main/java/org/apache/calcite/sql/SqlCall.java  |    6 +-
 .../org/apache/calcite/sql/SqlCallBinding.java     |   10 +-
 .../java/org/apache/calcite/sql/SqlDialect.java    |   14 +
 .../java/org/apache/calcite/sql/SqlFunction.java   |   15 +-
 .../apache/calcite/sql/SqlIntervalQualifier.java   |   76 +
 .../apache/calcite/sql/SqlJdbcFunctionCall.java    |   38 +-
 .../main/java/org/apache/calcite/sql/SqlKind.java  |    7 +-
 .../org/apache/calcite/sql/SqlLateralOperator.java |    6 +-
 .../java/org/apache/calcite/sql/SqlLiteral.java    |    5 +-
 .../java/org/apache/calcite/sql/SqlOperator.java   |    4 +-
 .../calcite/sql/SqlSpatialTypeOperatorTable.java   |   10 +-
 .../calcite/sql/SqlSplittableAggFunction.java      |    4 +-
 .../org/apache/calcite/sql/advise/SqlAdvisor.java  |   14 +-
 .../sql/advise/SqlAdvisorGetHintsFunction.java     |    4 +-
 .../sql/advise/SqlAdvisorGetHintsFunction2.java    |    4 +-
 .../calcite/sql/dialect/BigQuerySqlDialect.java    |   19 +-
 .../calcite/sql/dialect/FireboltSqlDialect.java    |    5 +-
 .../apache/calcite/sql/dialect/HiveSqlDialect.java |    5 +-
 .../calcite/sql/dialect/HsqldbSqlDialect.java      |   10 +-
 .../calcite/sql/dialect/JethroDataSqlDialect.java  |   20 +-
 .../calcite/sql/dialect/MysqlSqlDialect.java       |    7 +-
 .../calcite/sql/dialect/OracleSqlDialect.java      |    5 +-
 .../calcite/sql/dialect/PostgresqlSqlDialect.java  |    5 +-
 .../calcite/sql/dialect/SparkSqlDialect.java       |   15 +-
 .../apache/calcite/sql/fun/SqlBetweenOperator.java |    4 +-
 .../apache/calcite/sql/fun/SqlCaseOperator.java    |    5 +-
 .../org/apache/calcite/sql/fun/SqlDotOperator.java |   11 +-
 .../apache/calcite/sql/fun/SqlFloorFunction.java   |    7 +-
 .../apache/calcite/sql/fun/SqlItemOperator.java    |    4 +-
 .../sql/fun/SqlJsonObjectAggAggFunction.java       |    9 +-
 .../calcite/sql/fun/SqlJsonObjectFunction.java     |    4 +-
 .../calcite/sql/fun/SqlJsonValueFunction.java      |   22 +-
 .../org/apache/calcite/sql/fun/SqlLibrary.java     |   12 +-
 .../sql/fun/SqlLibraryOperatorTableFactory.java    |    5 +-
 .../calcite/sql/fun/SqlLibraryOperators.java       |   88 +-
 .../org/apache/calcite/sql/fun/SqlRowOperator.java |   22 +-
 .../apache/calcite/sql/parser/SqlParserUtil.java   |   57 +-
 .../apache/calcite/sql/pretty/SqlPrettyWriter.java |   12 +-
 .../sql/type/CompositeOperandTypeChecker.java      |   12 +-
 .../org/apache/calcite/sql/type/OperandTypes.java  |   51 +-
 .../org/apache/calcite/sql/type/ReturnTypes.java   |   15 +-
 .../calcite/sql/type/SetopOperandTypeChecker.java  |    7 +-
 .../calcite/sql/type/SqlTypeFactoryImpl.java       |   12 +-
 .../org/apache/calcite/sql/type/SqlTypeUtil.java   |   17 +-
 .../sql/validate/AggregatingSelectScope.java       |   14 +-
 .../calcite/sql/validate/DelegatingScope.java      |   27 +-
 .../apache/calcite/sql/validate/EmptyScope.java    |    8 +-
 .../calcite/sql/validate/SchemaNamespace.java      |   11 +-
 .../calcite/sql/validate/SelectNamespace.java      |   12 +-
 .../apache/calcite/sql/validate/SelectScope.java   |   16 +-
 .../calcite/sql/validate/SetopNamespace.java       |   16 +-
 .../apache/calcite/sql/validate/SqlMoniker.java    |    5 +-
 .../calcite/sql/validate/SqlNameMatchers.java      |    9 +-
 .../calcite/sql/validate/SqlValidatorImpl.java     |  226 +-
 .../calcite/sql/validate/SqlValidatorUtil.java     |   80 +-
 .../calcite/sql/validate/TableNamespace.java       |   13 +-
 .../validate/implicit/AbstractTypeCoercion.java    |   36 +-
 .../sql/validate/implicit/TypeCoercionImpl.java    |   28 +-
 .../sql2rel/DeduplicateCorrelateVariables.java     |    5 +-
 .../calcite/sql2rel/ReflectiveConvertletTable.java |   17 +-
 .../apache/calcite/sql2rel/RelDecorrelator.java    |   54 +-
 .../apache/calcite/sql2rel/RelFieldTrimmer.java    |   52 +-
 .../sql2rel/RelStructuredTypeFlattener.java        |   15 +-
 .../apache/calcite/sql2rel/SqlToRelConverter.java  |  244 +-
 .../calcite/sql2rel/StandardConvertletTable.java   |  285 +-
 .../main/java/org/apache/calcite/tools/Hoist.java  |   10 +-
 .../java/org/apache/calcite/tools/Programs.java    |   18 +-
 .../java/org/apache/calcite/tools/RelBuilder.java  |   25 +-
 .../main/java/org/apache/calcite/util/BitSets.java |    5 +-
 .../src/main/java/org/apache/calcite/util/Bug.java |   17 +-
 .../org/apache/calcite/util/BuiltInMethod.java     |    6 +
 .../java/org/apache/calcite/util/ChunkList.java    |    4 +-
 .../apache/calcite/util/DateTimeStringUtils.java   |    4 +-
 .../calcite/util/DelegatingInvocationHandler.java  |   36 +-
 .../apache/calcite/util/ImmutableNullableSet.java  |   14 +-
 .../java/org/apache/calcite/util/JsonBuilder.java  |   66 +-
 .../java/org/apache/calcite/util/ReflectUtil.java  |    5 +-
 .../apache/calcite/util/RelToSqlConverterUtil.java |   15 +-
 .../org/apache/calcite/util/SaffronProperties.java |   19 +-
 .../apache/calcite/util/SerializableCharset.java   |    5 +-
 .../main/java/org/apache/calcite/util/Sources.java |    8 +-
 .../main/java/org/apache/calcite/util/Util.java    |   17 +-
 .../java/org/apache/calcite/util/XmlOutput.java    |    9 +-
 .../apache/calcite/util/format/FormatElement.java  |   58 +
 .../calcite/util/format/FormatElementEnum.java     |  234 ++
 .../apache/calcite/util/format/FormatModel.java    |   22 +-
 .../apache/calcite/util/format/FormatModels.java   |  278 ++
 .../clone => util/format}/package-info.java        |    4 +-
 .../java/org/apache/calcite/util/graph/Graphs.java |    5 +-
 .../util/graph/TopologicalOrderIterator.java       |   18 +-
 .../calcite/util/javac/JavaCompilerArgs.java       |    5 +-
 .../calcite/adapter/enumerable/PhysTypeTest.java   |   54 +-
 .../calcite/adapter/enumerable/TypeFinderTest.java |   15 +-
 .../calcite/jdbc/CalciteRemoteDriverTest.java      |   55 +-
 .../apache/calcite/jdbc/JavaTypeFactoryTest.java   |   23 +-
 .../calcite/materialize/LatticeSuggesterTest.java  |   11 +-
 .../materialize/NormalizationTrimFieldTest.java    |   16 +-
 .../org/apache/calcite/plan/RelOptUtilTest.java    |  137 +-
 .../org/apache/calcite/plan/RelWriterTest.java     |   10 +-
 .../apache/calcite/plan/volcano/ComboRuleTest.java |    5 +-
 .../apache/calcite/plan/volcano/RelSetTest.java    |   38 +-
 .../calcite/plan/volcano/TraitPropagationTest.java |   66 +-
 .../calcite/plan/volcano/VolcanoPlannerTest.java   |    5 +-
 .../rel/logical/ToLogicalConverterTest.java        |    5 +-
 .../calcite/rel/metadata/MetadataHandlerTest.java  |   13 +-
 .../RelMetadataHandlerGeneratorUtilTest.java       |    6 +-
 .../calcite/rel/rel2sql/RelToSqlConverterTest.java |  138 +-
 .../calcite/rel/rules/DateRangeRulesTest.java      |   88 +-
 .../calcite/rel/rules/EnumerableLimitRuleTest.java |    8 +-
 .../calcite/rel/rules/SortRemoveRuleTest.java      |   12 +-
 .../org/apache/calcite/rex/RexBuilderTest.java     |   92 +-
 .../org/apache/calcite/rex/RexExecutorTest.java    |    4 +-
 .../apache/calcite/rex/RexProgramBuilderBase.java  |    6 +-
 .../org/apache/calcite/rex/RexProgramTest.java     |  216 +-
 .../rex/RexSqlStandardConvertletTableTest.java     |   32 +-
 .../apache/calcite/runtime/EnumerablesTest.java    |   58 +-
 .../calcite/sql/SqlSetOptionOperatorTest.java      |    8 +-
 .../apache/calcite/sql/test/SqlAdvisorTest.java    |   16 +-
 .../calcite/sql/type/RelDataTypeSystemTest.java    |   10 +-
 .../calcite/sql/type/SqlTypeFactoryTest.java       |   41 +-
 .../apache/calcite/sql/type/SqlTypeFixture.java    |  149 +-
 .../apache/calcite/sql/type/SqlTypeUtilTest.java   |    4 +-
 .../calcite/sql/validate/SqlValidatorUtilTest.java |   24 +-
 .../org/apache/calcite/test/HepPlannerTest.java    |    5 +-
 .../apache/calcite/test/JdbcFrontJdbcBackTest.java |    5 +-
 .../java/org/apache/calcite/test/JdbcTest.java     |  429 +--
 .../java/org/apache/calcite/test/LatticeTest.java  |   10 +-
 .../MaterializedViewSubstitutionVisitorTest.java   |   83 +-
 .../calcite/test/MaterializedViewTester.java       |   31 +-
 .../java/org/apache/calcite/test/ModelTest.java    |   14 +-
 .../org/apache/calcite/test/MutableRelTest.java    |   12 +-
 .../apache/calcite/test/ReflectiveSchemaTest.java  |   39 +-
 .../org/apache/calcite/test/RelBuilderTest.java    |  282 +-
 .../org/apache/calcite/test/RelMetadataTest.java   |   36 +-
 .../org/apache/calcite/test/RelOptRulesTest.java   |  147 +-
 .../calcite/test/RexImplicationCheckerTest.java    |   53 +-
 .../apache/calcite/test/RexTransformerTest.java    |   30 +-
 .../calcite/test/RuleMatchVisualizerTest.java      |   12 +-
 .../apache/calcite/test/ScannableTableTest.java    |    4 +-
 .../apache/calcite/test/SqlHintsConverterTest.java |   79 +-
 .../calcite/test/SqlOperatorBindingTest.java       |   20 +-
 .../test/SqlToRelConverterExtendedTest.java        |    5 +-
 .../org/apache/calcite/test/SqlValidatorTest.java  |    2 +-
 .../org/apache/calcite/test/TypeCoercionTest.java  |   12 +-
 .../org/apache/calcite/tools/FrameworksTest.java   |   12 +-
 .../java/org/apache/calcite/tools/PlannerTest.java |  111 +-
 .../org/apache/calcite/util/FormatModelTest.java   |   67 +
 .../apache/calcite/util/PermutationTestCase.java   |   23 +-
 .../java/org/apache/calcite/util/UtilTest.java     |    6 +-
 core/src/test/resources/sql/cast-with-format.iq    | 2884 ++++++++++++++++++++
 .../adapter/druid/BinaryOperatorConversion.java    |    6 +-
 .../adapter/druid/CeilOperatorConversion.java      |    6 +-
 .../adapter/druid/DirectOperatorConversion.java    |    6 +-
 .../calcite/adapter/druid/DruidExpressions.java    |   25 +-
 .../calcite/adapter/druid/DruidJsonFilter.java     |    9 +-
 .../apache/calcite/adapter/druid/DruidQuery.java   |  130 +-
 .../apache/calcite/adapter/druid/DruidRules.java   |   42 +-
 .../apache/calcite/adapter/druid/DruidSchema.java  |   11 +-
 .../adapter/druid/DruidSqlCastConverter.java       |   21 +-
 .../calcite/adapter/druid/DruidTableFactory.java   |   17 +-
 .../adapter/druid/FloorOperatorConversion.java     |    6 +-
 .../adapter/druid/NaryOperatorConverter.java       |   10 +-
 .../adapter/druid/SubstringOperatorConversion.java |   28 +-
 .../adapter/druid/TimeExtractionFunction.java      |   36 +-
 .../druid/UnaryPrefixOperatorConversion.java       |    6 +-
 .../druid/UnarySuffixOperatorConversion.java       |   11 +-
 .../adapter/druid/DruidQueryFilterTest.java        |    5 +-
 .../org/apache/calcite/test/DruidAdapter2IT.java   |    4 +-
 .../calcite/test/DruidDateRangeRulesTest.java      |   17 +-
 .../elasticsearch/ElasticsearchAggregate.java      |   11 +-
 .../adapter/elasticsearch/ElasticsearchJson.java   |   10 +-
 .../elasticsearch/ElasticsearchMapping.java        |    5 +-
 .../adapter/elasticsearch/ElasticsearchSchema.java |    4 +-
 .../elasticsearch/ElasticsearchSchemaFactory.java  |   16 +-
 .../elasticsearch/ElasticsearchSearchResult.java   |   15 +-
 .../adapter/elasticsearch/ElasticsearchTable.java  |   11 +-
 .../ElasticsearchToEnumerableConverter.java        |   55 +-
 .../elasticsearch/ElasticsearchTransport.java      |   29 +-
 .../adapter/elasticsearch/PredicateAnalyzer.java   |   21 +-
 .../calcite/adapter/elasticsearch/Scrolling.java   |   11 +-
 .../adapter/elasticsearch/AggregationTest.java     |   20 +-
 .../adapter/elasticsearch/BooleanLogicTest.java    |    9 +-
 .../elasticsearch/ElasticSearchAdapterTest.java    |   13 +-
 .../elasticsearch/EmbeddedElasticsearchPolicy.java |   18 +-
 .../calcite/adapter/elasticsearch/MatchTest.java   |   29 +-
 .../adapter/elasticsearch/Projection2Test.java     |   15 +-
 .../adapter/elasticsearch/ProjectionTest.java      |   10 +-
 .../org/apache/calcite/adapter/csv/CsvTable.java   |    5 +-
 .../test/java/org/apache/calcite/test/CsvTest.java |   24 +-
 .../apache/calcite/adapter/file/CsvEnumerator.java |    4 +-
 .../calcite/adapter/file/CsvStreamReader.java      |   10 +-
 .../org/apache/calcite/adapter/file/CsvTable.java  |    5 +-
 .../calcite/adapter/file/FileAdapterTest.java      |   24 +-
 .../calcite/adapter/geode/rel/GeodeAggregate.java  |    4 +-
 .../calcite/adapter/geode/rel/GeodeRules.java      |    7 +-
 .../calcite/adapter/geode/rel/GeodeTable.java      |   17 +-
 .../geode/rel/GeodeToEnumerableConverter.java      |   10 +-
 .../adapter/geode/simple/GeodeSimpleSchema.java    |   15 +-
 .../adapter/geode/rel/RelationalJdbcExample.java   |   22 +-
 .../calcite/adapter/innodb/InnodbEnumerator.java   |    8 +-
 .../adapter/innodb/InnodbFilterTranslator.java     |   15 +-
 .../apache/calcite/adapter/innodb/InnodbTable.java |   21 +-
 .../innodb/InnodbToEnumerableConverter.java        |   10 +-
 .../adapter/innodb/InnodbAdapterDataTypesTest.java |    7 +-
 .../calcite/adapter/innodb/InnodbAdapterTest.java  |  122 +-
 .../calcite/adapter/kafka/KafkaTableFactory.java   |   23 +-
 .../apache/calcite/linq4j/EnumerableDefaults.java  |   28 +-
 .../java/org/apache/calcite/linq4j/LookupImpl.java |    4 +-
 .../calcite/linq4j/MergeUnionEnumerator.java       |    6 +-
 .../java/org/apache/calcite/linq4j/Nullness.java   |   15 +
 .../apache/calcite/linq4j/tree/BlockBuilder.java   |   27 +-
 .../apache/calcite/linq4j/tree/BlockStatement.java |    4 +-
 .../linq4j/tree/ClassDeclarationFinder.java        |    3 +-
 .../apache/calcite/linq4j/tree/Expressions.java    |    5 +-
 .../calcite/linq4j/tree/FunctionExpression.java    |    8 +-
 .../calcite/linq4j/tree/IndexExpression.java       |    4 +-
 .../calcite/linq4j/tree/MethodCallExpression.java  |    4 +-
 .../apache/calcite/linq4j/tree/NewExpression.java  |    8 +-
 .../calcite/linq4j/tree/OptimizeShuttle.java       |   10 +-
 .../calcite/linq4j/test/BlockBuilderTest.java      |    5 +-
 .../calcite/linq4j/test/DeterministicTest.java     |    3 +-
 .../apache/calcite/linq4j/test/ExpressionTest.java |  191 +-
 .../apache/calcite/linq4j/test/InlinerTest.java    |   80 +-
 .../calcite/linq4j/test/JoinPreserveOrderTest.java |   36 +-
 .../apache/calcite/linq4j/test/LimitSortTest.java  |   10 +-
 .../org/apache/calcite/linq4j/test/Linq4jTest.java |   68 +-
 .../apache/calcite/linq4j/test/LookupImplTest.java |    7 +-
 .../apache/calcite/adapter/pig/PigTableScan.java   |    4 +-
 .../org/apache/calcite/piglet/PigConverter.java    |    7 +-
 .../org/apache/calcite/piglet/PigRelBuilder.java   |   25 +-
 .../org/apache/calcite/piglet/PigRelExVisitor.java |   15 +-
 .../calcite/piglet/PigRelOpInnerVisitor.java       |   13 +-
 .../org/apache/calcite/piglet/PigRelOpVisitor.java |   16 +-
 .../calcite/piglet/PigRelToSqlConverter.java       |   20 +-
 .../calcite/piglet/PigToSqlAggregateRule.java      |    5 +-
 .../java/org/apache/calcite/test/PigRelOpTest.java |   10 +-
 .../org/apache/calcite/test/PigScriptTest.java     |    5 +-
 .../adapter/os/GitCommitsTableFunction.java        |   20 +-
 .../calcite/chinook/ChinookAvaticaServer.java      |   10 +-
 .../apache/calcite/adapter/os/OsAdapterTest.java   |   24 +-
 .../apache/calcite/adapter/tpcds/TpcdsTest.java    |    5 +-
 .../org/apache/calcite/adapter/tpch/TpchTest.java  |    8 +-
 .../calcite/adapter/redis/RedisEnumerator.java     |    5 +-
 .../apache/calcite/adapter/redis/RedisSchema.java  |    8 +-
 .../apache/calcite/adapter/redis/RedisTable.java   |    5 +-
 .../adapter/redis/RedisAdapterCaseBase.java        |    5 +-
 site/_docs/reference.md                            |   11 +
 .../calcite/adapter/spark/SparkHandlerImpl.java    |    8 +-
 .../apache/calcite/adapter/spark/SparkRules.java   |    4 +-
 .../splunk/search/SplunkConnectionImpl.java        |    7 +-
 .../apache/calcite/sql/parser/SqlParserTest.java   |    5 +-
 .../apache/calcite/sql/test/AbstractSqlTester.java |   17 +-
 .../org/apache/calcite/test/CalciteAssert.java     |   26 +-
 .../org/apache/calcite/test/DiffRepository.java    |    7 +-
 .../apache/calcite/test/RelMetadataFixture.java    |   12 +-
 .../org/apache/calcite/test/RelOptFixture.java     |    7 +-
 .../test/RexImplicationCheckerFixtures.java        |    4 +-
 .../org/apache/calcite/test/SqlOperatorTest.java   |  323 ++-
 .../apache/calcite/test/SqlValidatorFixture.java   |    8 +-
 .../org/apache/calcite/test/catalog/Fixture.java   |   77 +-
 .../calcite/test/catalog/MockCatalogReader.java    |   38 +-
 .../test/catalog/MockCatalogReaderDynamic.java     |   25 +-
 .../test/catalog/MockCatalogReaderExtended.java    |  101 +-
 .../test/catalog/MockCatalogReaderSimple.java      |  116 +-
 .../enumerable/CodeGenerationBenchmark.java        |    5 +-
 .../calcite/benchmarks/MetadataBenchmark.java      |    3 +-
 456 files changed, 10839 insertions(+), 5644 deletions(-)
 create mode 100644 core/src/main/java/org/apache/calcite/util/format/FormatElement.java
 create mode 100644 core/src/main/java/org/apache/calcite/util/format/FormatElementEnum.java
 copy splunk/src/main/java/org/apache/calcite/adapter/splunk/search/SplunkConnection.java => core/src/main/java/org/apache/calcite/util/format/FormatModel.java (60%)
 create mode 100644 core/src/main/java/org/apache/calcite/util/format/FormatModels.java
 copy core/src/main/java/org/apache/calcite/{adapter/clone => util/format}/package-info.java (90%)
 create mode 100644 core/src/test/java/org/apache/calcite/util/FormatModelTest.java
 create mode 100644 core/src/test/resources/sql/cast-with-format.iq