This is an automated email from the ASF dual-hosted git repository. jhyde pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/calcite.git
from 85d96207ef Clarify semantics of SAFE* functions new 96485c0ec8 Cosmetic new 2558c13cdb [CALCITE-6219] 'Must-filter' columns The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: build.gradle.kts | 2 + .../adapter/enumerable/EnumerableRelFactories.java | 6 +- .../org/apache/calcite/adapter/jdbc/JdbcRules.java | 7 +- .../org/apache/calcite/interpreter/Bindables.java | 5 +- .../apache/calcite/jdbc/CalciteConnectionImpl.java | 5 +- .../org/apache/calcite/jdbc/CalcitePrepare.java | 5 +- .../org/apache/calcite/jdbc/CalciteSchema.java | 5 +- .../org/apache/calcite/materialize/Lattice.java | 9 +- .../apache/calcite/materialize/LatticeNode.java | 7 +- .../calcite/materialize/MaterializationActor.java | 5 +- .../org/apache/calcite/profile/ProfilerImpl.java | 11 +- .../org/apache/calcite/rel/RelCollationImpl.java | 6 +- .../org/apache/calcite/rel/core/AggregateCall.java | 9 +- .../java/org/apache/calcite/rel/core/Match.java | 5 +- .../java/org/apache/calcite/rel/core/SetOp.java | 5 +- .../org/apache/calcite/rel/core/TableModify.java | 11 +- .../java/org/apache/calcite/rel/hint/RelHint.java | 11 +- .../metadata/ReflectiveRelMetadataProvider.java | 5 +- .../calcite/rel/metadata/RelMdUniqueKeys.java | 5 +- .../org/apache/calcite/rel/metadata/RelMdUtil.java | 7 +- .../AggregateExpandDistinctAggregatesRule.java | 9 +- .../apache/calcite/rel/rules/CalcRelSplitter.java | 6 +- .../calcite/rel/rules/ProjectToWindowRule.java | 5 +- .../materialize/MaterializedViewAggregateRule.java | 5 +- .../java/org/apache/calcite/rex/RexBuilder.java | 6 +- .../org/apache/calcite/rex/RexFieldAccess.java | 7 +- .../java/org/apache/calcite/rex/RexLiteral.java | 9 +- .../main/java/org/apache/calcite/rex/RexOver.java | 6 +- .../java/org/apache/calcite/rex/RexSubQuery.java | 5 +- .../java/org/apache/calcite/rex/RexWindow.java | 5 +- .../apache/calcite/runtime/AutomatonBuilder.java | 8 +- .../apache/calcite/runtime/CalciteException.java | 3 +- .../apache/calcite/runtime/CalciteResource.java | 3 + .../java/org/apache/calcite/runtime/Pattern.java | 7 +- .../java/org/apache/calcite/schema/Schemas.java | 5 +- .../java/org/apache/calcite/sql/SqlDialect.java | 7 +- .../calcite/sql/SqlGroupedWindowFunction.java | 8 +- .../main/java/org/apache/calcite/sql/SqlJoin.java | 6 +- .../org/apache/calcite/sql/SqlMatchRecognize.java | 12 +- .../calcite/sql/SqlNullTreatmentOperator.java | 6 +- .../org/apache/calcite/sql/SqlTimeLiteral.java | 6 +- .../apache/calcite/sql/SqlTimestampLiteral.java | 8 +- .../apache/calcite/sql/SqlWindowTableFunction.java | 5 +- .../calcite/sql/advise/SqlAdvisorValidator.java | 2 +- .../calcite/sql/ddl/SqlCreateForeignSchema.java | 5 +- .../apache/calcite/sql/ddl/SqlCreateFunction.java | 8 +- .../apache/calcite/sql/ddl/SqlCreateTableLike.java | 22 +- .../calcite/sql/dialect/PrestoSqlDialect.java | 5 +- .../calcite/sql/fun/SqlAnyValueAggFunction.java | 6 +- .../apache/calcite/sql/fun/SqlAvgAggFunction.java | 4 +- .../calcite/sql/fun/SqlBitOpAggFunction.java | 8 +- .../calcite/sql/fun/SqlCovarAggFunction.java | 4 +- .../sql/fun/SqlFirstLastValueAggFunction.java | 6 +- .../apache/calcite/sql/fun/SqlFloorFunction.java | 6 +- .../calcite/sql/fun/SqlLeadLagAggFunction.java | 5 +- .../org/apache/calcite/sql/fun/SqlLibrary.java | 6 +- .../calcite/sql/fun/SqlMinMaxAggFunction.java | 6 +- .../calcite/sql/fun/SqlQuantifyOperator.java | 8 +- .../calcite/sql/fun/SqlRegrCountAggFunction.java | 4 +- .../apache/calcite/sql/parser/SqlParserUtil.java | 12 +- .../apache/calcite/sql/pretty/SqlPrettyWriter.java | 5 +- .../org/apache/calcite/sql/type/BasicSqlType.java | 6 +- .../calcite/sql/type/MatchReturnTypeInference.java | 7 +- .../org/apache/calcite/sql/type/ReturnTypes.java | 7 +- .../calcite/sql/type/SqlOperandCountRanges.java | 6 +- .../sql/type/SqlReturnTypeInferenceChain.java | 5 +- .../calcite/sql/type/SqlTypeTransformCascade.java | 5 +- .../org/apache/calcite/sql/type/SqlTypeUtil.java | 19 +- .../calcite/sql/validate/AbstractNamespace.java | 34 ++-- .../calcite/sql/validate/DelegatingNamespace.java | 2 +- .../calcite/sql/validate/DelegatingScope.java | 6 +- .../calcite/sql/validate/IdentifierNamespace.java | 47 ++--- .../org/apache/calcite/sql/validate/ListScope.java | 4 +- .../{LambdaNamespace.java => SemanticTable.java} | 46 ++--- .../calcite/sql/validate/SqlLambdaScope.java | 6 +- .../apache/calcite/sql/validate/SqlQualified.java | 27 ++- .../calcite/sql/validate/SqlValidatorImpl.java | 156 +++++++++++--- .../sql/validate/SqlValidatorNamespace.java | 9 +- .../calcite/sql/validate/SqlValidatorUtil.java | 14 +- .../calcite/sql/validate/TableNamespace.java | 11 + .../calcite/sql/validate/WithItemNamespace.java | 1 + .../apache/calcite/sql/validate/WithNamespace.java | 6 + .../calcite/sql2rel/ReflectiveConvertletTable.java | 7 +- .../calcite/sql2rel/SqlNodeToRexConverterImpl.java | 7 +- .../calcite/sql2rel/StandardConvertletTable.java | 3 +- .../main/java/org/apache/calcite/tools/Hoist.java | 11 +- .../java/org/apache/calcite/tools/RelBuilder.java | 4 +- .../java/org/apache/calcite/util/DateString.java | 17 +- .../java/org/apache/calcite/util/JdbcTypeImpl.java | 10 +- .../calcite/util/TimeWithTimeZoneString.java | 14 +- .../org/apache/calcite/util/TimestampString.java | 2 +- .../calcite/util/TimestampWithTimeZoneString.java | 14 +- .../calcite/runtime/CalciteResource.properties | 1 + .../calcite/test/SqlValidatorFeatureTest.java | 19 +- .../org/apache/calcite/test/SqlValidatorTest.java | 223 +++++++++++++++++++++ .../apache/calcite/adapter/druid/DruidTable.java | 7 +- .../adapter/elasticsearch/ElasticsearchSchema.java | 5 +- .../elasticsearch/ElasticsearchSchemaFactory.java | 5 +- .../adapter/elasticsearch/PredicateAnalyzer.java | 12 +- .../calcite/adapter/elasticsearch/Scrolling.java | 7 +- .../elasticsearch/EmbeddedElasticsearchNode.java | 10 +- .../calcite/adapter/geode/rel/GeodeFilter.java | 7 +- .../calcite/adapter/geode/rel/GeodeRules.java | 5 +- .../adapter/geode/rel/GeodeEmbeddedPolicy.java | 8 +- .../calcite/adapter/innodb/IndexCondition.java | 2 +- .../org/apache/calcite/linq4j/ModularInteger.java | 6 +- .../org/apache/calcite/adapter/pig/PigFilter.java | 6 +- .../calcite/adapter/pig/PigRelFactories.java | 5 +- .../calcite/adapter/redis/RedisSchemaFactory.java | 12 +- .../apache/calcite/server/ServerDdlExecutor.java | 9 +- .../java/org/apache/calcite/test/Matchers.java | 4 +- .../apache/calcite/test/RelMetadataFixture.java | 5 +- .../apache/calcite/test/SqlValidatorFixture.java | 6 +- .../calcite/test/catalog/MockCatalogReader.java | 65 +++++- .../test/catalog/MustFilterMockCatalogReader.java | 84 ++++++++ .../calcite/benchmarks/PreconditionTest.java | 6 +- 116 files changed, 995 insertions(+), 437 deletions(-) copy core/src/main/java/org/apache/calcite/sql/validate/{LambdaNamespace.java => SemanticTable.java} (52%) create mode 100644 testkit/src/main/java/org/apache/calcite/test/catalog/MustFilterMockCatalogReader.java