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 68f473ef95 [CALCITE-6169] EnumUtils.convert does not implement the
correct SQL cast semantics
new 8143eba75e Test case for [CALCITE-2032] Error when implicitly
converting character literal to date literal
new 467e509f8a [CALCITE-5802] In RelBuilder, add method aggregateRex, to
allow aggregating complex expressions such as "1 + SUM(x + 2)"
new bb94122fa4 Rework [CALCITE-5869] LEAST_RESTRICTIVE does not use inner
type of MEASURE for comparisons
new 5b996bd595 Rework [CALCITE-6013] RelBuilder should simplify plan by
pruning unused measures
new 9f231cc5b9 Add Steelwheels data set
new 66919e4d44 [CALCITE-4496] Measure columns ("SELECT ... AS MEASURE")
The 6 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:
bom/build.gradle.kts | 1 +
build.gradle.kts | 1 +
core/src/main/codegen/templates/Parser.jj | 11 +-
.../adapter/enumerable/EnumerableProjectRule.java | 4 +-
.../apache/calcite/prepare/CalcitePrepareImpl.java | 55 +-
.../main/java/org/apache/calcite/rel/RelNodes.java | 72 +++
.../java/org/apache/calcite/rel/core/Calc.java | 3 +
.../calcite/rel/metadata/BuiltInMetadata.java | 60 ++
.../rel/metadata/DefaultRelMetadataProvider.java | 1 +
.../apache/calcite/rel/metadata/RelMdMeasure.java | 220 +++++++
.../calcite/rel/metadata/RelMetadataQuery.java | 45 ++
.../org/apache/calcite/rel/rules/MeasureRules.java | 534 +++++++++++++++++
.../calcite/rel/rules/ProjectToCalcRule.java | 5 +-
.../org/apache/calcite/rel/type/RelDataType.java | 11 +
.../java/org/apache/calcite/rex/RexAnalyzer.java | 2 +
.../java/org/apache/calcite/rex/RexBuilder.java | 6 +-
.../java/org/apache/calcite/rex/RexSimplify.java | 51 ++
.../main/java/org/apache/calcite/rex/RexUtil.java | 40 +-
.../apache/calcite/runtime/CalciteResource.java | 6 +
.../java/org/apache/calcite/sql/SqlAsOperator.java | 8 +-
.../main/java/org/apache/calcite/sql/SqlKind.java | 23 +
...ateralOperator.java => SqlMeasureOperator.java} | 44 +-
.../java/org/apache/calcite/sql/SqlOperator.java | 6 -
.../org/apache/calcite/sql/SqlOperatorBinding.java | 22 +
.../calcite/sql/fun/SqlInternalOperators.java | 82 +++
.../calcite/sql/fun/SqlLibraryOperators.java | 3 +-
.../org/apache/calcite/sql/type/OperandTypes.java | 5 +-
.../org/apache/calcite/sql/type/ReturnTypes.java | 16 +-
.../apache/calcite/sql/type/SqlTypeTransform.java | 5 +
.../apache/calcite/sql/type/SqlTypeTransforms.java | 10 +-
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 31 +
.../apache/calcite/sql/validate/AggVisitor.java | 6 +
.../calcite/sql/validate/DelegatingScope.java | 45 +-
.../apache/calcite/sql/validate/MeasureScope.java | 131 +++++
.../apache/calcite/sql/validate/OrderByScope.java | 36 +-
.../calcite/sql/validate/SelectNamespace.java | 1 +
.../apache/calcite/sql/validate/SqlValidator.java | 23 +
.../calcite/sql/validate/SqlValidatorImpl.java | 101 +++-
.../calcite/sql/validate/SqlValidatorScope.java | 3 +-
.../calcite/sql/validate/SqlValidatorUtil.java | 14 +-
.../org/apache/calcite/sql2rel/AggConverter.java | 32 +-
.../apache/calcite/sql2rel/RelDecorrelator.java | 2 -
.../sql2rel/RelStructuredTypeFlattener.java | 4 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 140 ++++-
.../calcite/sql2rel/StandardConvertletTable.java | 5 +
.../java/org/apache/calcite/tools/Programs.java | 47 ++
.../java/org/apache/calcite/tools/RelBuilder.java | 81 ++-
.../org/apache/calcite/util/BuiltInMethod.java | 3 +
.../org/apache/calcite/util/MonotonicSupplier.java | 7 +-
.../calcite/runtime/CalciteResource.properties | 3 +
.../calcite/jdbc/CalciteRemoteDriverTest.java | 2 +
.../apache/calcite/rex/RexProgramBuilderBase.java | 9 +
.../org/apache/calcite/rex/RexProgramTest.java | 19 +
.../org/apache/calcite/test/CoreQuidemTest.java | 11 +
.../java/org/apache/calcite/test/JdbcTest.java | 25 +
.../org/apache/calcite/test/RelBuilderTest.java | 138 ++++-
.../org/apache/calcite/test/RelOptRulesTest.java | 23 +
.../apache/calcite/test/SqlToRelConverterTest.java | 40 ++
.../org/apache/calcite/test/SqlValidatorTest.java | 223 ++++++-
.../org/apache/calcite/test/RelOptRulesTest.xml | 50 ++
.../apache/calcite/test/SqlToRelConverterTest.xml | 65 +-
core/src/test/resources/sql/measure-paper.iq | 508 ++++++++++++++++
core/src/test/resources/sql/measure.iq | 651 ++++++++++++++++++++-
core/src/test/resources/sql/misc.iq | 21 +-
gradle.properties | 1 +
site/_docs/reference.md | 1 +
testkit/build.gradle.kts | 1 +
.../apache/calcite/sql/parser/SqlParserTest.java | 12 +
.../org/apache/calcite/test/CalciteAssert.java | 47 +-
.../java/org/apache/calcite/test/QuidemTest.java | 8 +
.../apache/calcite/test/SqlValidatorFixture.java | 14 +
71 files changed, 3735 insertions(+), 201 deletions(-)
create mode 100644
core/src/main/java/org/apache/calcite/rel/metadata/RelMdMeasure.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/MeasureRules.java
copy core/src/main/java/org/apache/calcite/sql/{SqlLateralOperator.java =>
SqlMeasureOperator.java} (56%)
create mode 100644
core/src/main/java/org/apache/calcite/sql/validate/MeasureScope.java
create mode 100644 core/src/test/resources/sql/measure-paper.iq