You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by vl...@apache.org on 2020/11/29 22:47:30 UTC
[calcite] branch master updated (b7e90e1 -> 3d13846)
This is an automated email from the ASF dual-hosted git repository.
vladimirsitnikov pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git.
from b7e90e1 [CALCITE-4251] Avoid NPE in LoptMultiJoin when mq.getColumnOrigin(left, i) returns null
add 2de7237 [CALCITE-4214] Make org.apache.calcite.rel.type.RelDataType#getSqlTypeName non-nullable
add 6908d21 [CALCITE-4199] Add CheckerFramework to GitHub Actions CI
add 2f2fc40 [CALCITE-4199] Add package-level NonNull annotations to calcite packages
add d9a81b8 [CALCITE-4199] Add nullability annotations
add 853fb03 [CALCITE-4284] ImmutableBeans: make reference properties non-nullable by default
add 3d13846 Refactor SqlParserPos
No new revisions were added by this update.
Summary of changes:
.editorconfig | 3 +
.github/workflows/main.yml | 18 +
bom/build.gradle.kts | 4 +-
build.gradle.kts | 44 ++
.../calcite/adapter/cassandra/CassandraFilter.java | 4 +-
.../calcite/adapter/cassandra/CassandraLimit.java | 4 +-
.../adapter/cassandra/CassandraProject.java | 4 +-
.../calcite/adapter/cassandra/CassandraSort.java | 4 +-
.../cassandra/CassandraToEnumerableConverter.java | 4 +-
core/build.gradle.kts | 3 +-
core/src/main/codegen/templates/Parser.jj | 17 +-
.../main/java/org/apache/calcite/DataContext.java | 10 +-
.../apache/calcite/adapter/clone/ArrayTable.java | 108 +--
.../apache/calcite/adapter/clone/CloneSchema.java | 6 +-
.../apache/calcite/adapter/clone/ColumnLoader.java | 49 +-
.../calcite/adapter/enumerable/AggAddContext.java | 4 +-
.../calcite/adapter/enumerable/AggImpState.java | 19 +-
.../adapter/enumerable/AggResultContext.java | 4 +-
.../calcite/adapter/enumerable/EnumUtils.java | 161 +++--
.../adapter/enumerable/EnumerableAggregate.java | 17 +-
.../enumerable/EnumerableAggregateBase.java | 19 +-
.../enumerable/EnumerableAggregateRule.java | 4 +-
.../enumerable/EnumerableBatchNestedLoopJoin.java | 11 +-
.../adapter/enumerable/EnumerableBindable.java | 13 +-
.../calcite/adapter/enumerable/EnumerableCalc.java | 6 +-
.../adapter/enumerable/EnumerableConvention.java | 8 +-
.../adapter/enumerable/EnumerableCorrelate.java | 6 +-
.../adapter/enumerable/EnumerableFilter.java | 6 +-
.../adapter/enumerable/EnumerableHashJoin.java | 8 +-
.../enumerable/EnumerableInterpretable.java | 23 +-
.../adapter/enumerable/EnumerableInterpreter.java | 10 +-
.../adapter/enumerable/EnumerableIntersect.java | 4 +-
.../adapter/enumerable/EnumerableLimit.java | 14 +-
.../adapter/enumerable/EnumerableLimitSort.java | 19 +-
.../adapter/enumerable/EnumerableMatch.java | 33 +-
.../adapter/enumerable/EnumerableMergeJoin.java | 44 +-
.../enumerable/EnumerableMergeJoinRule.java | 4 +-
.../adapter/enumerable/EnumerableMinus.java | 6 +-
.../enumerable/EnumerableNestedLoopJoin.java | 8 +-
.../adapter/enumerable/EnumerableProject.java | 6 +-
.../calcite/adapter/enumerable/EnumerableRel.java | 6 +-
.../adapter/enumerable/EnumerableRelFactories.java | 7 +-
.../enumerable/EnumerableRelImplementor.java | 6 +-
.../calcite/adapter/enumerable/EnumerableSort.java | 14 +-
.../adapter/enumerable/EnumerableSortRule.java | 4 +-
.../enumerable/EnumerableSortedAggregate.java | 24 +-
.../enumerable/EnumerableSortedAggregateRule.java | 4 +-
.../enumerable/EnumerableTableFunctionScan.java | 19 +-
.../adapter/enumerable/EnumerableTableModify.java | 6 +-
.../enumerable/EnumerableTableModifyRule.java | 4 +-
.../adapter/enumerable/EnumerableTableScan.java | 19 +-
.../enumerable/EnumerableTableScanRule.java | 4 +-
.../adapter/enumerable/EnumerableTraitsUtils.java | 9 +-
.../adapter/enumerable/EnumerableUncollect.java | 4 +-
.../adapter/enumerable/EnumerableUnion.java | 4 +-
.../adapter/enumerable/EnumerableValues.java | 12 +-
.../adapter/enumerable/EnumerableWindow.java | 73 +-
.../calcite/adapter/enumerable/JavaRowFormat.java | 16 +-
.../adapter/enumerable/NestedBlockBuilderImpl.java | 1 +
.../calcite/adapter/enumerable/PhysType.java | 6 +-
.../calcite/adapter/enumerable/PhysTypeImpl.java | 12 +-
.../calcite/adapter/enumerable/RexImpTable.java | 76 +-
.../adapter/enumerable/RexToLixTranslator.java | 113 +--
.../adapter/enumerable/StrictAggImplementor.java | 5 +-
.../enumerable/impl/AggResultContextImpl.java | 27 +-
.../calcite/adapter/java/ReflectiveSchema.java | 39 +-
.../calcite/adapter/jdbc/JdbcCatalogSchema.java | 20 +-
.../calcite/adapter/jdbc/JdbcQueryProvider.java | 4 +-
.../org/apache/calcite/adapter/jdbc/JdbcRules.java | 93 ++-
.../apache/calcite/adapter/jdbc/JdbcSchema.java | 68 +-
.../org/apache/calcite/adapter/jdbc/JdbcTable.java | 27 +-
.../apache/calcite/adapter/jdbc/JdbcTableScan.java | 4 +-
.../adapter/jdbc/JdbcToEnumerableConverter.java | 27 +-
.../jdbc/JdbcToEnumerableConverterRule.java | 4 +-
.../org/apache/calcite/adapter/jdbc/JdbcUtils.java | 44 +-
.../org/apache/calcite/adapter/package-info.java | 7 +
.../calcite/config/CalciteConnectionConfig.java | 33 +-
.../config/CalciteConnectionConfigImpl.java | 19 +-
.../calcite/config/CalciteConnectionProperty.java | 16 +-
.../calcite/config/CalciteSystemProperty.java | 7 +-
.../org/apache/calcite/config/package-info.java | 7 +
.../apache/calcite/interpreter/AggregateNode.java | 69 +-
.../calcite/interpreter/BindableConvention.java | 4 +-
.../org/apache/calcite/interpreter/Bindables.java | 71 +-
.../apache/calcite/interpreter/CollectNode.java | 4 +-
.../org/apache/calcite/interpreter/Compiler.java | 4 +-
.../org/apache/calcite/interpreter/Context.java | 5 +-
.../interpreter/InterpretableConverter.java | 4 +-
.../calcite/interpreter/InterpretableRel.java | 6 +-
.../apache/calcite/interpreter/Interpreter.java | 86 ++-
.../apache/calcite/interpreter/Interpreters.java | 4 +-
.../org/apache/calcite/interpreter/JoinNode.java | 12 +-
.../java/org/apache/calcite/interpreter/Nodes.java | 4 +-
.../interpreter/NoneToBindableConverterRule.java | 4 +-
.../java/org/apache/calcite/interpreter/Row.java | 28 +-
.../org/apache/calcite/interpreter/Scalar.java | 6 +-
.../org/apache/calcite/interpreter/SortNode.java | 12 +-
.../org/apache/calcite/interpreter/Source.java | 4 +-
.../apache/calcite/interpreter/TableScanNode.java | 33 +-
.../org/apache/calcite/interpreter/ValuesNode.java | 5 +-
.../apache/calcite/interpreter/package-info.java | 7 +
.../apache/calcite/jdbc/CachingCalciteSchema.java | 38 +-
.../apache/calcite/jdbc/CalciteConnectionImpl.java | 53 +-
.../org/apache/calcite/jdbc/CalciteFactory.java | 4 +-
.../apache/calcite/jdbc/CalciteJdbc41Factory.java | 52 +-
.../org/apache/calcite/jdbc/CalciteMetaImpl.java | 36 +-
.../org/apache/calcite/jdbc/CalcitePrepare.java | 62 +-
.../calcite/jdbc/CalcitePreparedStatement.java | 4 +-
.../org/apache/calcite/jdbc/CalciteSchema.java | 61 +-
.../org/apache/calcite/jdbc/CalciteStatement.java | 4 +-
.../main/java/org/apache/calcite/jdbc/Driver.java | 17 +-
.../org/apache/calcite/jdbc/JavaCollation.java | 9 +-
.../org/apache/calcite/jdbc/JavaRecordType.java | 6 +-
.../apache/calcite/jdbc/JavaTypeFactoryImpl.java | 27 +-
.../apache/calcite/jdbc/SimpleCalciteSchema.java | 32 +-
.../java/org/apache/calcite/jdbc/package-info.java | 7 +
.../org/apache/calcite/materialize/Lattice.java | 109 +--
.../calcite/materialize/LatticeChildNode.java | 7 +-
.../apache/calcite/materialize/LatticeNode.java | 17 +-
.../calcite/materialize/LatticeRootNode.java | 1 +
.../apache/calcite/materialize/LatticeSpace.java | 9 +-
.../calcite/materialize/LatticeSuggester.java | 62 +-
.../apache/calcite/materialize/LatticeTable.java | 9 +-
.../calcite/materialize/MaterializationActor.java | 18 +-
.../calcite/materialize/MaterializationKey.java | 4 +-
.../materialize/MaterializationService.java | 59 +-
.../apache/calcite/materialize/MutableNode.java | 21 +-
.../java/org/apache/calcite/materialize/Path.java | 4 +-
.../ProfilerLatticeStatisticProvider.java | 6 +-
.../materialize/SqlLatticeStatisticProvider.java | 20 +-
.../java/org/apache/calcite/materialize/Step.java | 11 +-
.../org/apache/calcite/materialize/TileKey.java | 4 +-
.../apache/calcite/materialize/TileSuggester.java | 7 +-
.../apache/calcite/materialize/package-info.java | 7 +
.../java/org/apache/calcite/model/JsonColumn.java | 12 +-
.../org/apache/calcite/model/JsonCustomSchema.java | 25 +-
.../org/apache/calcite/model/JsonCustomTable.java | 23 +-
.../org/apache/calcite/model/JsonFunction.java | 27 +-
.../org/apache/calcite/model/JsonJdbcSchema.java | 48 +-
.../java/org/apache/calcite/model/JsonLattice.java | 60 +-
.../org/apache/calcite/model/JsonMapSchema.java | 14 +
.../apache/calcite/model/JsonMaterialization.java | 27 +-
.../java/org/apache/calcite/model/JsonMeasure.java | 19 +-
.../java/org/apache/calcite/model/JsonRoot.java | 19 +-
.../java/org/apache/calcite/model/JsonSchema.java | 18 +-
.../java/org/apache/calcite/model/JsonStream.java | 17 +-
.../java/org/apache/calcite/model/JsonTable.java | 13 +-
.../java/org/apache/calcite/model/JsonTile.java | 14 +-
.../java/org/apache/calcite/model/JsonType.java | 19 +-
.../apache/calcite/model/JsonTypeAttribute.java | 17 +-
.../java/org/apache/calcite/model/JsonView.java | 25 +-
.../org/apache/calcite/model/ModelHandler.java | 121 ++--
.../org/apache/calcite/model/package-info.java | 7 +
.../apache/calcite/plan/AbstractRelOptPlanner.java | 53 +-
.../java/org/apache/calcite/plan/Contexts.java | 10 +-
.../java/org/apache/calcite/plan/Convention.java | 6 +-
.../apache/calcite/plan/ConventionTraitDef.java | 17 +-
.../org/apache/calcite/plan/RelCompositeTrait.java | 4 +-
.../apache/calcite/plan/RelOptAbstractTable.java | 14 +-
.../org/apache/calcite/plan/RelOptCluster.java | 28 +-
.../org/apache/calcite/plan/RelOptCostImpl.java | 4 +-
.../org/apache/calcite/plan/RelOptLattice.java | 7 +-
.../org/apache/calcite/plan/RelOptListener.java | 10 +-
.../apache/calcite/plan/RelOptMaterialization.java | 55 +-
.../calcite/plan/RelOptMaterializations.java | 2 +-
.../org/apache/calcite/plan/RelOptPlanner.java | 19 +-
.../apache/calcite/plan/RelOptPredicateList.java | 17 +
.../java/org/apache/calcite/plan/RelOptQuery.java | 4 +-
.../java/org/apache/calcite/plan/RelOptRule.java | 22 +-
.../org/apache/calcite/plan/RelOptRuleCall.java | 9 +-
.../org/apache/calcite/plan/RelOptRuleOperand.java | 26 +-
.../java/org/apache/calcite/plan/RelOptSchema.java | 4 +-
.../calcite/plan/RelOptSchemaWithSampling.java | 8 +-
.../java/org/apache/calcite/plan/RelOptTable.java | 16 +-
.../java/org/apache/calcite/plan/RelOptUtil.java | 199 +++---
.../main/java/org/apache/calcite/plan/RelRule.java | 15 +-
.../java/org/apache/calcite/plan/RelTrait.java | 4 +-
.../java/org/apache/calcite/plan/RelTraitDef.java | 4 +-
.../calcite/plan/RelTraitPropagationVisitor.java | 4 +-
.../java/org/apache/calcite/plan/RelTraitSet.java | 32 +-
.../apache/calcite/plan/RexImplicationChecker.java | 58 +-
.../apache/calcite/plan/SubstitutionVisitor.java | 102 +--
.../org/apache/calcite/plan/TableAccessMap.java | 5 +-
.../org/apache/calcite/plan/ViewExpanders.java | 8 +-
.../apache/calcite/plan/VisitorDataContext.java | 33 +-
.../apache/calcite/plan/hep/HepInstruction.java | 29 +-
.../org/apache/calcite/plan/hep/HepPlanner.java | 100 ++-
.../org/apache/calcite/plan/hep/HepProgram.java | 6 +-
.../apache/calcite/plan/hep/HepProgramBuilder.java | 11 +-
.../calcite/plan/hep/HepRelMetadataProvider.java | 17 +-
.../org/apache/calcite/plan/hep/HepRelVertex.java | 6 +-
.../org/apache/calcite/plan/hep/HepRuleCall.java | 4 +-
.../java/org/apache/calcite/plan/package-info.java | 7 +
.../calcite/plan/volcano/AbstractConverter.java | 7 +-
.../org/apache/calcite/plan/volcano/Dumpers.java | 29 +-
.../calcite/plan/volcano/IterativeRuleDriver.java | 5 +-
.../calcite/plan/volcano/IterativeRuleQueue.java | 14 +-
.../org/apache/calcite/plan/volcano/RelSet.java | 30 +-
.../org/apache/calcite/plan/volcano/RelSubset.java | 76 +-
.../org/apache/calcite/plan/volcano/RuleQueue.java | 2 +-
.../calcite/plan/volcano/TopDownRuleDriver.java | 64 +-
.../calcite/plan/volcano/TopDownRuleQueue.java | 4 +-
.../apache/calcite/plan/volcano/VolcanoCost.java | 4 +-
.../calcite/plan/volcano/VolcanoPlanner.java | 160 +++--
.../plan/volcano/VolcanoRelMetadataProvider.java | 17 +-
.../calcite/plan/volcano/VolcanoRuleCall.java | 23 +-
.../calcite/plan/volcano/VolcanoRuleMatch.java | 1 +
.../calcite/prepare/CalciteCatalogReader.java | 18 +-
.../calcite/prepare/CalciteMaterializer.java | 13 +-
.../apache/calcite/prepare/CalcitePrepareImpl.java | 68 +-
.../apache/calcite/prepare/LixToRelTranslator.java | 51 +-
.../org/apache/calcite/prepare/PlannerImpl.java | 76 +-
.../java/org/apache/calcite/prepare/Prepare.java | 99 +--
.../calcite/prepare/QueryableRelBuilder.java | 25 +-
.../apache/calcite/prepare/RelOptTableImpl.java | 89 +--
.../org/apache/calcite/prepare/package-info.java | 7 +
.../java/org/apache/calcite/profile/Profiler.java | 32 +-
.../org/apache/calcite/profile/ProfilerImpl.java | 48 +-
.../org/apache/calcite/profile/SimpleProfiler.java | 39 +-
.../org/apache/calcite/profile/package-info.java | 7 +
.../org/apache/calcite/rel/AbstractRelNode.java | 66 +-
.../java/org/apache/calcite/rel/PhysicalNode.java | 10 +-
.../java/org/apache/calcite/rel/RelCollation.java | 5 +-
.../org/apache/calcite/rel/RelCollationImpl.java | 7 +-
.../apache/calcite/rel/RelCollationTraitDef.java | 4 +-
.../java/org/apache/calcite/rel/RelCollations.java | 6 +-
.../org/apache/calcite/rel/RelDistribution.java | 5 +-
.../calcite/rel/RelDistributionTraitDef.java | 4 +-
.../org/apache/calcite/rel/RelDistributions.java | 11 +-
.../org/apache/calcite/rel/RelFieldCollation.java | 13 +-
.../main/java/org/apache/calcite/rel/RelInput.java | 20 +-
.../main/java/org/apache/calcite/rel/RelNode.java | 21 +-
.../java/org/apache/calcite/rel/RelVisitor.java | 10 +-
.../java/org/apache/calcite/rel/RelWriter.java | 8 +-
.../org/apache/calcite/rel/convert/Converter.java | 4 +-
.../apache/calcite/rel/convert/ConverterImpl.java | 10 +-
.../apache/calcite/rel/convert/ConverterRule.java | 8 +-
.../calcite/rel/convert/TraitMatchingRule.java | 4 +-
.../org/apache/calcite/rel/core/Aggregate.java | 16 +-
.../org/apache/calcite/rel/core/AggregateCall.java | 30 +-
.../java/org/apache/calcite/rel/core/Calc.java | 9 +-
.../java/org/apache/calcite/rel/core/Collect.java | 4 +-
.../org/apache/calcite/rel/core/Correlate.java | 26 +-
.../org/apache/calcite/rel/core/CorrelationId.java | 4 +-
.../java/org/apache/calcite/rel/core/Exchange.java | 4 +-
.../java/org/apache/calcite/rel/core/Filter.java | 19 +-
.../org/apache/calcite/rel/core/Intersect.java | 7 +-
.../java/org/apache/calcite/rel/core/Join.java | 11 +-
.../java/org/apache/calcite/rel/core/Match.java | 10 +-
.../java/org/apache/calcite/rel/core/Project.java | 32 +-
.../org/apache/calcite/rel/core/RelFactories.java | 131 ++--
.../java/org/apache/calcite/rel/core/Sample.java | 4 +-
.../java/org/apache/calcite/rel/core/Snapshot.java | 5 +-
.../java/org/apache/calcite/rel/core/Sort.java | 14 +-
.../apache/calcite/rel/core/TableFunctionScan.java | 27 +-
.../org/apache/calcite/rel/core/TableModify.java | 42 +-
.../org/apache/calcite/rel/core/TableScan.java | 10 +-
.../org/apache/calcite/rel/core/Uncollect.java | 6 +-
.../java/org/apache/calcite/rel/core/Values.java | 8 +-
.../java/org/apache/calcite/rel/core/Window.java | 17 +-
.../calcite/rel/externalize/RelDotWriter.java | 22 +-
.../calcite/rel/externalize/RelEnumTypes.java | 8 +-
.../apache/calcite/rel/externalize/RelJson.java | 178 +++--
.../calcite/rel/externalize/RelJsonReader.java | 91 ++-
.../calcite/rel/externalize/RelJsonWriter.java | 33 +-
.../calcite/rel/externalize/RelWriterImpl.java | 16 +-
.../calcite/rel/externalize/RelXmlWriter.java | 15 +-
.../org/apache/calcite/rel/hint/HintStrategy.java | 10 +-
.../apache/calcite/rel/hint/HintStrategyTable.java | 23 +-
.../java/org/apache/calcite/rel/hint/RelHint.java | 5 +-
.../calcite/rel/logical/LogicalAggregate.java | 10 +-
.../calcite/rel/logical/LogicalCorrelate.java | 7 +-
.../apache/calcite/rel/logical/LogicalFilter.java | 4 +-
.../apache/calcite/rel/logical/LogicalJoin.java | 14 +-
.../apache/calcite/rel/logical/LogicalMatch.java | 10 +-
.../apache/calcite/rel/logical/LogicalProject.java | 11 +-
.../apache/calcite/rel/logical/LogicalSort.java | 8 +-
.../rel/logical/LogicalTableFunctionScan.java | 21 +-
.../calcite/rel/logical/LogicalTableModify.java | 10 +-
.../apache/calcite/rel/logical/LogicalValues.java | 2 +-
.../apache/calcite/rel/logical/LogicalWindow.java | 6 +-
.../calcite/rel/metadata/BuiltInMetadata.java | 72 +-
.../rel/metadata/CachingRelMetadataProvider.java | 21 +-
.../rel/metadata/ChainedRelMetadataProvider.java | 9 +-
.../rel/metadata/JaninoRelMetadataProvider.java | 7 +-
.../calcite/rel/metadata/MetadataFactory.java | 4 +-
.../calcite/rel/metadata/MetadataFactoryImpl.java | 31 +-
.../apache/calcite/rel/metadata/NullSentinel.java | 6 +-
.../metadata/ReflectiveRelMetadataProvider.java | 11 +-
.../calcite/rel/metadata/RelColumnOrigin.java | 4 +-
.../calcite/rel/metadata/RelMdAllPredicates.java | 43 +-
.../calcite/rel/metadata/RelMdCollation.java | 83 ++-
.../calcite/rel/metadata/RelMdColumnOrigins.java | 29 +-
.../rel/metadata/RelMdColumnUniqueness.java | 41 +-
.../rel/metadata/RelMdDistinctRowCount.java | 49 +-
.../calcite/rel/metadata/RelMdDistribution.java | 6 +-
.../rel/metadata/RelMdExplainVisibility.java | 4 +-
.../rel/metadata/RelMdExpressionLineage.java | 49 +-
.../calcite/rel/metadata/RelMdLowerBoundCost.java | 8 +-
.../calcite/rel/metadata/RelMdMaxRowCount.java | 26 +-
.../apache/calcite/rel/metadata/RelMdMemory.java | 8 +-
.../calcite/rel/metadata/RelMdMinRowCount.java | 12 +-
.../calcite/rel/metadata/RelMdNodeTypes.java | 50 +-
.../rel/metadata/RelMdPercentageOriginalRows.java | 30 +-
.../calcite/rel/metadata/RelMdPopulationSize.java | 20 +-
.../calcite/rel/metadata/RelMdPredicates.java | 56 +-
.../apache/calcite/rel/metadata/RelMdRowCount.java | 28 +-
.../calcite/rel/metadata/RelMdSelectivity.java | 39 +-
.../org/apache/calcite/rel/metadata/RelMdSize.java | 97 +--
.../calcite/rel/metadata/RelMdTableReferences.java | 36 +-
.../calcite/rel/metadata/RelMdUniqueKeys.java | 28 +-
.../org/apache/calcite/rel/metadata/RelMdUtil.java | 127 ++--
.../calcite/rel/metadata/RelMetadataProvider.java | 4 +-
.../calcite/rel/metadata/RelMetadataQuery.java | 94 +--
.../calcite/rel/metadata/RelMetadataQueryBase.java | 13 +-
.../calcite/rel/metadata/UnboundMetadata.java | 4 +-
.../calcite/rel/mutable/MutableAggregate.java | 8 +-
.../apache/calcite/rel/mutable/MutableBiRel.java | 1 +
.../apache/calcite/rel/mutable/MutableCalc.java | 4 +-
.../apache/calcite/rel/mutable/MutableCollect.java | 4 +-
.../calcite/rel/mutable/MutableCorrelate.java | 4 +-
.../calcite/rel/mutable/MutableExchange.java | 4 +-
.../apache/calcite/rel/mutable/MutableFilter.java | 4 +-
.../apache/calcite/rel/mutable/MutableJoin.java | 4 +-
.../apache/calcite/rel/mutable/MutableMatch.java | 20 +-
.../calcite/rel/mutable/MutableMultiRel.java | 1 +
.../apache/calcite/rel/mutable/MutableProject.java | 6 +-
.../org/apache/calcite/rel/mutable/MutableRel.java | 10 +-
.../calcite/rel/mutable/MutableRelVisitor.java | 12 +-
.../apache/calcite/rel/mutable/MutableRels.java | 20 +-
.../apache/calcite/rel/mutable/MutableSample.java | 4 +-
.../apache/calcite/rel/mutable/MutableScan.java | 25 +-
.../apache/calcite/rel/mutable/MutableSetOp.java | 4 +-
.../calcite/rel/mutable/MutableSingleRel.java | 1 +
.../apache/calcite/rel/mutable/MutableSort.java | 12 +-
.../rel/mutable/MutableTableFunctionScan.java | 12 +-
.../calcite/rel/mutable/MutableTableModify.java | 16 +-
.../calcite/rel/mutable/MutableUncollect.java | 4 +-
.../apache/calcite/rel/mutable/MutableValues.java | 4 +-
.../apache/calcite/rel/mutable/MutableWindow.java | 4 +-
.../java/org/apache/calcite/rel/package-info.java | 7 +
.../calcite/rel/rel2sql/RelToSqlConverter.java | 76 +-
.../apache/calcite/rel/rel2sql/SqlImplementor.java | 126 ++--
.../rel/rules/AggregateCaseToFilterRule.java | 3 +-
.../AggregateExpandDistinctAggregatesRule.java | 41 +-
.../rel/rules/AggregateJoinTransposeRule.java | 34 +-
.../calcite/rel/rules/AggregateMergeRule.java | 11 +-
.../rel/rules/AggregateProjectMergeRule.java | 10 +-
.../rules/AggregateProjectPullUpConstantsRule.java | 11 +-
.../rel/rules/AggregateReduceFunctionsRule.java | 9 +-
.../calcite/rel/rules/AggregateRemoveRule.java | 12 +-
.../calcite/rel/rules/AggregateStarTableRule.java | 18 +-
.../rel/rules/AggregateUnionTransposeRule.java | 4 +-
.../apache/calcite/rel/rules/CalcRelSplitter.java | 8 +-
.../apache/calcite/rel/rules/CoerceInputsRule.java | 4 +-
.../apache/calcite/rel/rules/DateRangeRules.java | 82 ++-
.../rel/rules/ExchangeRemoveConstantKeysRule.java | 4 +-
.../apache/calcite/rel/rules/FilterJoinRule.java | 9 +-
.../rel/rules/FilterMultiJoinMergeRule.java | 4 +-
.../apache/calcite/rel/rules/JoinCommuteRule.java | 8 +-
.../rel/rules/JoinProjectTransposeRule.java | 9 +-
.../calcite/rel/rules/JoinToMultiJoinRule.java | 44 +-
.../org/apache/calcite/rel/rules/LoptJoinTree.java | 14 +-
.../apache/calcite/rel/rules/LoptMultiJoin.java | 82 ++-
.../calcite/rel/rules/LoptOptimizeJoinRule.java | 66 +-
.../calcite/rel/rules/LoptSemiJoinOptimizer.java | 29 +-
.../org/apache/calcite/rel/rules/MultiJoin.java | 32 +-
.../rel/rules/MultiJoinOptimizeBushyRule.java | 4 +-
.../rel/rules/ProjectAggregateMergeRule.java | 3 +-
.../rel/rules/ProjectCorrelateTransposeRule.java | 9 +-
.../rel/rules/ProjectFilterTransposeRule.java | 4 +-
.../rel/rules/ProjectJoinJoinRemoveRule.java | 2 +-
.../calcite/rel/rules/ProjectJoinRemoveRule.java | 5 +-
.../rel/rules/ProjectJoinTransposeRule.java | 4 +-
.../apache/calcite/rel/rules/PushProjector.java | 32 +-
.../calcite/rel/rules/ReduceDecimalsRule.java | 29 +-
.../calcite/rel/rules/ReduceExpressionsRule.java | 18 +-
.../rel/rules/SemiJoinProjectTransposeRule.java | 5 +-
.../org/apache/calcite/rel/rules/SemiJoinRule.java | 4 +-
.../rel/rules/SortRemoveConstantKeysRule.java | 2 +-
.../apache/calcite/rel/rules/SortRemoveRule.java | 3 +-
.../org/apache/calcite/rel/rules/SpatialRules.java | 18 +-
.../calcite/rel/rules/SubQueryRemoveRule.java | 8 +-
.../rel/rules/UnionPullUpConstantsRule.java | 2 +-
.../apache/calcite/rel/rules/ValuesReduceRule.java | 13 +-
.../materialize/MaterializedViewAggregateRule.java | 72 +-
.../materialize/MaterializedViewJoinRule.java | 60 +-
.../rules/materialize/MaterializedViewRule.java | 84 ++-
.../calcite/rel/type/DelegatingTypeSystem.java | 4 +-
.../calcite/rel/type/DynamicRecordTypeImpl.java | 9 +-
.../org/apache/calcite/rel/type/RelCrossType.java | 1 +
.../org/apache/calcite/rel/type/RelDataType.java | 27 +-
.../calcite/rel/type/RelDataTypeFactory.java | 8 +-
.../calcite/rel/type/RelDataTypeFactoryImpl.java | 58 +-
.../apache/calcite/rel/type/RelDataTypeField.java | 2 +
.../calcite/rel/type/RelDataTypeFieldImpl.java | 4 +-
.../apache/calcite/rel/type/RelDataTypeImpl.java | 50 +-
.../apache/calcite/rel/type/RelDataTypeSystem.java | 12 +-
.../calcite/rel/type/RelDataTypeSystemImpl.java | 4 +-
.../org/apache/calcite/rel/type/RelRecordType.java | 9 +-
.../java/org/apache/calcite/rex/LogicVisitor.java | 23 +-
.../org/apache/calcite/rex/RexBiVisitorImpl.java | 4 +-
.../java/org/apache/calcite/rex/RexBuilder.java | 73 +-
.../main/java/org/apache/calcite/rex/RexCall.java | 38 +-
.../org/apache/calcite/rex/RexCallBinding.java | 6 +-
.../java/org/apache/calcite/rex/RexChecker.java | 15 +-
.../org/apache/calcite/rex/RexCorrelVariable.java | 6 +-
.../org/apache/calcite/rex/RexDynamicParam.java | 4 +-
.../java/org/apache/calcite/rex/RexExecutable.java | 36 +-
.../org/apache/calcite/rex/RexExecutorImpl.java | 4 +-
.../org/apache/calcite/rex/RexFieldAccess.java | 4 +-
.../java/org/apache/calcite/rex/RexInputRef.java | 4 +-
.../org/apache/calcite/rex/RexInterpreter.java | 4 +-
.../java/org/apache/calcite/rex/RexLiteral.java | 109 +--
.../java/org/apache/calcite/rex/RexLocalRef.java | 4 +-
.../org/apache/calcite/rex/RexMultisetUtil.java | 4 +-
.../main/java/org/apache/calcite/rex/RexNode.java | 11 +-
.../java/org/apache/calcite/rex/RexNormalize.java | 2 +-
.../main/java/org/apache/calcite/rex/RexOver.java | 9 +-
.../calcite/rex/RexPermuteInputsShuttle.java | 4 +-
.../java/org/apache/calcite/rex/RexProgram.java | 61 +-
.../org/apache/calcite/rex/RexProgramBuilder.java | 46 +-
.../java/org/apache/calcite/rex/RexRangeRef.java | 4 +-
.../java/org/apache/calcite/rex/RexShuttle.java | 21 +-
.../java/org/apache/calcite/rex/RexSimplify.java | 107 +--
.../org/apache/calcite/rex/RexSqlConvertlet.java | 4 +-
.../apache/calcite/rex/RexSqlConvertletTable.java | 4 +-
.../rex/RexSqlReflectiveConvertletTable.java | 6 +-
.../calcite/rex/RexSqlStandardConvertletTable.java | 14 +-
.../java/org/apache/calcite/rex/RexSubQuery.java | 7 +-
.../org/apache/calcite/rex/RexTableInputRef.java | 9 +-
.../apache/calcite/rex/RexToSqlNodeConverter.java | 10 +-
.../calcite/rex/RexToSqlNodeConverterImpl.java | 33 +-
.../org/apache/calcite/rex/RexUnaryBiVisitor.java | 4 +-
.../java/org/apache/calcite/rex/RexUnknownAs.java | 4 +-
.../main/java/org/apache/calcite/rex/RexUtil.java | 106 +--
.../org/apache/calcite/rex/RexVisitorImpl.java | 4 +-
.../java/org/apache/calcite/rex/RexWindow.java | 5 +-
.../org/apache/calcite/rex/RexWindowBound.java | 13 +-
.../org/apache/calcite/rex/RexWindowBounds.java | 11 +-
.../java/org/apache/calcite/rex/package-info.java | 7 +
.../calcite/runtime/AbstractImmutableList.java | 29 +-
.../org/apache/calcite/runtime/ArrayBindable.java | 4 +-
.../calcite/runtime/ArrayEnumeratorCursor.java | 6 +-
.../java/org/apache/calcite/runtime/Automaton.java | 4 +-
.../apache/calcite/runtime/AutomatonBuilder.java | 2 +
.../calcite/runtime/CalciteContextException.java | 19 +-
.../apache/calcite/runtime/CalciteException.java | 1 +
.../apache/calcite/runtime/CalciteResource.java | 10 +-
.../calcite/runtime/CompressionFunctions.java | 4 +-
.../java/org/apache/calcite/runtime/ConsList.java | 28 +-
.../calcite/runtime/DeterministicAutomaton.java | 5 +-
.../org/apache/calcite/runtime/Enumerables.java | 14 +-
.../java/org/apache/calcite/runtime/FlatLists.java | 113 +--
.../org/apache/calcite/runtime/GeoFunctions.java | 84 ++-
.../org/apache/calcite/runtime/Geometries.java | 8 +-
.../main/java/org/apache/calcite/runtime/Hook.java | 11 +-
.../org/apache/calcite/runtime/JsonFunctions.java | 96 +--
.../main/java/org/apache/calcite/runtime/Like.java | 6 +-
.../java/org/apache/calcite/runtime/Matcher.java | 6 +-
.../org/apache/calcite/runtime/PredicateImpl.java | 2 +-
.../org/apache/calcite/runtime/RandomFunction.java | 4 +-
.../java/org/apache/calcite/runtime/Resources.java | 148 ++--
.../calcite/runtime/ResultSetEnumerable.java | 47 +-
.../calcite/runtime/SpaceFillingCurve2D.java | 1 +
.../org/apache/calcite/runtime/SqlFunctions.java | 299 ++++----
.../calcite/runtime/TrustAllSslSocketFactory.java | 12 +-
.../java/org/apache/calcite/runtime/Utilities.java | 21 +-
.../org/apache/calcite/runtime/XmlFunctions.java | 44 +-
.../org/apache/calcite/runtime/package-info.java | 7 +
.../org/apache/calcite/schema/FilterableTable.java | 4 +-
.../org/apache/calcite/schema/ModifiableTable.java | 8 +-
.../calcite/schema/ProjectableFilterableTable.java | 8 +-
.../org/apache/calcite/schema/ScannableTable.java | 4 +-
.../java/org/apache/calcite/schema/Schema.java | 10 +-
.../java/org/apache/calcite/schema/SchemaPlus.java | 8 +-
.../java/org/apache/calcite/schema/Schemas.java | 89 ++-
.../java/org/apache/calcite/schema/Statistic.java | 12 +-
.../java/org/apache/calcite/schema/Statistics.java | 26 +-
.../main/java/org/apache/calcite/schema/Table.java | 4 +-
.../org/apache/calcite/schema/TableFactory.java | 5 +-
.../org/apache/calcite/schema/TableFunction.java | 6 +-
.../java/org/apache/calcite/schema/TableMacro.java | 4 +-
.../org/apache/calcite/schema/TemporalTable.java | 6 +-
.../java/org/apache/calcite/schema/Wrapper.java | 26 +-
.../apache/calcite/schema/impl/AbstractSchema.java | 22 +-
.../apache/calcite/schema/impl/AbstractTable.java | 6 +-
.../calcite/schema/impl/AggregateFunctionImpl.java | 12 +-
.../calcite/schema/impl/DelegatingSchema.java | 10 +-
.../calcite/schema/impl/ListTransientTable.java | 19 +-
.../calcite/schema/impl/LongSchemaVersion.java | 4 +-
.../calcite/schema/impl/MaterializedViewTable.java | 13 +-
.../calcite/schema/impl/ModifiableViewTable.java | 22 +-
.../schema/impl/ReflectiveFunctionBase.java | 4 +-
.../calcite/schema/impl/ScalarFunctionImpl.java | 4 +-
.../org/apache/calcite/schema/impl/StarTable.java | 11 +-
.../calcite/schema/impl/TableFunctionImpl.java | 22 +-
.../apache/calcite/schema/impl/TableMacroImpl.java | 15 +-
.../org/apache/calcite/schema/impl/ViewTable.java | 13 +-
.../apache/calcite/schema/impl/ViewTableMacro.java | 25 +-
.../org/apache/calcite/schema/package-info.java | 7 +
.../calcite/server/CalciteServerStatement.java | 6 +-
.../org/apache/calcite/server/DdlExecutorImpl.java | 1 +
.../org/apache/calcite/server/package-info.java | 7 +
.../calcite/sql/ExplicitOperatorBinding.java | 6 +-
.../calcite/sql/SqlAbstractDateTimeLiteral.java | 4 +-
.../org/apache/calcite/sql/SqlAggFunction.java | 31 +-
.../main/java/org/apache/calcite/sql/SqlAlter.java | 11 +-
.../java/org/apache/calcite/sql/SqlBasicCall.java | 23 +-
.../apache/calcite/sql/SqlBasicTypeNameSpec.java | 10 +-
.../org/apache/calcite/sql/SqlBinaryOperator.java | 17 +-
.../apache/calcite/sql/SqlBinaryStringLiteral.java | 12 +-
.../main/java/org/apache/calcite/sql/SqlCall.java | 49 +-
.../org/apache/calcite/sql/SqlCallBinding.java | 28 +-
.../apache/calcite/sql/SqlCharStringLiteral.java | 17 +-
.../java/org/apache/calcite/sql/SqlCollation.java | 19 +-
.../org/apache/calcite/sql/SqlDataTypeSpec.java | 22 +-
.../org/apache/calcite/sql/SqlDateLiteral.java | 6 +-
.../java/org/apache/calcite/sql/SqlDelete.java | 26 +-
.../org/apache/calcite/sql/SqlDescribeSchema.java | 10 +-
.../org/apache/calcite/sql/SqlDescribeTable.java | 22 +-
.../java/org/apache/calcite/sql/SqlDialect.java | 161 ++---
.../apache/calcite/sql/SqlDialectFactoryImpl.java | 4 +-
.../org/apache/calcite/sql/SqlDynamicParam.java | 6 +-
.../java/org/apache/calcite/sql/SqlExplain.java | 24 +-
.../java/org/apache/calcite/sql/SqlFunction.java | 53 +-
.../apache/calcite/sql/SqlFunctionalOperator.java | 8 +-
.../calcite/sql/SqlGroupedWindowFunction.java | 18 +-
.../main/java/org/apache/calcite/sql/SqlHint.java | 22 +-
.../java/org/apache/calcite/sql/SqlIdentifier.java | 30 +-
.../org/apache/calcite/sql/SqlInfixOperator.java | 8 +-
.../java/org/apache/calcite/sql/SqlInsert.java | 22 +-
.../apache/calcite/sql/SqlInternalOperator.java | 4 +-
.../org/apache/calcite/sql/SqlIntervalLiteral.java | 10 +-
.../apache/calcite/sql/SqlIntervalQualifier.java | 28 +-
.../apache/calcite/sql/SqlJdbcDataTypeName.java | 8 +-
.../apache/calcite/sql/SqlJdbcFunctionCall.java | 56 +-
.../main/java/org/apache/calcite/sql/SqlJoin.java | 44 +-
.../java/org/apache/calcite/sql/SqlLiteral.java | 103 +--
.../org/apache/calcite/sql/SqlMatchFunction.java | 4 +-
.../org/apache/calcite/sql/SqlMatchRecognize.java | 51 +-
.../main/java/org/apache/calcite/sql/SqlMerge.java | 48 +-
.../main/java/org/apache/calcite/sql/SqlNode.java | 33 +-
.../java/org/apache/calcite/sql/SqlNodeList.java | 87 ++-
.../calcite/sql/SqlNullTreatmentOperator.java | 6 +-
.../org/apache/calcite/sql/SqlNumericLiteral.java | 36 +-
.../java/org/apache/calcite/sql/SqlOperator.java | 79 ++-
.../org/apache/calcite/sql/SqlOperatorBinding.java | 14 +-
.../org/apache/calcite/sql/SqlOperatorTable.java | 4 +-
.../java/org/apache/calcite/sql/SqlOrderBy.java | 14 +-
.../main/java/org/apache/calcite/sql/SqlPivot.java | 10 +-
.../org/apache/calcite/sql/SqlPostfixOperator.java | 14 +-
.../org/apache/calcite/sql/SqlPrefixOperator.java | 22 +-
.../org/apache/calcite/sql/SqlRowTypeNameSpec.java | 3 +-
.../java/org/apache/calcite/sql/SqlSelect.java | 98 +--
.../org/apache/calcite/sql/SqlSelectOperator.java | 19 +-
.../java/org/apache/calcite/sql/SqlSetOption.java | 28 +-
.../java/org/apache/calcite/sql/SqlSnapshot.java | 9 +-
.../org/apache/calcite/sql/SqlSpecialOperator.java | 12 +-
.../calcite/sql/SqlSplittableAggFunction.java | 21 +-
.../java/org/apache/calcite/sql/SqlSyntax.java | 8 +-
.../java/org/apache/calcite/sql/SqlTableRef.java | 12 +-
.../org/apache/calcite/sql/SqlTimeLiteral.java | 6 +-
.../apache/calcite/sql/SqlTimestampLiteral.java | 6 +-
.../org/apache/calcite/sql/SqlUnnestOperator.java | 14 +-
.../apache/calcite/sql/SqlUnresolvedFunction.java | 10 +-
.../java/org/apache/calcite/sql/SqlUpdate.java | 30 +-
.../main/java/org/apache/calcite/sql/SqlUtil.java | 96 +--
.../java/org/apache/calcite/sql/SqlWindow.java | 86 ++-
.../apache/calcite/sql/SqlWindowTableFunction.java | 6 +-
.../main/java/org/apache/calcite/sql/SqlWith.java | 10 +-
.../java/org/apache/calcite/sql/SqlWithItem.java | 17 +-
.../java/org/apache/calcite/sql/SqlWriter.java | 24 +-
.../org/apache/calcite/sql/SqlWriterConfig.java | 50 +-
.../org/apache/calcite/sql/advise/SqlAdvisor.java | 43 +-
.../sql/advise/SqlAdvisorGetHintsFunction.java | 8 +-
.../sql/advise/SqlAdvisorGetHintsFunction2.java | 8 +-
.../apache/calcite/sql/advise/SqlAdvisorHint.java | 8 +-
.../apache/calcite/sql/advise/SqlAdvisorHint2.java | 7 +-
.../apache/calcite/sql/advise/SqlSimpleParser.java | 36 +-
.../calcite/sql/ddl/SqlAttributeDefinition.java | 24 +-
.../apache/calcite/sql/ddl/SqlCheckConstraint.java | 7 +-
.../calcite/sql/ddl/SqlColumnDeclaration.java | 15 +-
.../calcite/sql/ddl/SqlCreateForeignSchema.java | 25 +-
.../calcite/sql/ddl/SqlCreateMaterializedView.java | 7 +-
.../org/apache/calcite/sql/ddl/SqlCreateTable.java | 9 +-
.../org/apache/calcite/sql/ddl/SqlCreateType.java | 9 +-
.../org/apache/calcite/sql/ddl/SqlCreateView.java | 7 +-
.../apache/calcite/sql/ddl/SqlKeyConstraint.java | 7 +-
.../calcite/sql/dialect/BigQuerySqlDialect.java | 23 +-
.../calcite/sql/dialect/ClickHouseSqlDialect.java | 14 +-
.../apache/calcite/sql/dialect/Db2SqlDialect.java | 2 +-
.../apache/calcite/sql/dialect/HiveSqlDialect.java | 10 +-
.../calcite/sql/dialect/HsqldbSqlDialect.java | 6 +-
.../calcite/sql/dialect/JethroDataSqlDialect.java | 14 +-
.../calcite/sql/dialect/MssqlSqlDialect.java | 19 +-
.../calcite/sql/dialect/MysqlSqlDialect.java | 12 +-
.../calcite/sql/dialect/OracleSqlDialect.java | 4 +-
.../calcite/sql/dialect/PostgresqlSqlDialect.java | 4 +-
.../calcite/sql/dialect/PrestoSqlDialect.java | 14 +-
.../calcite/sql/dialect/RedshiftSqlDialect.java | 6 +-
.../calcite/sql/dialect/SparkSqlDialect.java | 6 +-
.../calcite/sql/dialect/SybaseSqlDialect.java | 13 +-
.../calcite/sql/fun/OracleSqlOperatorTable.java | 6 +-
.../calcite/sql/fun/SqlAbstractGroupFunction.java | 4 +-
.../calcite/sql/fun/SqlAbstractTimeFunction.java | 3 +-
.../calcite/sql/fun/SqlArrayValueConstructor.java | 6 +-
.../calcite/sql/fun/SqlBasicAggFunction.java | 33 +-
.../apache/calcite/sql/fun/SqlBetweenOperator.java | 5 +-
.../calcite/sql/fun/SqlBitOpAggFunction.java | 4 +-
.../java/org/apache/calcite/sql/fun/SqlCase.java | 22 +-
.../apache/calcite/sql/fun/SqlCaseOperator.java | 24 +-
.../apache/calcite/sql/fun/SqlCastFunction.java | 4 +-
.../apache/calcite/sql/fun/SqlConvertFunction.java | 3 +-
.../calcite/sql/fun/SqlCountAggFunction.java | 4 +-
.../org/apache/calcite/sql/fun/SqlDotOperator.java | 19 +-
.../apache/calcite/sql/fun/SqlExtractFunction.java | 8 +-
.../apache/calcite/sql/fun/SqlFloorFunction.java | 3 +-
.../apache/calcite/sql/fun/SqlGeoFunctions.java | 6 +-
.../calcite/sql/fun/SqlInternalOperators.java | 8 +-
.../calcite/sql/fun/SqlIntervalOperator.java | 4 +-
.../apache/calcite/sql/fun/SqlItemOperator.java | 23 +-
.../sql/fun/SqlJsonArrayAggAggFunction.java | 9 +-
.../calcite/sql/fun/SqlJsonArrayFunction.java | 15 +-
.../calcite/sql/fun/SqlJsonDepthFunction.java | 4 +-
.../calcite/sql/fun/SqlJsonObjectFunction.java | 14 +-
.../calcite/sql/fun/SqlJsonPrettyFunction.java | 4 +-
.../calcite/sql/fun/SqlJsonQueryFunction.java | 13 +-
.../calcite/sql/fun/SqlJsonTypeFunction.java | 4 +-
.../calcite/sql/fun/SqlJsonValueFunction.java | 8 +-
.../org/apache/calcite/sql/fun/SqlLibrary.java | 8 +-
.../sql/fun/SqlLibraryOperatorTableFactory.java | 6 +-
.../calcite/sql/fun/SqlLibraryOperators.java | 6 +-
.../apache/calcite/sql/fun/SqlLikeOperator.java | 4 +-
.../calcite/sql/fun/SqlLiteralChainOperator.java | 9 +-
.../calcite/sql/fun/SqlMapValueConstructor.java | 17 +-
.../calcite/sql/fun/SqlMinMaxAggFunction.java | 4 +-
.../sql/fun/SqlMonotonicBinaryOperator.java | 4 -
.../calcite/sql/fun/SqlMonotonicUnaryFunction.java | 4 +-
.../sql/fun/SqlMultisetQueryConstructor.java | 11 +-
.../sql/fun/SqlMultisetValueConstructor.java | 10 +-
.../apache/calcite/sql/fun/SqlOverlayFunction.java | 4 +-
.../calcite/sql/fun/SqlPosixRegexOperator.java | 8 +-
.../apache/calcite/sql/fun/SqlSearchOperator.java | 4 +-
.../calcite/sql/fun/SqlStdOperatorTable.java | 22 +-
.../calcite/sql/fun/SqlSubstringFunction.java | 4 +-
.../apache/calcite/sql/fun/SqlSumAggFunction.java | 4 +-
.../sql/fun/SqlSumEmptyIsZeroAggFunction.java | 4 +-
.../calcite/sql/fun/SqlTimestampAddFunction.java | 4 +-
.../apache/calcite/sql/fun/SqlTrimFunction.java | 6 +-
.../java/org/apache/calcite/sql/package-info.java | 7 +
.../java/org/apache/calcite/sql/parser/Span.java | 9 +-
.../calcite/sql/parser/SqlAbstractParserImpl.java | 20 +-
.../org/apache/calcite/sql/parser/SqlParser.java | 12 +-
.../apache/calcite/sql/parser/SqlParserPos.java | 203 +++---
.../apache/calcite/sql/parser/SqlParserUtil.java | 130 ++--
.../apache/calcite/sql/parser/StringAndPos.java | 6 +-
.../apache/calcite/sql/pretty/SqlPrettyWriter.java | 94 +--
.../apache/calcite/sql/type/AbstractSqlType.java | 4 +-
.../org/apache/calcite/sql/type/ArraySqlType.java | 18 +-
.../sql/type/AssignableOperandTypeChecker.java | 6 +-
.../org/apache/calcite/sql/type/BasicSqlType.java | 16 +-
.../sql/type/CompositeOperandTypeChecker.java | 20 +-
.../type/CompositeSingleOperandTypeChecker.java | 4 +-
.../sql/type/CursorReturnTypeInference.java | 4 +-
.../sql/type/ExplicitOperandTypeChecker.java | 6 +-
.../sql/type/ExplicitOperandTypeInference.java | 3 +-
.../sql/type/JavaToSqlTypeConversionRules.java | 4 +-
.../calcite/sql/type/MatchReturnTypeInference.java | 4 +-
.../sql/type/MultisetOperandTypeChecker.java | 7 +-
.../apache/calcite/sql/type/MultisetSqlType.java | 16 +-
.../calcite/sql/type/NonNullableAccessors.java | 55 ++
.../org/apache/calcite/sql/type/ObjectSqlType.java | 12 +-
.../org/apache/calcite/sql/type/OperandTypes.java | 2 +-
.../org/apache/calcite/sql/type/ReturnTypes.java | 28 +-
.../calcite/sql/type/SameOperandTypeChecker.java | 13 +-
.../SameOperandTypeExceptLastOperandChecker.java | 15 +-
.../calcite/sql/type/SetopOperandTypeChecker.java | 4 +-
.../calcite/sql/type/SqlOperandMetadata.java | 2 -
.../calcite/sql/type/SqlOperandTypeChecker.java | 4 +-
.../calcite/sql/type/SqlReturnTypeInference.java | 4 +-
.../sql/type/SqlReturnTypeInferenceChain.java | 4 +-
.../calcite/sql/type/SqlTypeCoercionRule.java | 7 +-
.../sql/type/SqlTypeExplicitPrecedenceList.java | 4 +-
.../calcite/sql/type/SqlTypeFactoryImpl.java | 19 +-
.../org/apache/calcite/sql/type/SqlTypeFamily.java | 6 +-
.../calcite/sql/type/SqlTypeMappingRules.java | 4 +-
.../org/apache/calcite/sql/type/SqlTypeName.java | 20 +-
.../calcite/sql/type/SqlTypeTransformCascade.java | 4 +-
.../apache/calcite/sql/type/SqlTypeTransforms.java | 20 +-
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 62 +-
.../sql/type/TableFunctionReturnTypeInference.java | 17 +-
.../calcite/sql/util/ChainedSqlOperatorTable.java | 4 +-
.../java/org/apache/calcite/sql/util/IdPair.java | 4 +-
.../calcite/sql/util/ListSqlOperatorTable.java | 4 +-
.../sql/util/ReflectiveSqlOperatorTable.java | 8 +-
.../apache/calcite/sql/util/SqlBasicVisitor.java | 14 +-
.../org/apache/calcite/sql/util/SqlShuttle.java | 34 +-
.../org/apache/calcite/sql/util/SqlString.java | 13 +-
.../calcite/sql/validate/AbstractNamespace.java | 34 +-
.../apache/calcite/sql/validate/AggChecker.java | 15 +-
.../org/apache/calcite/sql/validate/AggFinder.java | 15 +-
.../apache/calcite/sql/validate/AggVisitor.java | 5 +-
.../sql/validate/AggregatingSelectScope.java | 17 +-
.../calcite/sql/validate/AliasNamespace.java | 10 +-
.../calcite/sql/validate/CollectNamespace.java | 4 +-
.../apache/calcite/sql/validate/CollectScope.java | 6 +-
.../calcite/sql/validate/DelegatingNamespace.java | 12 +-
.../calcite/sql/validate/DelegatingScope.java | 32 +-
.../DelegatingSqlValidatorCatalogReader.java | 8 +-
.../apache/calcite/sql/validate/EmptyScope.java | 12 +-
.../calcite/sql/validate/FieldNamespace.java | 12 +-
.../calcite/sql/validate/IdentifierNamespace.java | 32 +-
.../apache/calcite/sql/validate/JoinNamespace.java | 8 +-
.../org/apache/calcite/sql/validate/JoinScope.java | 16 +-
.../org/apache/calcite/sql/validate/ListScope.java | 26 +-
.../sql/validate/MatchRecognizeNamespace.java | 8 +-
.../calcite/sql/validate/MatchRecognizeScope.java | 2 +-
.../apache/calcite/sql/validate/OrderByScope.java | 13 +-
.../calcite/sql/validate/ParameterNamespace.java | 4 +-
.../calcite/sql/validate/ParameterScope.java | 4 +-
.../calcite/sql/validate/PivotNamespace.java | 4 +-
.../apache/calcite/sql/validate/PivotScope.java | 6 +-
.../calcite/sql/validate/ProcedureNamespace.java | 10 +-
.../calcite/sql/validate/SchemaNamespace.java | 10 +-
.../calcite/sql/validate/SelectNamespace.java | 17 +-
.../apache/calcite/sql/validate/SelectScope.java | 24 +-
.../calcite/sql/validate/SetopNamespace.java | 21 +-
.../calcite/sql/validate/SqlMonikerImpl.java | 4 +-
.../calcite/sql/validate/SqlNameMatcher.java | 6 +-
.../calcite/sql/validate/SqlNameMatchers.java | 12 +-
.../sql/validate/SqlNonNullableAccessors.java | 111 +++
.../apache/calcite/sql/validate/SqlQualified.java | 12 +-
.../calcite/sql/validate/SqlScopedShuttle.java | 12 +-
.../sql/validate/SqlUserDefinedAggFunction.java | 10 +-
.../sql/validate/SqlUserDefinedFunction.java | 12 +-
.../sql/validate/SqlUserDefinedTableFunction.java | 10 +-
.../sql/validate/SqlUserDefinedTableMacro.java | 16 +-
.../apache/calcite/sql/validate/SqlValidator.java | 40 +-
.../sql/validate/SqlValidatorCatalogReader.java | 8 +-
.../sql/validate/SqlValidatorException.java | 1 +
.../calcite/sql/validate/SqlValidatorImpl.java | 767 ++++++++++++---------
.../sql/validate/SqlValidatorNamespace.java | 14 +-
.../calcite/sql/validate/SqlValidatorScope.java | 26 +-
.../calcite/sql/validate/SqlValidatorTable.java | 5 +
.../calcite/sql/validate/SqlValidatorUtil.java | 128 ++--
.../sql/validate/SqlValidatorWithHints.java | 6 +-
.../sql/validate/TableConstructorNamespace.java | 4 +-
.../calcite/sql/validate/TableNamespace.java | 12 +-
.../apache/calcite/sql/validate/TableScope.java | 4 +-
.../calcite/sql/validate/UnnestNamespace.java | 9 +-
.../calcite/sql/validate/WithItemNamespace.java | 14 +-
.../apache/calcite/sql/validate/WithNamespace.java | 4 +-
.../org/apache/calcite/sql/validate/WithScope.java | 6 +-
.../validate/implicit/AbstractTypeCoercion.java | 70 +-
.../sql/validate/implicit/TypeCoercion.java | 20 +-
.../sql/validate/implicit/TypeCoercionImpl.java | 66 +-
.../sql2rel/CorrelationReferenceFinder.java | 7 +-
.../sql2rel/DeduplicateCorrelateVariables.java | 7 +-
.../sql2rel/InitializerExpressionFactory.java | 4 +-
.../sql2rel/NullInitializerExpressionFactory.java | 5 +-
.../calcite/sql2rel/ReflectiveConvertletTable.java | 36 +-
.../apache/calcite/sql2rel/RelDecorrelator.java | 164 +++--
.../apache/calcite/sql2rel/RelFieldTrimmer.java | 13 +-
.../sql2rel/RelStructuredTypeFlattener.java | 45 +-
.../calcite/sql2rel/SqlRexConvertletTable.java | 4 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 614 ++++++++++-------
.../calcite/sql2rel/StandardConvertletTable.java | 72 +-
.../org/apache/calcite/sql2rel/package-info.java | 7 +
.../calcite/statistic/MapSqlStatisticProvider.java | 13 +-
.../statistic/QuerySqlStatisticProvider.java | 17 +-
.../org/apache/calcite/statistic/package-info.java | 7 +
.../org/apache/calcite/tools/FrameworkConfig.java | 12 +-
.../java/org/apache/calcite/tools/Frameworks.java | 44 +-
.../main/java/org/apache/calcite/tools/Hoist.java | 6 +-
.../org/apache/calcite/tools/PigRelBuilder.java | 15 +-
.../java/org/apache/calcite/tools/Programs.java | 11 +-
.../java/org/apache/calcite/tools/RelBuilder.java | 220 +++---
.../apache/calcite/tools/RelBuilderFactory.java | 4 +-
.../java/org/apache/calcite/tools/RuleSets.java | 4 +-
.../org/apache/calcite/tools/package-info.java | 7 +
.../calcite/util/BarfingInvocationHandler.java | 6 +-
.../main/java/org/apache/calcite/util/BitSets.java | 7 +-
.../java/org/apache/calcite/util/BitString.java | 4 +-
.../java/org/apache/calcite/util/BlackholeMap.java | 6 +-
.../org/apache/calcite/util/BuiltInMethod.java | 15 +-
.../java/org/apache/calcite/util/CastingList.java | 10 +-
.../java/org/apache/calcite/util/ChunkList.java | 126 ++--
.../java/org/apache/calcite/util/Compatible.java | 4 +-
.../java/org/apache/calcite/util/CompositeMap.java | 18 +-
.../org/apache/calcite/util/ConversionUtil.java | 4 +-
.../java/org/apache/calcite/util/DateString.java | 8 +-
.../calcite/util/DelegatingInvocationHandler.java | 8 +-
.../org/apache/calcite/util/EquivalenceSet.java | 4 +-
.../java/org/apache/calcite/util/Filterator.java | 12 +-
.../java/org/apache/calcite/util/Glossary.java | 56 +-
.../org/apache/calcite/util/ImmutableBeans.java | 60 +-
.../org/apache/calcite/util/ImmutableBitSet.java | 82 ++-
.../org/apache/calcite/util/ImmutableIntList.java | 35 +-
.../apache/calcite/util/ImmutableNullableList.java | 6 +-
.../apache/calcite/util/ImmutableNullableMap.java | 15 +-
.../apache/calcite/util/ImmutableNullableSet.java | 23 +-
.../apache/calcite/util/IntegerIntervalSet.java | 4 +-
.../java/org/apache/calcite/util/JsonBuilder.java | 21 +-
.../main/java/org/apache/calcite/util/Litmus.java | 15 +-
.../main/java/org/apache/calcite/util/NameMap.java | 6 +-
.../java/org/apache/calcite/util/NameMultimap.java | 4 +-
.../main/java/org/apache/calcite/util/NameSet.java | 10 +-
.../java/org/apache/calcite/util/NlsString.java | 49 +-
.../java/org/apache/calcite/util/NumberUtil.java | 60 +-
.../main/java/org/apache/calcite/util/Pair.java | 48 +-
.../apache/calcite/util/PartiallyOrderedSet.java | 58 +-
.../java/org/apache/calcite/util/Permutation.java | 10 +-
.../calcite/util/PrecedenceClimbingParser.java | 83 ++-
.../java/org/apache/calcite/util/ReflectUtil.java | 44 +-
.../calcite/util/ReflectiveVisitDispatcher.java | 9 +-
.../apache/calcite/util/RelToSqlConverterUtil.java | 9 +-
.../org/apache/calcite/util/SaffronProperties.java | 7 +-
.../main/java/org/apache/calcite/util/Sarg.java | 10 +-
.../apache/calcite/util/SerializableCharset.java | 9 +-
.../calcite/util/SimpleNamespaceContext.java | 5 +-
.../main/java/org/apache/calcite/util/Source.java | 4 +-
.../apache/calcite/util/SourceStringReader.java | 5 +-
.../main/java/org/apache/calcite/util/Sources.java | 26 +-
.../java/org/apache/calcite/util/Template.java | 6 +-
.../java/org/apache/calcite/util/TimeString.java | 8 +-
.../calcite/util/TimeWithTimeZoneString.java | 4 +-
.../org/apache/calcite/util/TimestampString.java | 4 +-
.../calcite/util/TimestampWithTimeZoneString.java | 4 +-
.../org/apache/calcite/util/TryThreadLocal.java | 4 +-
.../main/java/org/apache/calcite/util/Util.java | 134 ++--
.../java/org/apache/calcite/util/XmlOutput.java | 27 +-
.../util/graph/AttributedDirectedGraph.java | 31 +-
.../calcite/util/graph/DefaultDirectedGraph.java | 60 +-
.../org/apache/calcite/util/graph/DefaultEdge.java | 10 +-
.../apache/calcite/util/graph/DirectedGraph.java | 8 +-
.../java/org/apache/calcite/util/graph/Graphs.java | 7 +-
.../util/graph/TopologicalOrderIterator.java | 27 +-
.../apache/calcite/util/javac/JaninoCompiler.java | 45 +-
.../calcite/util/javac/JavaCompilerArgs.java | 5 +-
.../util/mapping/AbstractSourceMapping.java | 1 +
.../util/mapping/AbstractTargetMapping.java | 1 +
.../org/apache/calcite/util/mapping/IntPair.java | 4 +-
.../org/apache/calcite/util/mapping/Mappings.java | 28 +-
.../java/org/apache/calcite/util/package-info.java | 7 +
.../apache/calcite/util/trace/CalciteLogger.java | 35 +-
.../calcite/util/trace/CalciteTimingTracer.java | 3 +-
.../apache/calcite/util/trace/CalciteTrace.java | 5 +-
.../calcite/adapter/generate/RangeTable.java | 4 +-
.../plan/volcano/CollationConversionTest.java | 9 +-
.../apache/calcite/plan/volcano/ComboRuleTest.java | 3 +-
.../apache/calcite/plan/volcano/PlannerTests.java | 12 +-
.../calcite/plan/volcano/TraitConversionTest.java | 9 +-
.../calcite/plan/volcano/TraitPropagationTest.java | 11 +-
.../plan/volcano/VolcanoPlannerTraitTest.java | 15 +-
.../rel/rel2sql/RelToSqlConverterStructsTest.java | 7 +-
.../org/apache/calcite/rex/RexExecutorTest.java | 7 +-
.../apache/calcite/rex/RexProgramBuilderBase.java | 7 +-
.../apache/calcite/schemas/HrClusteredSchema.java | 4 +-
.../apache/calcite/sql/parser/SqlParserTest.java | 5 +-
.../calcite/test/AbstractMaterializedViewTest.java | 10 +-
.../org/apache/calcite/test/CalciteAssert.java | 7 +-
.../apache/calcite/test/CollectionTypeTest.java | 13 +-
.../calcite/test/CountriesTableFunction.java | 6 +-
.../org/apache/calcite/test/InterpreterTest.java | 7 +-
.../java/org/apache/calcite/test/JdbcTest.java | 3 +-
.../apache/calcite/test/MaterializationTest.java | 3 +-
.../org/apache/calcite/test/MockRelOptPlanner.java | 6 +-
.../java/org/apache/calcite/test/ModelTest.java | 15 +-
.../org/apache/calcite/test/RelBuilderTest.java | 2 +-
.../org/apache/calcite/test/RelMetadataTest.java | 2 -
.../apache/calcite/test/ScannableTableTest.java | 13 +-
.../apache/calcite/test/SqlHintsConverterTest.java | 3 +-
.../apache/calcite/test/SqlJsonFunctionsTest.java | 8 +-
.../apache/calcite/test/SqlToRelConverterTest.java | 3 +-
.../org/apache/calcite/test/SqlToRelTestBase.java | 28 +-
.../apache/calcite/test/SqlValidatorTestCase.java | 3 +-
.../apache/calcite/test/StatesTableFunction.java | 6 +-
.../java/org/apache/calcite/test/StreamTest.java | 23 +-
.../calcite/test/catalog/MockCatalogReader.java | 6 +-
.../calcite/test/fuzzer/RexProgramFuzzyTest.java | 3 +-
.../org/apache/calcite/tools/FrameworksTest.java | 5 +-
.../org/apache/calcite/util/ImmutableBeanTest.java | 70 +-
.../test/java/org/apache/calcite/util/Smalls.java | 8 +-
.../java/org/apache/calcite/util/UtilTest.java | 4 +-
druid/build.gradle.kts | 2 +-
.../adapter/druid/CeilOperatorConversion.java | 6 +-
.../calcite/adapter/druid/DimensionSpec.java | 2 +-
.../calcite/adapter/druid/DruidDateTimeUtils.java | 23 +-
.../calcite/adapter/druid/DruidExpressions.java | 9 +-
.../calcite/adapter/druid/DruidJsonFilter.java | 36 +-
.../apache/calcite/adapter/druid/DruidQuery.java | 46 +-
.../adapter/druid/DruidSqlOperatorConverter.java | 2 +-
.../apache/calcite/adapter/druid/DruidTable.java | 3 +-
.../calcite/adapter/druid/DruidTableFactory.java | 3 +-
.../adapter/druid/ExtractionDimensionSpec.java | 6 +-
.../adapter/druid/FloorOperatorConversion.java | 6 +-
.../calcite/adapter/druid/Granularities.java | 7 +-
.../apache/calcite/adapter/druid/Granularity.java | 3 +-
.../adapter/druid/NaryOperatorConverter.java | 6 +-
.../adapter/druid/SubstringOperatorConversion.java | 5 +-
.../adapter/druid/TimeExtractionFunction.java | 6 +-
elasticsearch/build.gradle.kts | 2 +-
.../elasticsearch/ElasticsearchAggregate.java | 5 +-
.../adapter/elasticsearch/ElasticsearchFilter.java | 5 +-
.../elasticsearch/ElasticsearchMapping.java | 3 +-
.../elasticsearch/ElasticsearchProject.java | 5 +-
.../adapter/elasticsearch/ElasticsearchSort.java | 5 +-
.../elasticsearch/ElasticsearchTableScan.java | 5 +-
.../ElasticsearchToEnumerableConverter.java | 5 +-
.../calcite/adapter/csv/CsvFilterableTable.java | 18 +-
.../calcite/adapter/csv/CsvScannableTable.java | 14 +-
.../adapter/csv/CsvStreamScannableTable.java | 14 +-
.../calcite/adapter/csv/CsvStreamTableFactory.java | 4 +-
.../org/apache/calcite/adapter/csv/CsvTable.java | 10 +-
.../calcite/adapter/csv/CsvTableFactory.java | 4 +-
.../apache/calcite/adapter/csv/CsvTableScan.java | 4 +-
.../calcite/adapter/csv/CsvTranslatableTable.java | 6 +-
.../org/apache/calcite/example/maze/MazeTable.java | 8 +-
.../apache/calcite/adapter/file/CsvEnumerator.java | 36 +-
.../apache/calcite/adapter/file/CsvFieldType.java | 6 +-
.../calcite/adapter/file/CsvTableFactory.java | 4 +-
.../apache/calcite/adapter/file/CsvTableScan.java | 4 +-
.../calcite/adapter/file/CsvTranslatableTable.java | 6 +-
.../calcite/adapter/file/JsonEnumerator.java | 10 +-
.../calcite/adapter/file/JsonScannableTable.java | 14 +-
.../org/apache/calcite/adapter/file/JsonTable.java | 6 +-
.../calcite/adapter/geode/rel/GeodeAggregate.java | 5 +-
.../calcite/adapter/geode/rel/GeodeFilter.java | 5 +-
.../calcite/adapter/geode/rel/GeodeProject.java | 5 +-
.../calcite/adapter/geode/rel/GeodeSort.java | 4 +-
.../geode/rel/GeodeToEnumerableConverter.java | 4 +-
.../geode/simple/GeodeSimpleScannableTable.java | 12 +-
gradle.properties | 4 +-
.../calcite/adapter/innodb/InnodbFilter.java | 5 +-
.../adapter/innodb/InnodbFilterTranslator.java | 3 +-
.../calcite/adapter/innodb/InnodbProject.java | 4 +-
.../apache/calcite/adapter/innodb/InnodbSort.java | 4 +-
.../calcite/adapter/innodb/InnodbTableScan.java | 3 +-
.../innodb/InnodbToEnumerableConverter.java | 4 +-
.../adapter/kafka/KafkaMessageEnumerator.java | 10 +-
.../calcite/adapter/kafka/KafkaStreamTable.java | 12 +-
.../calcite/adapter/kafka/KafkaTableFactory.java | 4 +-
linq4j/build.gradle.kts | 1 +
.../org/apache/calcite/linq4j/BaseQueryable.java | 8 +-
.../apache/calcite/linq4j/DefaultEnumerable.java | 69 +-
.../apache/calcite/linq4j/DefaultQueryable.java | 11 +-
.../java/org/apache/calcite/linq4j/Enumerable.java | 3 +
.../apache/calcite/linq4j/EnumerableDefaults.java | 319 +++++----
.../calcite/linq4j/EnumerableOrderedQueryable.java | 4 +-
.../apache/calcite/linq4j/EnumerableQueryable.java | 25 +-
.../java/org/apache/calcite/linq4j/Enumerator.java | 3 +
.../apache/calcite/linq4j/ExtendedEnumerable.java | 67 +-
.../apache/calcite/linq4j/ExtendedQueryable.java | 22 +-
.../java/org/apache/calcite/linq4j/Grouping.java | 3 +
.../org/apache/calcite/linq4j/GroupingImpl.java | 7 +-
.../java/org/apache/calcite/linq4j/Linq4j.java | 17 +-
.../java/org/apache/calcite/linq4j/LookupImpl.java | 23 +-
.../apache/calcite/linq4j/MemoryEnumerator.java | 4 +-
.../org/apache/calcite/linq4j/MemoryFactory.java | 8 +-
.../org/apache/calcite/linq4j/ModularInteger.java | 4 +-
.../java/org/apache/calcite/linq4j/Nullness.java | 57 ++
.../java/org/apache/calcite/linq4j/Queryable.java | 3 +
.../apache/calcite/linq4j/QueryableDefaults.java | 10 +-
.../apache/calcite/linq4j/QueryableFactory.java | 19 +-
.../apache/calcite/linq4j/QueryableRecorder.java | 23 +-
.../org/apache/calcite/linq4j/RawEnumerable.java | 3 +
.../org/apache/calcite/linq4j/RawQueryable.java | 7 +-
.../calcite/linq4j/TransformedEnumerator.java | 4 +-
.../apache/calcite/linq4j/function/Functions.java | 27 +-
.../org/apache/calcite/linq4j/package-info.java | 7 +
.../apache/calcite/linq4j/tree/AbstractNode.java | 6 +-
.../linq4j/tree/ArrayLengthRecordField.java | 10 +-
.../calcite/linq4j/tree/BinaryExpression.java | 70 +-
.../apache/calcite/linq4j/tree/BlockBuilder.java | 23 +-
.../apache/calcite/linq4j/tree/BlockStatement.java | 12 +-
.../org/apache/calcite/linq4j/tree/Blocks.java | 4 +-
.../org/apache/calcite/linq4j/tree/CatchBlock.java | 4 +-
.../calcite/linq4j/tree/ClassDeclaration.java | 8 +-
.../linq4j/tree/ClassDeclarationFinder.java | 8 +-
.../calcite/linq4j/tree/ConditionalExpression.java | 4 +-
.../calcite/linq4j/tree/ConditionalStatement.java | 4 +-
.../calcite/linq4j/tree/ConstantExpression.java | 30 +-
.../calcite/linq4j/tree/ConstantUntypedNull.java | 4 +-
.../linq4j/tree/ConstructorDeclaration.java | 4 +-
.../calcite/linq4j/tree/DeclarationStatement.java | 8 +-
.../linq4j/tree/DeterministicCodeOptimizer.java | 16 +-
.../org/apache/calcite/linq4j/tree/Evaluator.java | 10 +-
.../apache/calcite/linq4j/tree/ExpressionType.java | 12 +-
.../calcite/linq4j/tree/ExpressionWriter.java | 6 +-
.../apache/calcite/linq4j/tree/Expressions.java | 131 ++--
.../calcite/linq4j/tree/FieldDeclaration.java | 8 +-
.../calcite/linq4j/tree/ForEachStatement.java | 4 +-
.../apache/calcite/linq4j/tree/ForStatement.java | 10 +-
.../calcite/linq4j/tree/FunctionExpression.java | 30 +-
.../apache/calcite/linq4j/tree/GotoStatement.java | 18 +-
.../calcite/linq4j/tree/IndexExpression.java | 12 +-
.../apache/calcite/linq4j/tree/LabelStatement.java | 4 +-
.../apache/calcite/linq4j/tree/LabelTarget.java | 4 +-
.../calcite/linq4j/tree/MemberExpression.java | 10 +-
.../calcite/linq4j/tree/MethodCallExpression.java | 20 +-
.../calcite/linq4j/tree/MethodDeclaration.java | 4 +-
.../calcite/linq4j/tree/NewArrayExpression.java | 17 +-
.../apache/calcite/linq4j/tree/NewExpression.java | 13 +-
.../calcite/linq4j/tree/OptimizeShuttle.java | 8 +-
.../calcite/linq4j/tree/ParameterExpression.java | 6 +-
.../org/apache/calcite/linq4j/tree/Primitive.java | 73 +-
.../apache/calcite/linq4j/tree/PseudoField.java | 4 +-
.../calcite/linq4j/tree/ReflectedPseudoField.java | 6 +-
.../org/apache/calcite/linq4j/tree/Shuttle.java | 32 +-
.../calcite/linq4j/tree/TernaryExpression.java | 4 +-
.../apache/calcite/linq4j/tree/ThrowStatement.java | 4 +-
.../apache/calcite/linq4j/tree/TryStatement.java | 8 +-
.../calcite/linq4j/tree/TypeBinaryExpression.java | 4 +-
.../java/org/apache/calcite/linq4j/tree/Types.java | 43 +-
.../calcite/linq4j/tree/UnaryExpression.java | 4 +-
.../apache/calcite/linq4j/tree/VisitorImpl.java | 10 +-
.../apache/calcite/linq4j/tree/WhileStatement.java | 4 +-
.../calcite/adapter/mongodb/MongoFilter.java | 4 +-
.../calcite/adapter/mongodb/MongoProject.java | 4 +-
.../apache/calcite/adapter/mongodb/MongoSort.java | 4 +-
.../calcite/adapter/mongodb/MongoTableScan.java | 4 +-
.../mongodb/MongoToEnumerableConverter.java | 4 +-
.../calcite/adapter/pig/PigTableFactory.java | 4 +-
.../apache/calcite/adapter/pig/PigTableScan.java | 6 +-
piglet/build.gradle.kts | 2 +-
.../org/apache/calcite/piglet/PigRelBuilder.java | 4 +-
.../java/org/apache/calcite/piglet/PigTable.java | 4 +-
.../org/apache/calcite/piglet/PigUdfFinder.java | 3 +-
piglet/src/main/javacc/PigletParser.jj | 3 +-
.../apache/calcite/adapter/os/DuTableFunction.java | 6 +-
.../calcite/adapter/os/FilesTableFunction.java | 30 +-
.../adapter/os/GitCommitsTableFunction.java | 16 +-
.../calcite/adapter/os/JpsTableFunction.java | 6 +-
.../apache/calcite/adapter/os/PsTableFunction.java | 12 +-
.../calcite/adapter/os/StdinTableFunction.java | 6 +-
.../calcite/adapter/os/VmstatTableFunction.java | 12 +-
.../apache/calcite/adapter/tpcds/TpcdsSchema.java | 20 +-
.../chinook/PreferredAlbumsTableFactory.java | 4 +-
.../chinook/PreferredGenresTableFactory.java | 4 +-
redis/build.gradle.kts | 1 -
.../apache/calcite/adapter/redis/RedisTable.java | 4 +-
.../calcite/adapter/redis/RedisTableFactory.java | 4 +-
.../calcite/server/MaterializedViewTable.java | 6 +-
.../apache/calcite/server/MutableArrayTable.java | 4 +-
.../apache/calcite/server/ServerDdlExecutor.java | 11 +-
settings.gradle.kts | 1 +
site/_docs/howto.md | 2 +-
site/develop/index.md | 119 +++-
.../adapter/spark/EnumerableToSparkConverter.java | 4 +-
.../adapter/spark/JdbcToSparkConverter.java | 4 +-
.../apache/calcite/adapter/spark/SparkRules.java | 4 +-
.../adapter/spark/SparkToEnumerableConverter.java | 4 +-
.../main/config/checkerframework/Collection.astub | 15 +-
.../main/config/checkerframework/Constructor.astub | 10 +-
.../main/config/checkerframework/Field.astub | 12 +-
.../checkerframework/InvocationHandler.astub | 14 +-
.../main/config/checkerframework/List.astub | 19 +-
.../main/config/checkerframework/Map.astub | 24 +-
.../main/config/checkerframework/Method.astub | 10 +-
.../config/checkerframework/MethodHandle.astub | 10 +-
.../main/config/checkerframework/Objects.astub | 45 +-
.../main/config/checkerframework/Proxy.astub | 14 +-
.../main/config/checkerframework/Set.astub | 15 +-
.../main/config/checkerframework/String.astub | 11 +-
.../main/config/checkerframework/URI.astub | 15 +-
.../checkerframework/aggdesigner/Attribute.astub | 13 +-
.../checkerframework/aggdesigner/Table.astub | 11 +-
.../checkerframework/avatica/AvaticaFactory.astub | 30 +-
.../avatica/AvaticaPreparedStatement.astub | 16 +-
.../avatica/AvaticaResultMetaData.astub | 16 +-
.../avatica/AvaticaResultSet.astub | 18 +-
.../avatica/AvaticaResultSetMetaData.astub | 18 +-
.../checkerframework/avatica/AvaticaSite.astub | 61 ++
.../avatica/AvaticaStatement.astub | 30 +-
.../checkerframework/avatica/ColumnMetaData.astub | 33 +-
.../avatica/ConnectionConfigImpl.astub | 13 +-
.../avatica/ConnectionProperty.astub | 22 +-
.../config/checkerframework/avatica/Handler.astub | 15 +-
.../config/checkerframework/avatica/Meta.astub | 36 +-
.../config/checkerframework/avatica/MetaImpl.astub | 64 ++
.../checkerframework/avatica/TimeUnitRange.astub | 16 +-
.../commons-dbcp2/BasicDataSource.astub | 20 +-
.../esri-geometry/OperatorBoundary.astub | 14 +-
.../esri-geometry/OperatorSimpleRelation.astub | 14 +-
.../config/checkerframework/guava/Function.astub | 19 +-
.../config/checkerframework/guava/Iterables.astub | 15 +-
.../config/checkerframework/guava/Ordering.astub | 22 +-
.../config/checkerframework/guava/Predicate.astub | 18 +-
.../checkerframework/jackson/ObjectMapper.astub | 13 +-
.../checkerframework/jackson/ObjectWriter.astub | 13 +-
.../config/checkerframework/janino/ICookable.astub | 14 +-
.../janino/JavaSourceClassLoader.astub | 34 +-
.../config/checkerframework/janino/Scanner.astub | 10 +-
.../checkerframework/janino/SimpleCompiler.astub | 11 +-
.../checkerframework/jdbc/DatabaseMetaData.astub | 11 +-
.../jsonpath/JacksonJsonProvider.astub | 10 +-
.../config/checkerframework/slf4j/Logger.astub | 101 +++
.../checkerframework/slf4j/MessageFormatter.astub | 14 +-
1099 files changed, 14476 insertions(+), 8852 deletions(-)
create mode 100644 core/src/main/java/org/apache/calcite/sql/type/NonNullableAccessors.java
create mode 100644 core/src/main/java/org/apache/calcite/sql/validate/SqlNonNullableAccessors.java
create mode 100644 linq4j/src/main/java/org/apache/calcite/linq4j/Nullness.java
copy plus/src/main/java/org/apache/calcite/chinook/ChosenCustomerEmail.java => src/main/config/checkerframework/Collection.astub (79%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/Constructor.astub (82%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/Field.astub (81%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/InvocationHandler.astub (80%)
copy linq4j/src/main/java/org/apache/calcite/linq4j/tree/Node.java => src/main/config/checkerframework/List.astub (73%)
copy linq4j/src/main/java/org/apache/calcite/linq4j/tree/PseudoField.java => src/main/config/checkerframework/Map.astub (65%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/Method.astub (82%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/MethodHandle.astub (82%)
copy core/src/main/java/org/apache/calcite/plan/volcano/RuleDriver.java => src/main/config/checkerframework/Objects.astub (52%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/Proxy.astub (80%)
copy plus/src/main/java/org/apache/calcite/chinook/ChosenCustomerEmail.java => src/main/config/checkerframework/Set.astub (79%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonValueReturning.java => src/main/config/checkerframework/String.astub (81%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/URI.astub (80%)
copy plus/src/main/java/org/apache/calcite/chinook/ChosenCustomerEmail.java => src/main/config/checkerframework/aggdesigner/Attribute.astub (79%)
copy core/src/main/java/org/apache/calcite/sql/SqlAccessEnum.java => src/main/config/checkerframework/aggdesigner/Table.astub (85%)
copy core/src/main/java/org/apache/calcite/Demo.java => src/main/config/checkerframework/avatica/AvaticaFactory.astub (60%)
copy core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRel.java => src/main/config/checkerframework/avatica/AvaticaPreparedStatement.astub (70%)
copy buildSrc/subprojects/javacc/javacc.gradle.kts => src/main/config/checkerframework/avatica/AvaticaResultMetaData.astub (76%)
copy core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRel.java => src/main/config/checkerframework/avatica/AvaticaResultSet.astub (70%)
copy core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcRel.java => src/main/config/checkerframework/avatica/AvaticaResultSetMetaData.astub (70%)
create mode 100644 src/main/config/checkerframework/avatica/AvaticaSite.astub
copy core/src/main/java/org/apache/calcite/Demo.java => src/main/config/checkerframework/avatica/AvaticaStatement.astub (63%)
copy buildSrc/subprojects/javacc/javacc.gradle.kts => src/main/config/checkerframework/avatica/ColumnMetaData.astub (56%)
copy plus/src/main/java/org/apache/calcite/chinook/ChosenCustomerEmail.java => src/main/config/checkerframework/avatica/ConnectionConfigImpl.astub (77%)
copy core/src/main/java/org/apache/calcite/interpreter/Context.java => src/main/config/checkerframework/avatica/ConnectionProperty.astub (69%)
copy linq4j/src/main/java/org/apache/calcite/linq4j/tree/Node.java => src/main/config/checkerframework/avatica/Handler.astub (78%)
copy core/src/main/java/org/apache/calcite/sql/dialect/VerticaSqlDialect.java => src/main/config/checkerframework/avatica/Meta.astub (54%)
create mode 100644 src/main/config/checkerframework/avatica/MetaImpl.astub
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/avatica/TimeUnitRange.astub (80%)
copy core/src/main/java/org/apache/calcite/rel/metadata/CyclicMetadataException.java => src/main/config/checkerframework/commons-dbcp2/BasicDataSource.astub (72%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/esri-geometry/OperatorBoundary.astub (80%)
copy buildSrc/subprojects/javacc/javacc.gradle.kts => src/main/config/checkerframework/esri-geometry/OperatorSimpleRelation.astub (76%)
copy core/src/main/java/org/apache/calcite/tools/RelRunner.java => src/main/config/checkerframework/guava/Function.astub (70%)
copy core/src/main/java/org/apache/calcite/interpreter/BindableRel.java => src/main/config/checkerframework/guava/Iterables.astub (67%)
copy core/src/main/java/org/apache/calcite/interpreter/Sink.java => src/main/config/checkerframework/guava/Ordering.astub (62%)
copy core/src/main/java/org/apache/calcite/tools/RelRunner.java => src/main/config/checkerframework/guava/Predicate.astub (72%)
copy linq4j/src/main/java/org/apache/calcite/linq4j/tree/Node.java => src/main/config/checkerframework/jackson/ObjectMapper.astub (78%)
copy linq4j/src/main/java/org/apache/calcite/linq4j/tree/Node.java => src/main/config/checkerframework/jackson/ObjectWriter.astub (78%)
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/janino/ICookable.astub (80%)
copy core/src/main/java/org/apache/calcite/Demo.java => src/main/config/checkerframework/janino/JavaSourceClassLoader.astub (61%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/janino/Scanner.astub (83%)
copy core/src/main/java/org/apache/calcite/interpreter/Node.java => src/main/config/checkerframework/janino/SimpleCompiler.astub (81%)
copy core/src/main/java/org/apache/calcite/interpreter/Node.java => src/main/config/checkerframework/jdbc/DatabaseMetaData.astub (81%)
copy core/src/main/java/org/apache/calcite/schema/SemiMutableSchema.java => src/main/config/checkerframework/jsonpath/JacksonJsonProvider.astub (83%)
create mode 100644 src/main/config/checkerframework/slf4j/Logger.astub
copy core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java => src/main/config/checkerframework/slf4j/MessageFormatter.astub (80%)