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 dec6e11ebb Fix aspect ratio for ASF logos
discard ea6e91c964 Add link to new blog post on Calcite constant folding
discard 87788c8aa2 Bump rexml from 3.4.1 to 3.4.2 in /site
discard 663dee404a Site: Update ASF logo links
discard 5f522cea10 Bump nokogiri from 1.18.8 to 1.18.9 in /site
discard 0ce24421da [CALCITE-7037] Announce 1.40.0 release and fix release notes
discard 3e4c8ea0a3 [CALCITE-7037] Announce 1.40.0 release and fix release notes
add 2d5ec10e27 [CALCITE-7037] Announce 1.40.0 release and update release
notes
add 6e9c48a624 Prepare for next development iteration
add af502b523c [CALCITE-7024] Decorrelator does not always produce a query
with the same type signature
add 66d4ccc73a [CALCITE-6952] JDBC adapter for StarRocks generates
incorrect SQL for REAL datatype
add 24cc46b191 [CALCITE-7021] Support parse 'CAST('1' AS INTERVAL)'
add 3df11895b2 [CALCITE-7043] Type inferred for SqlItemOperator has
incorrect nullability
add 12e7d621bb [CALCITE-7044] Add internal operator CAST NOT NULL to
enhance rewrite COALESCE operator
add 15e0a3b56f [CALCITE-7049] When performing garbage collection,
HepPlanner should clear the metadata cache
add 6ee860d4c9 [CALCITE-7032] Simplify 'NULL > ALL (ARRAY[1,2,NULL])' to
'NULL'
add 7d632a8404 [CALCITE-7047] Improve Volcano planner selection of sort
conversion rules
add 88016c0366 [CALCITE-7054] Runtime conversion of DECIMAL MULTISET to
INT MULTISET or DECIMAL ARRAY to INT MULTISET fails with a ClassCastException
add 6226dbad38 [CALCITE-7053] In HepPlanner, move down the collectGarbage
to topological order for better optimizer performance
add b642769e16 [CALCITE-7042] Eliminate nested TRIM calls, exploiting the
fact that TRIM is idempotent
add ee4801dfe5 [CALCITE-7055] Invalid unparse for cast to array type in
StarRocks
add 0dd30b5cd7 [CALCITE-6950] Use ANY operator to check if an element
exists in an array throws exception
add 1ba3b68e33 [CALCITE-7048] Derived types with FLOAT type arguments are
handled incorrectly in Presto
add 597b1fd54f [CALCITE-7056] Convert RelNode to Sql failed when the
RelNode includes quantify operators
add c41d064e25 [CALCITE-7058] Decorrelator may produce different column
names
add da6a2042f0 [CALCITE-1466] Support for UNSIGNED types of TINYINT,
SMALLINT, INT, BIGINT in type system
add 940cac570c [CALCITE-7009] AssertionError when converting query
containing multiple correlated subqueries referencing different tables in FROM
add 3a9ee36c11 [CALCITE-4993] Simplify EQUALS or NOT-EQUALS with other
number comparison
add 85d5b3ef9a [CALCITE-7061] RelMdSize does not handle nested ARRAY/MAP
constructor calls
add 5b5f39aa87 Disable test introduced in #43789 [CALCITE-7009] which
breaks main
add 50a4ee02c6 [CALCITE-7065] CoreRules.PROJECT_REDUCE_EXPRESSIONS crashes
when applied to a lambda
add fd57e660f2 [CALCITE-7010] The well-known count bug
add 5a0480c22e [CALCITE-7066] UNSIGNED types are not supported by
databases like Oracle, SQL Server
add c3e0f9e3df [CALCITE-7060] Enable dumping high-level plans in quidem
tests
add 225933d485 [CALCITE-7052] When conformance specifies isGroupbyAlias =
true the validator rejects legal queries
add 44a9d5caa5 [CALCITE-5583] JDBC adapter does not generate 'SELECT *'
when duplicate field names
add 84af5621db [CALCITE-6763] Optimize logic to select the tiles with the
fewest rows Optim define tile
add cf91ec8f36 [CALCITE-7070] FILTER_REDUCE_EXPRESSIONS crashes on
expression BETWEEN ( NULL) AND X
add 252d6aa7d4 [CALCITE-7051] NATURAL JOIN and JOIN with USING does not
match the appropriate columns when caseSensitive is false
add 07852af44c [CALCITE-7068] ElasticSearch adapter support LIKE operator
add b5057b7bd5 [CALCITE-7072] Validator should not insert aliases on
subexpressions
add 7dec961ab9 [CALCITE-7029] Support DPhyp to handle various join types
add 2143c6b106 [CALCITE-7067] Maximum precision of UNSIGNED BIGINT type in
MysqlSqlDialect should be 20
add 2fb437b937 [CALCITE-7064] Test introduced in [CALCITE-7009] breaks the
build for main
add 2447a2d1cf [CALCITE-7073] If the Java return type of a UDF is
ByteString, Calcite should deduce that the SQL type is VARBINARY
add 1e1ea335ff [CALCITE-7076] IN-list that includes NULL converted to
Values throws exception when When there is a non-null column being compared
with a NULL value
add c2282e5b29 [CALCITE-7074] IN-list that includes NULL converted to
Values return wrong result
add a6973bde81 [CALCITE-6386] Elasticsearch adapter throws
NullPointerException when used with with model.json and no username, password
or pathPrefix
add 9609b40921 [CALCITE-4756] When subquery include NULL value, Calcite
should return the right result
add 5ac6f35eaa [CALCITE-6080] The simplified form after applying
AggregateReduceFunctionsRule is giving wrong results for STDDEV, Covariance
with double and decimal types
add 31c3a9f406 [CALCITE-4915] Test for query with unqualified common
column and NATURAL JOIN
add b76fe48726 [CALCITE-7077] Implement a rule to rewrite FULL JOIN as
LEFT JOIN and RIGHT JOIN
add aeb69f30b0 [CALCITE-7071] Add test for replacing JOIN node with its
child node when JOIN condition is false
add e822bc9dc0 [CALCITE-7050] Invalid unparse for FULL JOIN in MySQLDialect
add e536d39496 [CALCITE-7081] Invalid unparse for cast to nested type in
ClickHouse
add df3b438ef1 [CALCITE-4723] Check whether JDBC adapter generates "GROUP
BY ()" against Oracle, DB2, MSSQL
add 0071f17c87 [CALCITE-7083] RelMdDistinctRowCount aggregates
implementation problems
add dafb8d7a1f [CALCITE-7090] Support LogicalRepeatUnion in
RelHomogeneousShuttle
add ed71c9a705 [CALCITE-7079] MongoDB Adapter unable to translate multiple
NOT EQUALS expressions combined with AND
add e2183d4896 [CALCITE-7095] Allow MAP<VARIANT, X> to be indexed by any
type of key
add b25fcd8016 [CALCITE-7097] Update commons-lang to 3.18.0
add cc3a4b7db3 [CALCITE-7096] Invalid unparse for EXTRACT in
StarRocks/Doris
add c437a9bbe6 [CALCITE-7094] Using a type alias as a constructor function
causes a validator assertion failure
add 92db490c7f [CALCITE-7102] Should return Presto SqlConformance when
DatabaseProduct is Presto
add 2aef3212ee [CALCITE-1583] Wrong results for query with correlated
subqueries with aggregate subquery expression
add 33b03ddb7e [CALCITE-3190] ElasticsearchJson throws Exception when
visitMappingProperties
add d63996d487 [CALCITE-7086] Implement a rule that performs the inverse
operation of AggregateCaseToFilterRule
add ca974f08ce [CALCITE-7108] Upgrade aggdesigner-algorithm from 6.0 to 6.1
add 53cde5105d [CALCITE-7105] ARRAY_CONCAT should only accept arguments
with type ARRAY
add 3719447e12 [CALCITE-7062] Row type of SetOp may ignore a column's
nullability
add 859469d9ea [CALCITE-7112] Correlation variable in HAVING clause causes
UnsupportedOperationException in RelToSql conversion
add 347664b494 [CALCITE-7113] RelJson cannot serialize RexLambda
add 7ecd358b2e [CALCITE-6731] Support bitwise XOR (^) operator in SQL -
Implements the "^" bitwise operator for numeric and binary types. - Adds
@Nullable annotations to fix Checker Framework nullness issues. - Fixes test
framework to handle carets (^) correctly in SQL validation tests.
add 2fafa5254e [CALCITE-7114] Invalid unparse for cast to array type in
Spark
add 6f15426e81 [CALCITE-5913] Support to get functional dependency
metadata in RelMetadataQuery
add cfaadedd8f [CALCITE-7118] Rex-to-Lix Translation fails to correctly
truncate/pad RexDynamicParam values
add 0febc55f17 [CALCITE-7089] Implement a rule for converting a RIGHT JOIN
to a LEFT JOIN
add 4fa0d5bbe9 [CALCITE-7128] SqlImplementor.toSql does not handle UUID
literals
add 25daf51444 [CALCITE-7125] Impossible to get a plan with partial
aggregate push-down via IntersectToDistinctRule
add 649f88cfcb [CALCITE-7129] Drop @RuleConfig annotation used in Quidem
tests
add f4f0e978dc [CALCITE-7127] RelToSqlConverter corrupts condition inside
an anti-join with WHERE NOT EXISTS
add 2505f6fc57 [CALCITE-7132] Inconsistency with type coercion and
character types
add 3ceb364c15 [CALCITE-7098] Update json-smart from 2.3 to 2.6.0
add 66afac689e [CALCITE-7134] Incorrect type inference for some aggregate
functions when groupSets contains '{}'
add d22a464b7a [CALCITE-7111] Add an API for finding common relational
sub-expressions
add 98b23fb0c2 [CALCITE-7137] Small nit: method name wrong in
documentation for hint strategy
add b457588783 [CALCITE-7104] Remove duplicate sort keys
add 3bbfadda77 [CALCITE-7144] LIMIT should not be pushed through
projections containing window functions
add 87789d949f [CALCITE-7126] The calculation result of grouping function
is wrong
add e330b9a863 Bump nokogiri from 1.18.8 to 1.18.9 in /site
add c62d592393 Site: Update ASF logo links
add b65f010d3a [CALCITE-7140] Improve constant reduction of expressions
containing SqlRowOperator
add 44b57985ea [CALCITE-7116] Optimize queries with GROUPING SETS by
converting them into equivalent UNION ALL of GROUP BY operations
add 0d9219846c [CALCITE-7147] Comparison of INTEGER and BOOLEAN produces
strange results
add 9710ccf28c [CALCITE-7135] SqlToRelConverter throws AssertionError on
ARRAY subquery order by a field that is not present on the final projection
add ff103d885c [CALCITE-7154] When the offset or limit of a SORT operation
is of type BIGINT row count calculation overflows
add 3fa0b62c33 [CALCITE-7155] Some optimization can be done according to
error prone suggestions
add 8dc4cbf2c1 [CALCITE-7080] Support unparse when operator is UPDATE
add b1c29f15ae [CALCITE-7146] TIMESTAMPDIFF accepts arguments with
mismatched types
add 4b0ebd45da [CALCITE-7149] Constant TIMESTAMPADD expression causes
assertion failure in validator
add 98afe461ca [CALCITE-7088] Multiple consecutive '%' in the string
matched by LIKE should simplify to a single '%'
add 41e1ab8b8c [CALCITE-4617] Wrong offset when SortJoinTransposeRule
pushes a Sort with an offset
add 03ce8f8683 [CALCITE-7157] PostgreSQL does not support string literal
in ORDER BY clause
add e3d5407d61 [CALCITE-7158] NULL cannot be cast to UUID
add 8c58c0d3ae [CALCITE-7159] LogicalAsofJoin deepEquals can throw for
legal expressions
add e352e93305 [CALCITE-7153] Mixed wildcards of _ and % need to be
simplified in LIKE operator
add 182b90955d [CALCITE-7069] Invalid unparse for INT UNSIGNED and BIGINT
UNSIGNED in MysqlSqlDialect
add d22c8f31a7 [CALCITE-7141] Add missing getter to FunctionSqlType
add f8d2dfe91d [CALCITE-7109] Support bitwise leftshifit(<<) operator And
Implement LEFT_SHIFT function in SQL
add 53d20a5420 [CALCITE-7163] Upgrade Sonar Gradle Plugin to version
6.3.1.5724
add c327ccba1e [CALCITE-7156] OFFSET and FETCH in EnumerableLimit need to
support BIGINT
add 91472d2c79 [CALCITE-7176] FETCH and OFFSET in SortMergeRule do not
support BIGINT
add 229ffcb654 [CALCITE-7179] Improve error message for QuidemTest
add aa19cc1ba0 [CALCITE-7173] Improve RelMdDistinctRowCount estimation for
lossless casts
add 91fc5980e5 [CALCITE-7178] FETCH and OFFSET in EnumerableMergeUnionRule
do not support BIGINT
add b3e7693ef2 [CALCITE-7180] Upgrade Github actions versions
add 49631a076a [CALCITE-7160] Simplify AND/OR with DISTINCT predicates to
SEARCH
add d0e0d0e379 [CALCITE-7162] AggregateMergeRule type mismatch on MIN/MAX
add 0668366c50 Some SQL queries related to [CALCITE-709] are now working
correctly
add 13c91f259e [CALCITE-7177] Upgrade Guava from 33.4.0-jre to 33.4.8-jre
add 68c540b194 Bump rexml from 3.4.1 to 3.4.2 in /site
add dbcab7f988 [CALCITE-7181] FETCH in SortRemoveRedundantRule do not
support BIGINT
add f68cf303ac [CALCITE-7175] Update Jackson from 2.15.0 to 2.18.4.1
add e1ff8b811c Add getter method for Uncollect.itemAliases
add 6211a95aa1 [CALCITE-7189] Support MySQL-style non-standard GROUP BY
add ebee26d503 [CALCITE-7192] AggregateReduceFunctionsRule lost FILTER
condition in STDDEV/VAR function decomposition
add b8f2f7ecb6 [CALCITE-7190] FETCH and OFFSET in SortMergeRule only
supports BIGINT
add 8fb5696cd5 [CALCITE-7191] Hypergraph creation with incorrect hyperedges
add 18f172a2ec Enable some disabled quidem tests
add fae81e600d [CALCITE-7186] Add mapping from Character[] to VARCHAR in
Java UDF
add 73c5400111 [CALCITE-7195] COALESCE type inference rejects legal
arguments
add 0ee208873b [CALCITE-7131] SqlImplementor.toSql does not handle
Geometry literals
add 9014934d8c [CALCITE-7193] In an aggregation validator treats lambda
variable names as column names
add 83882017b1 [CALCITE-7174] Improve lossless cast detection for numeric
types
add eb2beb9902 [CALCITE-7183] Upgrade Avatica to 1.27.0
add 7e6fad9000 [CALCITE-7210] BINARY literal values may not match their
type
add cf23c1613b Add link to new blog post on Calcite constant folding
add f9df87707a [CALCITE-7215] Simplify SEARCH operand in
RexSimplify.simplifySearch
add 087ee91eff [CALCITE-7212] VariablesSet of Project is lost during
RelStructuredTypeFlattener processing
add f01fb2a4ea [CALCITE-7203] IntersectToSemiJoinRule should compute once
the join keys and reuse them to avoid duplicates
add a1caa65297 [CALCITE-5094] Calcite JDBC Adapter and Avatica should
support MySQL UNSIGNED types of TINYINT, SMALLINT, INT, BIGINT
add 27cc692611 [CALCITE-7199] Improve column uniqueness computation for
Join
add 51d617dbf8 [CALCITE-7216] SqlOperator.inferReturnType throws the wrong
exception on error
add 5ff1668728 [CALCITE-7217] `LATERAL` is lost after validation
add 908e86ae62 Make HepPlanner.getVertexParents() protected
add e2d8ce0ce5 [CALCITE-5913] Support to get functional dependency
metadata in RelMetadataQuery
add 09cc28c062 [CALCITE-7184] Support for bitwise AND (&) operator in SQL
add db5c396a11 [CALCITE-5716] Two level nested correlated subquery
translates to incorrect ON condition
add 896054aba3 [CALCITE-7219] Enhance functional dependency computation
performance using the existing caching mechanisms
add 34ae30c7c6 [CALCITE-7222] SortRemoveDuplicateKeysRule miss fetch and
offset information
add fd172dbc51 [CALCITE-7070] FILTER_REDUCE_EXPRESSIONS crashes on
expression BETWEEN ( NULL) AND X
add 671cacaca3 [CALCITE-7225] Comparing ROW values with different lengths
causes an IndexOutOfBoudsException
add 6cbbf560b7 [CALCITE-7230] Compiler rejects comparisons between NULL
and a ROW value
add ff319cf753 [CALCITE-7034] IllegalArgumentException when correlate
subQuery in on clause and use rightside columns
add ceb26487e6 [CALCITE-7218] ArrowSet needs to maintain a minimal set of
functional dependencies
add 92a1028d65 [CALCITE-7233] SqlToRelConverter throws
`UnsupportedOperationException` after the introduction of the internal
`CAST_NON_NULL` operator
add 4194916e8b [CALCITE-7228] Validator rejects legal ASOF JOIN program
add 9c82eb4b68 [CALCITE-1440] Add Combine RelNode for converting multiple
SQL statements to unified RelNode Tree
add d2e5ee49ba [CALCITE-7070] FILTER_REDUCE_EXPRESSIONS crashes on
expression BETWEEN ( NULL) AND X
add 90712c8a18 [CALCITE-7201] ClassCastException in RexInterpreter#search
with different NUMERIC values
add 0af5284d9f [CALCITE-7238] Query that creates a ROW value triggers an
assertion failure in SqlToRelConverte
add 3543c3b7ad [CALCITE-6028] Join on with more than 20 in conditions will
report a null pointer error
add b6b3a068f5 Fix aspect ratio for ASF logos
add eee9230413 [CALCITE-5421] SqlToRelConverter should populate
correlateId for join with correlated query in HAVING condition
add 570c412f2d [CALCITE-5199] The leastRestrictiveStructuredType method
should reserve the StructKind instead of override it to FULLY_QUALIFIED
add 5b3cf92265 [CALCITE-7231] Validator crashes with AssertionFailure on
query with ROW and IN
add f398d74cbd [CALCITE-7235] Support Flexible HEP and Volcano Planner
Rule Configuration in Quidem Tests
add 95350ed1a4 [CALCITE-7220] RelToSqlConverter throws exception for
UPDATE with self-referencing column in SET
add 4f79aa875c [CALCITE-7240] Handle SEARCH in DateRangeRules
add ed60231048 [CALCITE-7249] Support unsigned types in RelMdSize
add 2b1c3e390b [CALCITE-7130] DiffRepository does not enforce any order on
XML resources
add d670812cc0 [CALCITE-7253] Add Default Programs Like DecorrelateProgram
to the Hep-Rule Test
add f26bd431dd [CALCITE-7135] SqlToRelConverter throws AssertionError on
ARRAY subquery order by a field that is not present on the final projection
(follow-up)
add 34989b0ed7 [CALCITE-7194] Simplify comparisons between function calls
and literals to SEARCH
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 (dec6e11ebb)
\
N -- N -- N refs/heads/site (34989b0ed7)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/workflows/gradle-wrapper-validation.yml | 4 +-
.github/workflows/main.yml | 70 +-
.../publish-non-release-website-updates.yml | 4 +-
.github/workflows/publish-website-on-release.yml | 4 +-
.github/workflows/site.yml | 2 +-
.github/workflows/stale.yml | 2 +-
Jenkinsfile | 6 +-
.../calcite/adapter/arrow/ArrowTranslator.java | 2 +-
babel/src/main/codegen/config.fmpp | 1 +
.../org/apache/calcite/test/BabelParserTest.java | 8 +
.../org/apache/calcite/test/BabelQuidemTest.java | 67 +-
babel/src/test/resources/sql/big-query.iq | 10 +
babel/src/test/resources/sql/postgresql.iq | 21 +
babel/src/test/resources/sql/redshift.iq | 12 +-
bom/build.gradle.kts | 2 +-
core/build.gradle.kts | 2 +-
core/src/main/codegen/default_config.fmpp | 1 +
core/src/main/codegen/templates/Parser.jj | 60 +-
.../calcite/adapter/enumerable/EnumUtils.java | 26 +-
.../adapter/enumerable/EnumerableLimit.java | 3 +
.../enumerable/EnumerableLimitSortRule.java | 8 +-
.../adapter/enumerable/EnumerableMergeJoin.java | 19 +-
.../enumerable/EnumerableMergeUnionRule.java | 4 +-
.../calcite/adapter/enumerable/RexImpTable.java | 59 +-
.../adapter/enumerable/RexToLixTranslator.java | 55 +-
.../apache/calcite/adapter/jdbc/JdbcSchema.java | 4 +-
.../apache/calcite/jdbc/JavaTypeFactoryImpl.java | 12 +
.../materialize/MaterializationService.java | 12 +-
.../apache/calcite/materialize/TileSuggester.java | 6 +-
.../calcite/plan/CommonRelExpressionRegistry.java | 60 +
.../apache/calcite/plan/CommonRelSubExprRule.java | 2 -
.../PlanTooComplexError.java} | 10 +-
.../apache/calcite/plan/RelOptPredicateList.java | 37 +-
.../java/org/apache/calcite/plan/RelOptUtil.java | 109 +-
.../main/java/org/apache/calcite/plan/Strong.java | 15 +
.../org/apache/calcite/plan/hep/HepPlanner.java | 21 +-
.../plan/visualizer/RuleMatchVisualizer.java | 8 +-
.../apache/calcite/prepare/CalcitePrepareImpl.java | 2 +-
.../rel/RelCommonExpressionBasicSuggester.java | 54 +
.../calcite/rel/RelCommonExpressionSuggester.java | 53 +
.../apache/calcite/rel/RelHomogeneousShuttle.java | 5 +
.../org/apache/calcite/rel/core/Aggregate.java | 44 +-
.../org/apache/calcite/rel/core/AggregateCall.java | 78 +-
.../java/org/apache/calcite/rel/core/Collect.java | 4 +-
.../java/org/apache/calcite/rel/core/Combine.java | 105 ++
.../org/apache/calcite/rel/core/RelFactories.java | 34 +-
.../org/apache/calcite/rel/core/TableModify.java | 13 +-
.../org/apache/calcite/rel/core/Uncollect.java | 5 +
.../java/org/apache/calcite/rel/core/Window.java | 2 +-
.../apache/calcite/rel/externalize/RelJson.java | 22 +
.../org/apache/calcite/rel/hint/package-info.java | 14 +-
.../calcite/rel/logical/LogicalAsofJoin.java | 5 +-
.../calcite/rel/metadata/BuiltInMetadata.java | 97 +-
.../rel/metadata/DefaultRelMetadataProvider.java | 3 +-
.../rel/metadata/RelMdColumnUniqueness.java | 47 +-
.../rel/metadata/RelMdDistinctRowCount.java | 8 +-
.../rel/metadata/RelMdFunctionalDependency.java | 477 ++++++
.../calcite/rel/metadata/RelMdMaxRowCount.java | 10 +-
.../calcite/rel/metadata/RelMdMinRowCount.java | 10 +-
.../rel/metadata/RelMdPercentageOriginalRows.java | 48 +
.../calcite/rel/metadata/RelMdPredicates.java | 7 +-
.../apache/calcite/rel/metadata/RelMdRowCount.java | 23 +-
.../org/apache/calcite/rel/metadata/RelMdSize.java | 32 +-
.../org/apache/calcite/rel/metadata/RelMdUtil.java | 7 +-
.../calcite/rel/metadata/RelMetadataQuery.java | 73 +
.../calcite/rel/rel2sql/RelToSqlConverter.java | 22 +-
.../apache/calcite/rel/rel2sql/SqlImplementor.java | 187 ++-
.../AggregateExpandDistinctAggregatesRule.java | 15 +-
.../rel/rules/AggregateFilterToCaseRule.java | 156 ++
.../rules/AggregateGroupingSetsToUnionRule.java | 180 ++
.../rel/rules/AggregateJoinTransposeRule.java | 4 +-
.../rules/AggregateProjectPullUpConstantsRule.java | 3 +-
.../rel/rules/AggregateReduceFunctionsRule.java | 58 +-
.../calcite/rel/rules/AggregateStarTableRule.java | 8 +-
.../rel/rules/AggregateUnionTransposeRule.java | 43 +-
.../rel/rules/CommonRelSubExprRegisterRule.java | 103 ++
.../calcite/rel/rules/ConflictDetectionHelper.java | 222 +++
.../rules/ConflictRule.java} | 39 +-
.../org/apache/calcite/rel/rules/CoreRules.java | 66 +-
.../apache/calcite/rel/rules/DateRangeRules.java | 1 +
.../java/org/apache/calcite/rel/rules/DpHyp.java | 202 ++-
.../calcite/rel/rules/DphypJoinReorderRule.java | 32 +-
.../rel/rules/FullToLeftAndRightJoinRule.java | 128 ++
.../org/apache/calcite/rel/rules/HyperEdge.java | 302 +++-
.../org/apache/calcite/rel/rules/HyperGraph.java | 276 +--
.../calcite/rel/rules/IntersectToDistinctRule.java | 143 +-
.../calcite/rel/rules/IntersectToSemiJoinRule.java | 59 +-
.../apache/calcite/rel/rules/JoinCommuteRule.java | 15 +
.../calcite/rel/rules/JoinExpandOrToUnionRule.java | 8 +-
.../calcite/rel/rules/JoinToHyperGraphRule.java | 163 +-
.../org/apache/calcite/rel/rules/MeasureRules.java | 4 +-
.../apache/calcite/rel/rules/PruneEmptyRules.java | 2 +-
.../calcite/rel/rules/ReduceExpressionsRule.java | 18 +-
.../org/apache/calcite/rel/rules/RuleConfig.java | 55 -
.../calcite/rel/rules/SetOpToFilterRule.java | 10 +-
.../calcite/rel/rules/SortJoinTransposeRule.java | 138 +-
.../apache/calcite/rel/rules/SortMergeRule.java | 14 +-
.../rel/rules/SortRemoveDuplicateKeysRule.java | 111 ++
.../calcite/rel/rules/SortRemoveRedundantRule.java | 20 +-
.../calcite/rel/rules/SubQueryRemoveRule.java | 111 +-
.../org/apache/calcite/rel/type/RelDataType.java | 3 +-
.../calcite/rel/type/RelDataTypeFactoryImpl.java | 3 +-
.../calcite/rel/type/RelDataTypeSystemImpl.java | 4 +
.../java/org/apache/calcite/rex/RexAnalyzer.java | 1 +
.../java/org/apache/calcite/rex/RexBiVisitor.java | 2 +
.../org/apache/calcite/rex/RexBiVisitorImpl.java | 4 +
.../java/org/apache/calcite/rex/RexBuilder.java | 52 +-
.../org/apache/calcite/rex/RexInterpreter.java | 33 +-
.../java/org/apache/calcite/rex/RexLiteral.java | 12 +
.../apache/calcite/rex/RexNodeAndFieldIndex.java | 99 ++
.../java/org/apache/calcite/rex/RexShuttle.java | 4 +
.../java/org/apache/calcite/rex/RexSimplify.java | 347 +++-
.../java/org/apache/calcite/rex/RexSubQuery.java | 6 +-
.../org/apache/calcite/rex/RexUnaryBiVisitor.java | 4 +
.../main/java/org/apache/calcite/rex/RexUtil.java | 128 +-
.../java/org/apache/calcite/rex/RexVisitor.java | 2 +
.../org/apache/calcite/rex/RexVisitorImpl.java | 4 +
.../apache/calcite/runtime/CalciteResource.java | 12 +
.../org/apache/calcite/runtime/SqlFunctions.java | 520 +++++-
.../calcite/runtime/rtti/BasicSqlTypeRtti.java | 8 +
.../runtime/rtti/RuntimeTypeInformation.java | 31 +
.../calcite/runtime/variant/VariantNonNull.java | 178 ++
...java => SqlArrayWithAngleBracketsNameSpec.java} | 38 +-
.../apache/calcite/sql/SqlBasicTypeNameSpec.java | 21 +
.../org/apache/calcite/sql/SqlCallBinding.java | 18 +-
.../calcite/sql/SqlCollectionTypeNameSpec.java | 22 +-
.../java/org/apache/calcite/sql/SqlDelete.java | 10 +-
.../java/org/apache/calcite/sql/SqlDialect.java | 12 +
.../org/apache/calcite/sql/SqlFilterOperator.java | 4 +-
.../main/java/org/apache/calcite/sql/SqlKind.java | 3 +
.../org/apache/calcite/sql/SqlMapTypeNameSpec.java | 12 +-
.../main/java/org/apache/calcite/sql/SqlMerge.java | 13 +-
.../java/org/apache/calcite/sql/SqlOperator.java | 30 +-
.../org/apache/calcite/sql/SqlOperatorBinding.java | 16 +
.../org/apache/calcite/sql/SqlOverOperator.java | 5 +-
.../calcite/sql/SqlSplittableAggFunction.java | 4 +-
.../java/org/apache/calcite/sql/SqlUpdate.java | 26 +-
.../java/org/apache/calcite/sql/SqlWindow.java | 2 +-
.../calcite/sql/dialect/ClickHouseSqlDialect.java | 68 +-
.../calcite/sql/dialect/DorisSqlDialect.java | 27 +-
.../calcite/sql/dialect/MysqlSqlDialect.java | 14 +
.../calcite/sql/dialect/PostgresqlSqlDialect.java | 23 +
.../calcite/sql/dialect/PrestoSqlDialect.java | 34 +-
.../calcite/sql/dialect/SparkSqlDialect.java | 13 +-
.../calcite/sql/dialect/StarRocksSqlDialect.java | 59 +-
.../apache/calcite/sql/fun/SqlBetweenOperator.java | 10 +-
.../apache/calcite/sql/fun/SqlCastFunction.java | 4 +-
.../calcite/sql/fun/SqlCoalesceFunction.java | 9 +-
.../calcite/sql/fun/SqlInternalOperators.java | 34 +
.../apache/calcite/sql/fun/SqlItemOperator.java | 6 +-
.../calcite/sql/fun/SqlLibraryOperators.java | 44 +-
.../calcite/sql/fun/SqlQuantifyOperator.java | 43 +-
.../calcite/sql/fun/SqlStdOperatorTable.java | 73 +-
.../calcite/sql/fun/SqlTimestampAddFunction.java | 12 +-
.../calcite/sql/fun/SqlTimestampDiffFunction.java | 65 +-
.../apache/calcite/sql/parser/SqlParserUtil.java | 14 +-
.../apache/calcite/sql/parser/StringAndPos.java | 4 +-
.../org/apache/calcite/sql/type/BasicSqlType.java | 12 +-
.../sql/type/ExplicitOperandTypeChecker.java | 32 +-
.../apache/calcite/sql/type/FunctionSqlType.java | 34 +-
.../org/apache/calcite/sql/type/InferTypes.java | 15 +-
.../sql/type/JavaToSqlTypeConversionRules.java | 3 +
.../org/apache/calcite/sql/type/OperandTypes.java | 4 +
.../org/apache/calcite/sql/type/ReturnTypes.java | 8 +-
.../calcite/sql/type/SqlTypeAssignmentRule.java | 58 +
.../calcite/sql/type/SqlTypeCoercionRule.java | 20 +
.../calcite/sql/type/SqlTypeFactoryImpl.java | 2 +
.../org/apache/calcite/sql/type/SqlTypeFamily.java | 3 +
.../org/apache/calcite/sql/type/SqlTypeName.java | 88 +-
.../apache/calcite/sql/type/SqlTypeTransforms.java | 10 +-
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 229 ++-
.../apache/calcite/sql/validate/AggChecker.java | 10 +-
.../sql/validate/SqlAbstractConformance.java | 8 +
.../calcite/sql/validate/SqlConformance.java | 11 +
.../calcite/sql/validate/SqlConformanceEnum.java | 21 +
.../sql/validate/SqlDelegatingConformance.java | 8 +
.../calcite/sql/validate/SqlLambdaScope.java | 5 +
.../calcite/sql/validate/SqlValidatorImpl.java | 354 ++--
.../calcite/sql/validate/SqlValidatorUtil.java | 33 +
.../validate/implicit/AbstractTypeCoercion.java | 71 +-
.../sql/validate/implicit/TypeCoercion.java | 18 +
.../sql/validate/implicit/TypeCoercionImpl.java | 136 +-
.../apache/calcite/sql2rel/RelDecorrelator.java | 347 +++-
.../apache/calcite/sql2rel/RelFieldTrimmer.java | 185 +-
.../sql2rel/RelStructuredTypeFlattener.java | 2 +-
.../calcite/sql2rel/RexRewritingRelShuttle.java | 2 +-
.../org/apache/calcite/sql2rel/SqlRexContext.java | 26 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 212 ++-
.../calcite/sql2rel/StandardConvertletTable.java | 34 +-
.../java/org/apache/calcite/tools/Programs.java | 8 +
.../java/org/apache/calcite/tools/RelBuilder.java | 296 +++-
.../main/java/org/apache/calcite/util/Arrow.java | 118 ++
.../java/org/apache/calcite/util/ArrowSet.java | 405 +++++
.../org/apache/calcite/util/BuiltInMethod.java | 22 +-
.../java/org/apache/calcite/util/NlsString.java | 36 +
.../apache/calcite/util/RelToSqlConverterUtil.java | 117 ++
.../format/compiled/NumberCompiledPattern.java | 2 +-
.../apache/calcite/util/trace/CalciteTrace.java | 8 +
.../calcite/runtime/CalciteResource.properties | 4 +
.../calcite/jdbc/CalciteRemoteDriverTest.java | 2 +-
.../org/apache/calcite/plan/RelOptUtilTest.java | 130 ++
.../calcite/plan/volcano/VolcanoPlannerTest.java | 2 +-
.../rel/RelCommonExpressionBasicSuggesterTest.java | 115 ++
.../calcite/rel/externalize/RelJsonTest.java | 79 +
.../rel/logical/ToLogicalConverterTest.java | 19 +
.../calcite/rel/rel2sql/RelToSqlConverterTest.java | 930 ++++++++++-
.../calcite/rel/rules/DateRangeRulesTest.java | 60 +-
.../org/apache/calcite/rex/RexInterpreterTest.java | 62 +
.../apache/calcite/rex/RexLosslessCastTest.java | 325 +++-
.../apache/calcite/rex/RexProgramBuilderBase.java | 37 +-
.../org/apache/calcite/rex/RexProgramTest.java | 221 ++-
.../apache/calcite/sql/test/SqlAdvisorTest.java | 4 +
.../apache/calcite/sql/test/SqlTypeNameTest.java | 28 +
.../calcite/sql/type/FunctionSqlTypeTest.java | 72 +
.../calcite/sql/type/SqlTypeFactoryTest.java | 38 +
.../apache/calcite/sql/type/SqlTypeUtilTest.java | 69 +-
.../calcite/sql2rel/RelDecorrelatorTest.java | 139 +-
.../calcite/sql2rel/RelFieldTrimmerTest.java | 2 +-
.../org/apache/calcite/test/CoreQuidemTest.java | 37 +
.../apache/calcite/test/DphypJoinReorderTest.java | 294 ++++
.../org/apache/calcite/test/JdbcAdapterTest.java | 29 +-
.../java/org/apache/calcite/test/JdbcTest.java | 164 +-
.../test/MaterializedViewRelOptRulesTest.java | 56 +-
.../MaterializedViewSubstitutionVisitorTest.java | 8 +-
.../calcite/test/ProxyingRelMetadataTest.java | 8 +
.../org/apache/calcite/test/RelBuilderTest.java | 377 ++++-
.../org/apache/calcite/test/RelMetadataTest.java | 827 ++++++++-
.../org/apache/calcite/test/RelOptRulesTest.java | 627 ++++++-
.../calcite/test/RexImplicationCheckerTest.java | 123 ++
.../org/apache/calcite/test/SqlFunctionsTest.java | 25 +
.../apache/calcite/test/SqlJsonFunctionsTest.java | 6 +-
.../calcite/test/SqlOperatorUnparseTest.java | 21 +-
.../apache/calcite/test/SqlToRelConverterTest.java | 267 +++
.../org/apache/calcite/test/SqlValidatorTest.java | 491 +++++-
.../apache/calcite/test/TableInRootSchemaTest.java | 23 +-
.../calcite/test/TypeCoercionConverterTest.java | 4 -
.../org/apache/calcite/test/TypeCoercionTest.java | 6 +-
.../test/java/org/apache/calcite/test/UdfTest.java | 52 +-
.../test/enumerable/EnumerableCorrelateTest.java | 2 +-
.../test/enumerable/EnumerableHashJoinTest.java | 20 +-
.../java/org/apache/calcite/tools/PlannerTest.java | 12 +-
.../java/org/apache/calcite/util/ArrowSetTest.java | 254 +++
core/src/test/resources/log4j2-test.xml | 1 +
.../rel/RelCommonExpressionBasicSuggesterTest.xml | 93 ++
.../GeneratedMetadata_CumulativeCostHandler.java | 2 +
...atedMetadata_PercentageOriginalRowsHandler.java | 2 +
.../janino/GeneratedMetadata_RowCountHandler.java | 2 +
.../org/apache/calcite/test/RelOptRulesTest.xml | 1765 +++++++++++++++-----
.../apache/calcite/test/SqlToRelConverterTest.xml | 626 +++++--
.../calcite/test/TypeCoercionConverterTest.xml | 6 +-
core/src/test/resources/sql/agg.iq | 354 +++-
core/src/test/resources/sql/aliasing.iq | 465 ++++++
core/src/test/resources/sql/asof.iq | 49 +
core/src/test/resources/sql/blank.iq | 16 +-
core/src/test/resources/sql/cast.iq | 184 ++
core/src/test/resources/sql/conditions.iq | 31 +
core/src/test/resources/sql/hep.iq | 154 ++
core/src/test/resources/sql/join.iq | 26 +
core/src/test/resources/sql/misc.iq | 29 +-
core/src/test/resources/sql/operator.iq | 111 ++
core/src/test/resources/sql/planner.iq | 271 ++-
core/src/test/resources/sql/scalar.iq | 91 +-
core/src/test/resources/sql/set-op.iq | 68 +
core/src/test/resources/sql/sort.iq | 5 +
core/src/test/resources/sql/sub-query.iq | 584 +++++--
core/src/test/resources/sql/unsigned.iq | 175 ++
core/src/test/resources/sql/variant.iq | 11 +
.../calcite/adapter/druid/DruidConnectionImpl.java | 38 +-
.../calcite/adapter/druid/DruidDateTimeUtils.java | 25 +
.../org/apache/calcite/test/DruidAdapter2IT.java | 5 +-
.../org/apache/calcite/test/DruidAdapterIT.java | 8 +-
.../adapter/elasticsearch/ElasticsearchJson.java | 6 +-
.../elasticsearch/ElasticsearchSchemaFactory.java | 14 +-
.../adapter/elasticsearch/PredicateAnalyzer.java | 21 +-
.../adapter/elasticsearch/QueryBuilders.java | 85 +-
.../elasticsearch/ElasticSearchAdapterTest.java | 163 +-
.../elasticsearch/ElasticsearchJsonTest.java | 36 +
.../calcite/adapter/geode/util/GeodeUtils.java | 4 +-
.../adapter/geode/rel/GeodeBookstoreTest.java | 10 +-
gradle.properties | 16 +-
.../calcite/adapter/innodb/InnodbAdapterTest.java | 4 +-
linq4j/build.gradle.kts | 1 +
.../calcite/linq4j/tree/OptimizeShuttle.java | 11 +-
.../org/apache/calcite/linq4j/tree/Primitive.java | 15 +-
.../apache/calcite/linq4j/tree/UnsignedType.java | 343 ++++
.../apache/calcite/linq4j/test/OptimizerTest.java | 4 +-
.../calcite/adapter/mongodb/MongoFilter.java | 39 +-
.../calcite/adapter/mongodb/MongoAdapterTest.java | 84 +-
.../org/apache/calcite/piglet/PigRelOpVisitor.java | 2 +-
.../java/org/apache/calcite/test/PigRelOpTest.java | 2 +-
.../apache/calcite/sql2rel/TpcdsSqlToRelTest.java | 150 ++
.../src/test/resources/sql/tpcds/01.sql | 36 +-
plus/src/test/resources/sql/tpcds/02.sql | 74 +
.../src/test/resources/sql/tpcds/03.sql | 22 +-
plus/src/test/resources/sql/tpcds/04.sql | 123 ++
plus/src/test/resources/sql/tpcds/05.sql | 142 ++
.../src/test/resources/sql/tpcds/06.sql | 27 +-
.../src/test/resources/sql/tpcds/07.sql | 22 +-
plus/src/test/resources/sql/tpcds/08.sql | 122 ++
plus/src/test/resources/sql/tpcds/09.sql | 64 +
plus/src/test/resources/sql/tpcds/10.sql | 73 +
plus/src/test/resources/sql/tpcds/11.sql | 89 +
.../src/test/resources/sql/tpcds/12.sql | 42 +-
plus/src/test/resources/sql/tpcds/13.sql | 65 +
plus/src/test/resources/sql/tpcds/14.sql | 118 ++
.../src/test/resources/sql/tpcds/15.sql | 21 +-
plus/src/test/resources/sql/tpcds/16.sql | 45 +
plus/src/test/resources/sql/tpcds/17.sql | 59 +
plus/src/test/resources/sql/tpcds/18.sql | 47 +
.../src/test/resources/sql/tpcds/19.sql | 26 +-
.../src/test/resources/sql/tpcds/20.sql | 30 +-
plus/src/test/resources/sql/tpcds/21.sql | 44 +
.../src/test/resources/sql/tpcds/22.sql | 27 +-
plus/src/test/resources/sql/tpcds/23.sql | 66 +
plus/src/test/resources/sql/tpcds/24.sql | 64 +
plus/src/test/resources/sql/tpcds/25.sql | 62 +
.../src/test/resources/sql/tpcds/26.sql | 22 +-
.../src/test/resources/sql/tpcds/27.sql | 24 +-
plus/src/test/resources/sql/tpcds/28.sql | 67 +
plus/src/test/resources/sql/tpcds/29.sql | 61 +
plus/src/test/resources/sql/tpcds/30.sql | 45 +
plus/src/test/resources/sql/tpcds/31.sql | 66 +
.../src/test/resources/sql/tpcds/32.sql | 29 +-
plus/src/test/resources/sql/tpcds/33.sql | 89 +
plus/src/test/resources/sql/tpcds/34.sql | 45 +
plus/src/test/resources/sql/tpcds/35.sql | 71 +
.../src/test/resources/sql/tpcds/36.sql | 30 +-
.../src/test/resources/sql/tpcds/37.sql | 18 +-
plus/src/test/resources/sql/tpcds/38.sql | 37 +
plus/src/test/resources/sql/tpcds/39.sql | 41 +
plus/src/test/resources/sql/tpcds/40.sql | 42 +
plus/src/test/resources/sql/tpcds/41.sql | 66 +
.../src/test/resources/sql/tpcds/42.sql | 23 +-
plus/src/test/resources/sql/tpcds/43.sql | 33 +
plus/src/test/resources/sql/tpcds/44.sql | 49 +
.../src/test/resources/sql/tpcds/45.sql | 33 +-
plus/src/test/resources/sql/tpcds/46.sql | 49 +
plus/src/test/resources/sql/tpcds/47.sql | 65 +
plus/src/test/resources/sql/tpcds/48.sql | 80 +
plus/src/test/resources/sql/tpcds/49.sql | 141 ++
plus/src/test/resources/sql/tpcds/50.sql | 73 +
plus/src/test/resources/sql/tpcds/51.sql | 59 +
.../src/test/resources/sql/tpcds/52.sql | 23 +-
plus/src/test/resources/sql/tpcds/53.sql | 42 +
plus/src/test/resources/sql/tpcds/54.sql | 70 +
.../src/test/resources/sql/tpcds/55.sql | 15 +-
plus/src/test/resources/sql/tpcds/56.sql | 82 +
plus/src/test/resources/sql/tpcds/57.sql | 62 +
plus/src/test/resources/sql/tpcds/58.sql | 79 +
plus/src/test/resources/sql/tpcds/59.sql | 58 +
plus/src/test/resources/sql/tpcds/60.sql | 92 +
plus/src/test/resources/sql/tpcds/61.sql | 58 +
plus/src/test/resources/sql/tpcds/62.sql | 49 +
plus/src/test/resources/sql/tpcds/63.sql | 43 +
plus/src/test/resources/sql/tpcds/64.sql | 133 ++
plus/src/test/resources/sql/tpcds/65.sql | 43 +
plus/src/test/resources/sql/tpcds/66.sql | 236 +++
plus/src/test/resources/sql/tpcds/67.sql | 58 +
plus/src/test/resources/sql/tpcds/68.sql | 56 +
plus/src/test/resources/sql/tpcds/69.sql | 61 +
plus/src/test/resources/sql/tpcds/70.sql | 52 +
plus/src/test/resources/sql/tpcds/71.sql | 53 +
plus/src/test/resources/sql/tpcds/72.sql | 45 +
plus/src/test/resources/sql/tpcds/73.sql | 42 +
plus/src/test/resources/sql/tpcds/74.sql | 75 +
plus/src/test/resources/sql/tpcds/75.sql | 84 +
plus/src/test/resources/sql/tpcds/76.sql | 38 +
plus/src/test/resources/sql/tpcds/77.sql | 121 ++
plus/src/test/resources/sql/tpcds/78.sql | 72 +
plus/src/test/resources/sql/tpcds/79.sql | 37 +
plus/src/test/resources/sql/tpcds/80.sql | 110 ++
plus/src/test/resources/sql/tpcds/81.sql | 45 +
.../src/test/resources/sql/tpcds/82.sql | 22 +-
plus/src/test/resources/sql/tpcds/83.sql | 81 +
.../src/test/resources/sql/tpcds/84.sql | 22 +-
plus/src/test/resources/sql/tpcds/85.sql | 98 ++
.../src/test/resources/sql/tpcds/86.sql | 27 +-
plus/src/test/resources/sql/tpcds/87.sql | 36 +
plus/src/test/resources/sql/tpcds/88.sql | 107 ++
plus/src/test/resources/sql/tpcds/89.sql | 42 +
plus/src/test/resources/sql/tpcds/90.sql | 36 +
plus/src/test/resources/sql/tpcds/91.sql | 45 +
.../src/test/resources/sql/tpcds/92.sql | 57 +-
.../src/test/resources/sql/tpcds/93.sql | 39 +-
.../src/test/resources/sql/tpcds/94.sql | 36 +-
plus/src/test/resources/sql/tpcds/95.sql | 46 +
.../src/test/resources/sql/tpcds/96.sql | 17 +-
plus/src/test/resources/sql/tpcds/97.sql | 39 +
.../src/test/resources/sql/tpcds/98.sql | 54 +-
plus/src/test/resources/sql/tpcds/99.sql | 49 +
site/_docs/history.md | 2 +-
site/_docs/reference.md | 67 +-
.../org/apache/calcite/test/SparkAdapterTest.java | 4 +-
.../apache/calcite/sql/parser/SqlParserTest.java | 57 +
.../apache/calcite/sql/test/AbstractSqlTester.java | 53 +-
.../org/apache/calcite/sql/test/SqlTester.java | 8 +-
.../org/apache/calcite/test/CalciteAssert.java | 49 +-
.../org/apache/calcite/test/DiffRepository.java | 20 +-
.../java/org/apache/calcite/test/QuidemTest.java | 214 ++-
.../apache/calcite/test/RelSuggesterFixture.java | 118 ++
.../test/RexImplicationCheckerFixtures.java | 4 +
.../calcite/test/SqlOperatorFixtureImpl.java | 3 +-
.../org/apache/calcite/test/SqlOperatorTest.java | 591 ++++++-
.../org/apache/calcite/test/SqlRuntimeTester.java | 6 +-
.../apache/calcite/test/SqlValidatorFixture.java | 2 +-
.../test/catalog/MockCatalogReaderSimple.java | 15 +
.../main/java/org/apache/calcite/util/Smalls.java | 29 +
.../calcite/test/DiffRepositoryOutOfOrderTest.java | 51 +
...ryTest.xml => DiffRepositoryOutOfOrderTest.xml} | 10 +-
409 files changed, 26441 insertions(+), 3105 deletions(-)
create mode 100644
core/src/main/java/org/apache/calcite/plan/CommonRelExpressionRegistry.java
copy
core/src/main/java/org/apache/calcite/{rel/metadata/DelegatingMetadataRel.java
=> plan/PlanTooComplexError.java} (74%)
create mode 100644
core/src/main/java/org/apache/calcite/rel/RelCommonExpressionBasicSuggester.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/RelCommonExpressionSuggester.java
create mode 100644 core/src/main/java/org/apache/calcite/rel/core/Combine.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/metadata/RelMdFunctionalDependency.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/AggregateFilterToCaseRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/AggregateGroupingSetsToUnionRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/CommonRelSubExprRegisterRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/ConflictDetectionHelper.java
copy
core/src/main/java/org/apache/calcite/{materialize/MaterializationKey.java =>
rel/rules/ConflictRule.java} (52%)
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/FullToLeftAndRightJoinRule.java
delete mode 100644
core/src/main/java/org/apache/calcite/rel/rules/RuleConfig.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/SortRemoveDuplicateKeysRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rex/RexNodeAndFieldIndex.java
copy core/src/main/java/org/apache/calcite/sql/{SqlAbstractStringLiteral.java
=> SqlArrayWithAngleBracketsNameSpec.java} (51%)
create mode 100644 core/src/main/java/org/apache/calcite/util/Arrow.java
create mode 100644 core/src/main/java/org/apache/calcite/util/ArrowSet.java
create mode 100644
core/src/test/java/org/apache/calcite/rel/RelCommonExpressionBasicSuggesterTest.java
create mode 100644
core/src/test/java/org/apache/calcite/rex/RexInterpreterTest.java
create mode 100644
core/src/test/java/org/apache/calcite/sql/type/FunctionSqlTypeTest.java
create mode 100644
core/src/test/java/org/apache/calcite/test/DphypJoinReorderTest.java
create mode 100644 core/src/test/java/org/apache/calcite/util/ArrowSetTest.java
create mode 100644
core/src/test/resources/org/apache/calcite/rel/RelCommonExpressionBasicSuggesterTest.xml
create mode 100644 core/src/test/resources/sql/aliasing.iq
create mode 100644 core/src/test/resources/sql/hep.iq
create mode 100644 core/src/test/resources/sql/unsigned.iq
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/tree/UnsignedType.java
create mode 100644
plus/src/test/java/org/apache/calcite/sql2rel/TpcdsSqlToRelTest.java
copy linq4j/src/main/java/org/apache/calcite/linq4j/Queryable.java =>
plus/src/test/resources/sql/tpcds/01.sql (51%)
create mode 100644 plus/src/test/resources/sql/tpcds/02.sql
copy arrow/src/main/java/org/apache/calcite/adapter/arrow/package-info.java =>
plus/src/test/resources/sql/tpcds/03.sql (64%)
create mode 100644 plus/src/test/resources/sql/tpcds/04.sql
create mode 100644 plus/src/test/resources/sql/tpcds/05.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/06.sql (54%)
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/07.sql (57%)
create mode 100644 plus/src/test/resources/sql/tpcds/08.sql
create mode 100644 plus/src/test/resources/sql/tpcds/09.sql
create mode 100644 plus/src/test/resources/sql/tpcds/10.sql
create mode 100644 plus/src/test/resources/sql/tpcds/11.sql
copy core/src/main/java/org/apache/calcite/profile/package-info.java =>
plus/src/test/resources/sql/tpcds/12.sql (54%)
create mode 100644 plus/src/test/resources/sql/tpcds/13.sql
create mode 100644 plus/src/test/resources/sql/tpcds/14.sql
copy
babel/src/main/java/org/apache/calcite/sql/babel/postgres/package-info.java =>
plus/src/test/resources/sql/tpcds/15.sql (59%)
create mode 100644 plus/src/test/resources/sql/tpcds/16.sql
create mode 100644 plus/src/test/resources/sql/tpcds/17.sql
create mode 100644 plus/src/test/resources/sql/tpcds/18.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/19.sql (54%)
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/20.sql (51%)
create mode 100644 plus/src/test/resources/sql/tpcds/21.sql
copy
druid/src/main/java/org/apache/calcite/adapter/druid/ExtractionFunction.java =>
plus/src/test/resources/sql/tpcds/22.sql (60%)
create mode 100644 plus/src/test/resources/sql/tpcds/23.sql
create mode 100644 plus/src/test/resources/sql/tpcds/24.sql
create mode 100644 plus/src/test/resources/sql/tpcds/25.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/26.sql (54%)
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/27.sql (52%)
create mode 100644 plus/src/test/resources/sql/tpcds/28.sql
create mode 100644 plus/src/test/resources/sql/tpcds/29.sql
create mode 100644 plus/src/test/resources/sql/tpcds/30.sql
create mode 100644 plus/src/test/resources/sql/tpcds/31.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/32.sql (54%)
create mode 100644 plus/src/test/resources/sql/tpcds/33.sql
create mode 100644 plus/src/test/resources/sql/tpcds/34.sql
create mode 100644 plus/src/test/resources/sql/tpcds/35.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/36.sql (51%)
copy
babel/src/main/java/org/apache/calcite/sql/babel/postgres/package-info.java =>
plus/src/test/resources/sql/tpcds/37.sql (61%)
create mode 100644 plus/src/test/resources/sql/tpcds/38.sql
create mode 100644 plus/src/test/resources/sql/tpcds/39.sql
create mode 100644 plus/src/test/resources/sql/tpcds/40.sql
create mode 100644 plus/src/test/resources/sql/tpcds/41.sql
copy arrow/src/main/java/org/apache/calcite/adapter/arrow/package-info.java =>
plus/src/test/resources/sql/tpcds/42.sql (62%)
create mode 100644 plus/src/test/resources/sql/tpcds/43.sql
create mode 100644 plus/src/test/resources/sql/tpcds/44.sql
copy
core/src/main/java/org/apache/calcite/adapter/enumerable/WinAggResetContext.java
=> plus/src/test/resources/sql/tpcds/45.sql (54%)
create mode 100644 plus/src/test/resources/sql/tpcds/46.sql
create mode 100644 plus/src/test/resources/sql/tpcds/47.sql
create mode 100644 plus/src/test/resources/sql/tpcds/48.sql
create mode 100644 plus/src/test/resources/sql/tpcds/49.sql
create mode 100644 plus/src/test/resources/sql/tpcds/50.sql
create mode 100644 plus/src/test/resources/sql/tpcds/51.sql
copy arrow/src/main/java/org/apache/calcite/adapter/arrow/package-info.java =>
plus/src/test/resources/sql/tpcds/52.sql (64%)
create mode 100644 plus/src/test/resources/sql/tpcds/53.sql
create mode 100644 plus/src/test/resources/sql/tpcds/54.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/55.sql (71%)
create mode 100644 plus/src/test/resources/sql/tpcds/56.sql
create mode 100644 plus/src/test/resources/sql/tpcds/57.sql
create mode 100644 plus/src/test/resources/sql/tpcds/58.sql
create mode 100644 plus/src/test/resources/sql/tpcds/59.sql
create mode 100644 plus/src/test/resources/sql/tpcds/60.sql
create mode 100644 plus/src/test/resources/sql/tpcds/61.sql
create mode 100644 plus/src/test/resources/sql/tpcds/62.sql
create mode 100644 plus/src/test/resources/sql/tpcds/63.sql
create mode 100644 plus/src/test/resources/sql/tpcds/64.sql
create mode 100644 plus/src/test/resources/sql/tpcds/65.sql
create mode 100644 plus/src/test/resources/sql/tpcds/66.sql
create mode 100644 plus/src/test/resources/sql/tpcds/67.sql
create mode 100644 plus/src/test/resources/sql/tpcds/68.sql
create mode 100644 plus/src/test/resources/sql/tpcds/69.sql
create mode 100644 plus/src/test/resources/sql/tpcds/70.sql
create mode 100644 plus/src/test/resources/sql/tpcds/71.sql
create mode 100644 plus/src/test/resources/sql/tpcds/72.sql
create mode 100644 plus/src/test/resources/sql/tpcds/73.sql
create mode 100644 plus/src/test/resources/sql/tpcds/74.sql
create mode 100644 plus/src/test/resources/sql/tpcds/75.sql
create mode 100644 plus/src/test/resources/sql/tpcds/76.sql
create mode 100644 plus/src/test/resources/sql/tpcds/77.sql
create mode 100644 plus/src/test/resources/sql/tpcds/78.sql
create mode 100644 plus/src/test/resources/sql/tpcds/79.sql
create mode 100644 plus/src/test/resources/sql/tpcds/80.sql
create mode 100644 plus/src/test/resources/sql/tpcds/81.sql
copy src/main/config/checkerframework/Field.astub =>
plus/src/test/resources/sql/tpcds/82.sql (64%)
create mode 100644 plus/src/test/resources/sql/tpcds/83.sql
copy
babel/src/main/java/org/apache/calcite/sql/babel/postgres/package-info.java =>
plus/src/test/resources/sql/tpcds/84.sql (57%)
create mode 100644 plus/src/test/resources/sql/tpcds/85.sql
copy babel/src/main/java/org/apache/calcite/sql/babel/package-info.java =>
plus/src/test/resources/sql/tpcds/86.sql (55%)
create mode 100644 plus/src/test/resources/sql/tpcds/87.sql
create mode 100644 plus/src/test/resources/sql/tpcds/88.sql
create mode 100644 plus/src/test/resources/sql/tpcds/89.sql
create mode 100644 plus/src/test/resources/sql/tpcds/90.sql
create mode 100644 plus/src/test/resources/sql/tpcds/91.sql
copy core/src/main/java/org/apache/calcite/model/JsonTypeAttribute.java =>
plus/src/test/resources/sql/tpcds/92.sql (53%)
copy core/src/main/java/org/apache/calcite/sql/type/SqlOperandMetadata.java =>
plus/src/test/resources/sql/tpcds/93.sql (51%)
copy
core/src/test/java/org/apache/calcite/rel/metadata/MetadataHandlerWithStaticMethod.java
=> plus/src/test/resources/sql/tpcds/94.sql (50%)
create mode 100644 plus/src/test/resources/sql/tpcds/95.sql
copy arrow/src/main/java/org/apache/calcite/adapter/arrow/package-info.java =>
plus/src/test/resources/sql/tpcds/96.sql (67%)
create mode 100644 plus/src/test/resources/sql/tpcds/97.sql
copy core/src/main/java/org/apache/calcite/sql/advise/SqlAdvisorHint2.java =>
plus/src/test/resources/sql/tpcds/98.sql (53%)
create mode 100644 plus/src/test/resources/sql/tpcds/99.sql
create mode 100644
testkit/src/main/java/org/apache/calcite/test/RelSuggesterFixture.java
create mode 100644
testkit/src/test/java/org/apache/calcite/test/DiffRepositoryOutOfOrderTest.java
copy
testkit/src/test/resources/org/apache/calcite/test/{DiffRepositoryTest.xml =>
DiffRepositoryOutOfOrderTest.xml} (77%)