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 cc0a3ca329 Site: Add Jiajun Xie as committer
discard 74cab06899 Prepare for next development iteration
discard 951c32069c [CALCITE-5481] Release Calcite 1.33.0
discard 5b06ba25e3 Site: Add Benchao Li as PMC
discard a8dad7c315 Site: Add Istvan Toth as committer
discard 9089bacae2 Site: Switch PMC Chair to Stamatis Zampetakis
discard 1d460c053a [CALCITE-5417] Upgrade Proj4J from 1.1.5 to 1.2.2, and
restore it as an included dependency
discard 56c902cc91 [CALCITE-5399] Remove Proj4J from the api dependencies
discard 6c710fb8e6 [CALCITE-5353] Document new procedure for requesting JIRA
accounts and becoming a contributor
discard bbb3e01565 Site: Add Bertil Chapuis as committer
discard a33f41f6b5 Site: Add Dmitry Sysolyatin as committer
discard aadd4e542a Site: Add instructions to consult/update the JIRA release
dashboard
discard 07421a67a0 Add "mssql" (Microsoft SQL Server) function library
discard a5201f0026 [CALCITE-5197] Bump gradle to 7.4.2
discard baf160d7fa [CALCITE-5293] Support general set operators in
PruneEmptyRules
discard bc3158833e [CALCITE-3129] Update site/README.md about how to release
the site
discard e085b3f8dc [CALCITE-5287] SQL reference page is missing from website
discard 5e73183bf8 Oops, missed a contributor
add e41555f568 Oops, missed a contributor
add e46dfc619c [CALCITE-5287] SQL reference page is missing from website
add 6568a1195f [CALCITE-3129] Update site/README.md about how to release
the site
add 4805478594 [CALCITE-5267] Remove unused variable 'newCasts' in
AggregateCaseToFilterRule
add f8dd80fcd2 [CALCITE-5293] Support general set operators in
PruneEmptyRules
add 7b8b2b9604 [CALCITE-4972] Subfields of array columns containing
structs are not qualified in getFieldOrigins
add 457927ada2 [CALCITE-5294] Prune the null-generating side of an outer
join if it is empty
add abb4cf0025 [CALCITE-5291] Make lexical policy for BigQuery
case-insensitive
add 9795a778ba Add tests for [CALCITE-5180] Implement BigQuery functions
for DATE, TIME, TIMESTAMP, DATETIME
add a505b25eac [CALCITE-5269] Implement BigQuery TIME_TRUNC and
TIMESTAMP_TRUNC functions
add eef179680e [CALCITE-5297] Casting dynamic variable twice throws
exception
add 9e59a13966 [CALCITE-5288] '(a > 5 and a < 15) or (a > 10 and a < 20)'
should be simplified to 'SEARCH(a, Sarg[(5..20)])'
add b16df019ed [CALCITE-5265] JDBC adapter sometimes adds unnecessary
parentheses around SELECT in INSERT
add 765bec45f8 [CALCITE-5276] Implicitly convert CHAR and VARCHAR values
to GEOMETRY
add 3a38ebf40f [CALCITE-5286] Join with parameterized LIMIT throws
AssertionError "not a literal"
add c2407f59c3 [CALCITE-1045][CALCITE-5127] Support correlation variables
in project
add ab296ac571 [CALCITE-5253] NATURAL join and USING should fail if join
columns are not unique - expression validation partially broken
add 4ef9ffe0d4 [CALCITE-4186] Add ST_CoveredBy spatial function
add 5bbbd18563 [CALCITE-5296] In a query with ROLLUP, validator wrongly
infers that a column is NOT NULL
add 2c30a56158 [CALCITE-5306] Remove JDK15/16 EOL non-LTS JDKs in CI
add 2ddf14e099 [CALCITE-5337] UnionPullUpConstantsRule produces an invalid
plan when pulling up constants for nullable fields
add 0b2b75cb08 [CALCITE-5326] SqlMerge#unparse generate extra parentheses
for values in insert statement
add f8c33df67e [CALCITE-5305] Support character literals with C-style
escapes
add a17519319c Updated javadoc instructions to regenerate
RelOptRulesTest.xml replacing Maven path with Gradle path
add 27592e5576 [CALCITE-5338] In Avatica's DateTimeUtils, replace floorDiv
and floorMod with equivalents in java.lang.Math
add 21110741ff [CALCITE-5339] Use Method#getParameterCount rather than
Method#getParameterTypes to get length
add 2feb16aee9 [CALCITE-5264] HintStrategy rule exclusion does not match
innermost rels
add 040e85a921 [CALCITE-4632] SARG datatype should be less restictive than
any of the input types
add 5d771d8c6d [MINOR][JAVADOC] Add default catalog link to test fixtures
add defea67b80 [CALCITE-5299] JDBC adapter sometimes adds unnecessary
parentheses around SELECT in WITH body
add 1e3c5213c1 [CALCITE-5197] Bump gradle to 7.4.2
add 15720124f7 [CALCITE-5344] Migrate Travis CI and AppVeyor configuration
to Github Actions
add f0c6cd5a52 [CALCITE-5340] Tests should fail when actual and expected
XML reference files are not identical
add c945b7f49b [CALCITE-5314] Prune empty parts of a query by exploiting
stats/metadata
add bba9176e63 [CALCITE-4804] Support Snapshot operator serialization and
deserizalization
add 92d4bebc5b [CALCITE-5351] Upgrade jackson databind to 2.13.4.2 and
jackson to 2.13.4
add b36e4a4ac2 [CALCITE-5355] Use the Presto SQL dialect for AWS Athena
add d3dbd3da4c [CALCITE-5252] JDBC adapter sometimes misses parentheses
around Query in WITH_ITEM body
add 43db14cf8e [CALCITE-4982] Do not push 'cast to not null' through Join
in ProjectJoinTransposeRule
add 156a509663 Use JDK 17 as default javadoc root
add 4220487dff Refactor tests to allow testing custom type systems
add b06ef8831c Refactor RexImpTable
add 5d671ec976 Refactor: Deprecate SqlValidatorUtil.getAlias
add 33f4ab40bb Various improvements to OperandTypes
add 21bbff022c Remove Nullable from RelBuilder.alias
add 7a1b9aa33c Refactor SqlValidatorNamespace.fieldExists
add 0ac64d680d Improve digest for Window
add d4817ba28c [CALCITE-5348] When translating ORDER BY in OVER, use the
session's default null collation (e.g. NULLS LAST)
add 03fb916296 Add class MonotonicSupplier
add f7bf867ba9 Add "mssql" (Microsoft SQL Server) function library
add cb5f1161ad [CALCITE-5372] Upgrade vlsi-release-plugins to 1.84
add a0e119ea42 [CALCITE-5155] Custom time frames
add cdc695e84c [CALCITE-5356] Update junit4 to 4.13.2 and junit5 to 5.9.1
add 6a9634ae3d Site: Add instructions to consult/update the JIRA release
dashboard
add 49d2f1fbf9 Site: Add Dmitry Sysolyatin as committer
add 63a423339b Site: Add Bertil Chapuis as committer
add 7277e53ade [CALCITE-5353] Document new procedure for requesting JIRA
accounts and becoming a contributor
add 12e9ad4550 [CALCITE-5383] Add CONCAT to BIG_QUERY dialect
add a0ce327511 [CALCITE-5310] JSON_OBJECT in scalar sub-query throws
AssertionError
add c40aa4ce7e Quidem: Allow CREATE VIEW in 'scott' connection
add 406c913b80 [CALCITE-5105] Add MEASURE type and AGGREGATE aggregate
function
add dc56fcc912 [CALCITE-5239] Site: JDBC Adapter's current limitations is
incorrect
add 5a9cd9f259 [CALCITE-5336] Infer constants from predicates with IS NOT
DISTINCT FROM operator
add e37ecb63e0 [CALCITE-5392] Support Snapshot in RelMdExpressionLineage
add ad77a20f28 [CALCITE-5377] RelFieldTrimmer support Sort with dynamic
param
add 725b71e5af [CALCITE-5391] JoinOnUniqueToSemiJoinRule should preserve
field names, if possible
add 085d65ac99 [CALCITE-5332] Facilitate PruneEmptyRules configuration by
adding DEFAULT instances
add 601ef7b80b [CALCITE-5374] Upgrade jackson to 2.14.0
add 52922f9a67 Upgrade jackson to 2.14.1
add bae84c7e17 [CALCITE-5217] Add support for INTERVAL qualifier for
Firebolt
add 35c879044c [CALCITE-5217] Improve support for INTERVAL qualifier for
Firebolt
add 531dc3d3fa [CALCITE-5259] Add getParameterRowType method to Planner
interface
add 9161a6f529 [CALCITE-5230] Return type of PERCENTILE_DISC should be the
same as sort expression
add c89bd13cb2 [CALCITE-5159] ARRAY string constructor, and implicit cast
from string literal to array literal (enabled in Postgres conformance)
add 814ae6ec09 Add class SqlBasicFunction
add 08f37e58bb Refactor SqlOperatorTest
add 326b993fec [CALCITE-5385] Add BigQuery as a supported library for some
functions that are already implemented for other libraries
add 687dec0afc [CALCITE-5399] Remove Proj4J from the api dependencies
add 33ca193095 [CALCITE-5410] Assertion error on PERCENT_REMAINDER
operator with DECIMAL type
add ae7c378716 [CALCITE-5393] Allow VALUE as a synonym for VALUES (enabled
in MySQL conformance)
add 1156efba97 [CALCITE-5360] Add TIMESTAMP_ADD function (enabled in
BigQuery library)
add 742d47795b [CALCITE-5389] Add STARTS_WITH and ENDS_WITH functions
(enabled in BigQuery library)
add 00abf3b3f4 [CALCITE-5141] Incomplete implicit type conversion for
insert values
add f903143af1 [CALCITE-5428] Drop minimum Guava version to 16.0.1
add 81e6f4bf43 [CALCITE-5388] tempList expression inside
EnumerableWindow.getPartitionIterator should be unoptimized
add 0466bd5777 [CALCITE-5395] RelToSql converter fails when SELECT * is
under a semi-join node
add 6bea101b66 [CALCITE-5394] RelToSql converter fails when semi-join is
under a join node
add a3a44f4c7b [CALCITE-5362] Geometry measurement functions
add de89d7a763 [CALCITE-5280] Add geometry aggregate functions
add cd76712fcd [CALCITE-5281] Add ST_Explode for geometry parameter
add 0a7d84270a [CALCITE-5417] Upgrade Proj4J from 1.1.5 to 1.2.2, and
restore it as an included dependency
add 013f034dee [CALCITE-5433] Druid tests hang/fail intermittently in CI
add 273d33dd61 [CALCITE-5408] Return type of PERCENTILE_CONT should be the
same as sort expression
add bc4cfa3283 [CALCITE-5423] Implement TIMESTAMP_DIFF function
(compatible with BigQuery, and enabled in the BigQuery library)
add 81efd2adf3 [CALCITE-5439] Validation of Pivot fails after creating a
deep copy of SqlNode
add 9054682145 [CALCITE-4351] Improve the result of
RelMdUtil#numDistinctVals for large domain sizes
add 787aa9eeaf [CALCITE-2884] Implement JSON_INSERT, JSON_REPLACE,
JSON_SET functions
add be7135cf1f [CALCITE-5427] Provide code quality/coverage metrics with
JaCoCo and Sonarcloud
add 4bebdb07c2 [CALCITE-5298] CalciteSystemProperty calcite.test.dataset
path check fails under Java Security Manager
add ad145397d9 [CALCITE-5405] MongoDB adapter does not parse dates
correctly
add c330aa30fd [CALCITE-5407] MongoDB adapter throws NullPointerException
when converting an array
add e426bd2637 [CALCITE-5430] Add IFNULL function (enabled in BigQuery
library, equivalent to NVL)
add dd6158ad9e [CALCITE-5454] Enable != and % operators under BigQuery SQL
conformance
add a7d34b89c6 [CALCITE-5452] Add LENGTH function (enabled in BigQuery
library, equivalent to CHAR_LENGTH)
add f68f9736c9 [CALCITE-5432] Add TIME_ADD, TIME_DIFF functions (enabled
in BigQuery library)
add bdb4e1fb5d [CALCITE-5447] Add DATE_TRUNC function (enabled in BigQuery
library)
add 5dbfb6e95e [CALCITE-5436] Add TIMESTAMP_SUB, TIME_SUB, DATE_SUB
functions (enabled in BigQuery library)
add 717eb59a73 [CALCITE-5209] Proper sub-query handling if it is used
inside select list and group by
add 5607d6b68f [CALCITE-5471] RelSupplier.SqlRelSupplier#apply should use
.project(), not .rel
add 98ae817e44 [CALCITE-5404] Add POW and TRUNC functions (enabled in
BigQuery library)
add 9a07b1194b [CALCITE-5451] Add LPAD, RPAD functions (enabled in
BigQuery, Oracle libraries)
add fe821caaa5 [CALCITE-5475] Improve test coverage accuracy by
aggregating modules
add fb340ece8c [CALCITE-5466] The constant condition can't be inferred
from correlate node
add d2da6532c9 Site: Switch PMC Chair to Stamatis Zampetakis
add 9ff2352466 [CALCITE-5341] Upgrade Calcite to Avatica 1.23.0
add 0ad974c308 [CALCITE-5414] Use DateTimeUtils to correctly convert
between java.sql types and Unix timestamps
add 3801b42c0a [CALCITE-5342] Refactor SqlFunctions methods lastDay,
addMonths, subtractMonths to use DateTimeUtils from Avatica
add ecb27b9f92 [CALCITE-5493] Time zone tests in SqlFunctions should pass
in Europe/London
add c4c0bf344b [CALCITE-5491] Allow TIME and DATE to be args for
TIMESTAMPDIFF
add f03dbbebbe Refactor SqlParserTest
add b623215e2f Factor interval tests out of SqlParserTest and
SqlValidatorTest and into new class IntervalTest
add b8ccac153a [CALCITE-5495] Allow WEEK and QUARTER in INTERVAL literals
add 7fb8578059 [CALCITE-5450] Allow 'WEEK(weekday)' time frame as argument
to functions such as EXTRACT, DATE_TRUNC
add a326bd2d0e [CALCITE-5424] Customize handling of literals based on type
system
add dd01f258b0 Site: Add Istvan Toth as committer
add 20014b6c5b [CALCITE-5283] Add ARG_MIN, ARG_MAX (aka MIN_BY, MAX_BY)
aggregate functions
add 02b67eae84 [CALCITE-5349] RelJson deserialization should support
SqlLibraryOperators
add c4155b8dab [CALCITE-5489] When creating a RexCall to TIMESTAMP_DIFF
function, cannot convert a TIMESTAMP literal to a
org.apache.calcite.avatica.util.TimeUnit
add ae228f6434 Site: Add Benchao Li as PMC
add 5ad825c97e [CALCITE-5481] Release Calcite 1.33.0
add b64cb1325c Prepare for next development iteration
add 1a54261f5d [CALCITE-5483] ProjectAggregateMergeRule throws exception
if literal is non-numeric
add 8291a0f04b [CALCITE-5521] Remove redundant rowtype check in
RelSubset#add
add 324bcb0833 [CALCITE-5442] Tweak janino code generation in
EnumerableInterpretable to allow debugging
add a9587afd19 [CALCITE-5514] In RelJson, add a public toRex() instance
method
add 3eaf13bdcd [CALCITE-5505] JavaCC warns about missing LOOKAHEAD
directives in Parser.jj
add 4fbcbf4244 [CALCITE-5508] Add constructor functions for DATE, TIME,
TIMESTAMP, DATETIME (enabled in BigQuery library)
add 7abc5a4c22 Add test for [CALCITE-5524] JDBC adapter generates LIMIT,
OFFSET in wrong order for Presto dialect
add 9f91d611f5 [CALCITE-5416] JDBC adapter for MySQL 5 incorrectly
combines GROUP BY ROLLUP and ORDER BY clauses
add 03a0b9d937 [CALCITE-5501]
SqlToRelConverterTest.checkActualAndReferenceFiles fails intermittently in
Jenkins CI
add 0dcf3ab418 Bump Quidem from 0.10 to 0.11
add 82fb4e96f0 Site: Add Jiajun Xie as committer
add 50d124615e [CALCITE-5515] Add keyspace parameter to CassandraSchema
and CassandraTable
add 79879f92ab [CALCITE-5468] SqlToRelConverter throws if ORDER BY
contains IN
add f82028f4b9 TryThreadLocal values are now not-null by default
add baab45c997 Autostyle: Disallow space or newline before ')' in method
declaration or call
add 3427c2016b [CALCITE-5503] CheapestPlanReplacer should reuse repeated
nodes in a DAG plan
add 2d2839458d [CALCITE-5507] HAVING alias fails for mixed usage of alias
and aggregate function
add 7e8bc2dba4 [CALCITE-3870] Change the default value of
SqlToRelConverter.Config.expand from true to false
add 2af1549651 [CALCITE-5268] Add QUALIFY clause
add 75d9ac042a [CALCITE-5531] COALESCE function throws ClassCastException
add 39e2b22d29 [CALCITE-5522] Babel parser cannot handle some overloads of
the DATE_TRUNC function
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 (cc0a3ca329)
\
N -- N -- N refs/heads/site (39e2b22d29)
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/buildcache.yml | 3 +-
.github/workflows/gradle-wrapper-validation.yml | 2 +-
.github/workflows/main.yml | 251 +-
.travis.yml | 77 -
Jenkinsfile | 57 +
README.md | 2 -
appveyor.yml | 45 -
babel/src/main/codegen/config.fmpp | 8 +-
babel/src/main/codegen/includes/parserImpls.ftl | 42 +-
.../org/apache/calcite/test/BabelDdlExecutor.java | 43 +
.../org/apache/calcite/test/BabelParserTest.java | 91 +-
.../org/apache/calcite/test/BabelQuidemTest.java | 22 +-
.../java/org/apache/calcite/test/BabelTest.java | 61 +
babel/src/test/resources/sql/big-query.iq | 2926 +++++++++++++++++++-
babel/src/test/resources/sql/postgresql.iq | 59 +
babel/src/test/resources/sql/redshift.iq | 33 +-
babel/src/test/resources/sql/select.iq | 12 +
bom/build.gradle.kts | 1 +
build.gradle.kts | 43 +-
.../adapter/cassandra/CassandraProject.java | 3 +-
.../calcite/adapter/cassandra/CassandraRules.java | 3 +-
.../calcite/adapter/cassandra/CassandraSchema.java | 31 +-
.../adapter/cassandra/CassandraSchemaFactory.java | 39 +-
.../calcite/adapter/cassandra/CassandraTable.java | 34 +-
.../apache/calcite/test/CassandraAdapterTest.java | 3 +
.../test/CassandraAdapterWithoutKeyspaceTest.java | 57 +
.../{model.json => model-without-keyspace.json} | 7 +-
cassandra/src/test/resources/twissandra-small.cql | 36 +
core/build.gradle.kts | 1 +
core/src/main/codegen/default_config.fmpp | 10 +-
core/src/main/codegen/templates/Parser.jj | 530 +++-
.../main/java/org/apache/calcite/DataContext.java | 6 +
.../enumerable/EnumerableInterpretable.java | 46 +-
.../enumerable/EnumerableLimitSortRule.java | 3 +-
.../enumerable/EnumerableNestedLoopJoin.java | 3 +-
.../adapter/enumerable/EnumerableProject.java | 3 +-
.../adapter/enumerable/EnumerableProjectRule.java | 6 +
.../adapter/enumerable/EnumerableRelFactories.java | 7 +-
.../enumerable/EnumerableTableFunctionScan.java | 3 +-
.../adapter/enumerable/EnumerableWindow.java | 2 +-
.../calcite/adapter/enumerable/RexImpTable.java | 1106 +++++---
.../adapter/enumerable/RexToLixTranslator.java | 12 +-
.../org/apache/calcite/adapter/jdbc/JdbcRules.java | 12 +-
.../apache/calcite/adapter/jdbc/JdbcSchema.java | 6 +-
.../org/apache/calcite/adapter/jdbc/JdbcTable.java | 2 +-
.../adapter/jdbc/JdbcToEnumerableConverter.java | 8 +-
.../calcite/config/CalciteSystemProperty.java | 31 +-
.../main/java/org/apache/calcite/config/Lex.java | 2 +-
.../org/apache/calcite/interpreter/Bindables.java | 8 +-
.../apache/calcite/jdbc/CalciteConnectionImpl.java | 6 +
.../org/apache/calcite/jdbc/CalciteMetaImpl.java | 3 +-
.../org/apache/calcite/materialize/Lattice.java | 4 +-
.../org/apache/calcite/plan/RelOptRuleCall.java | 16 +-
.../java/org/apache/calcite/plan/RelOptRules.java | 1 +
.../java/org/apache/calcite/plan/RelOptUtil.java | 14 +-
.../plan/visualizer/RuleMatchVisualizer.java | 9 +-
.../org/apache/calcite/plan/volcano/RelSubset.java | 20 +-
.../apache/calcite/prepare/CalcitePrepareImpl.java | 3 +
.../apache/calcite/prepare/LixToRelTranslator.java | 4 +-
.../org/apache/calcite/prepare/PlannerImpl.java | 9 +
.../java/org/apache/calcite/prepare/Prepare.java | 11 +-
.../calcite/prepare/QueryableRelBuilder.java | 4 +-
.../org/apache/calcite/rel/AbstractRelNode.java | 3 +-
.../main/java/org/apache/calcite/rel/RelNode.java | 3 -
.../main/java/org/apache/calcite/rel/RelRoot.java | 3 +-
.../org/apache/calcite/rel/core/Aggregate.java | 17 +
.../org/apache/calcite/rel/core/AggregateCall.java | 10 +
.../java/org/apache/calcite/rel/core/Project.java | 39 +-
.../org/apache/calcite/rel/core/RelFactories.java | 27 +-
.../java/org/apache/calcite/rel/core/Snapshot.java | 14 +
.../java/org/apache/calcite/rel/core/Window.java | 19 +-
.../apache/calcite/rel/externalize/RelJson.java | 74 +-
.../calcite/rel/externalize/RelJsonReader.java | 11 +-
.../calcite/rel/externalize/RelJsonWriter.java | 16 +-
.../apache/calcite/rel/hint/HintStrategyTable.java | 13 -
.../apache/calcite/rel/logical/LogicalProject.java | 63 +-
.../calcite/rel/logical/LogicalSnapshot.java | 9 +
.../rel/metadata/RelMdExpressionLineage.java | 13 +
.../calcite/rel/metadata/RelMdMaxRowCount.java | 2 +-
.../calcite/rel/metadata/RelMdMinRowCount.java | 2 +-
.../calcite/rel/metadata/RelMdPredicates.java | 8 +
.../org/apache/calcite/rel/metadata/RelMdUtil.java | 92 +-
.../rel/metadata/janino/CacheGeneratorUtil.java | 2 +-
.../calcite/rel/rel2sql/RelToSqlConverter.java | 69 +-
.../apache/calcite/rel/rel2sql/SqlImplementor.java | 17 +-
.../rel/rules/AggregateCaseToFilterRule.java | 16 -
.../AggregateProjectConstantToDummyJoinRule.java | 5 +-
.../apache/calcite/rel/rules/FilterJoinRule.java | 2 +-
.../rel/rules/FilterProjectTransposeRule.java | 5 +-
.../rel/rules/ProjectAggregateMergeRule.java | 27 +-
.../rel/rules/ProjectJoinTransposeRule.java | 21 +-
.../rel/rules/ProjectWindowTransposeRule.java | 5 +-
.../apache/calcite/rel/rules/PruneEmptyRules.java | 238 +-
.../org/apache/calcite/rel/rules/SemiJoinRule.java | 2 +-
.../rel/rules/UnionPullUpConstantsRule.java | 6 +-
.../org/apache/calcite/rel/stream/StreamRules.java | 3 +-
.../calcite/rel/type/DelegatingTypeSystem.java | 4 +
.../org/apache/calcite/rel/type/RelCrossType.java | 11 +-
.../calcite/rel/type/RelDataTypeFactory.java | 8 +
.../calcite/rel/type/RelDataTypeFactoryImpl.java | 9 +-
.../apache/calcite/rel/type/RelDataTypeImpl.java | 4 +-
.../apache/calcite/rel/type/RelDataTypeSystem.java | 17 +
.../org/apache/calcite/rel/type/TimeFrame.java | 113 +
.../org/apache/calcite/rel/type/TimeFrameSet.java | 364 +++
.../org/apache/calcite/rel/type/TimeFrames.java | 659 +++++
.../java/org/apache/calcite/rex/RexAnalyzer.java | 4 +-
.../java/org/apache/calcite/rex/RexBuilder.java | 20 +-
.../java/org/apache/calcite/rex/RexLiteral.java | 3 +-
.../java/org/apache/calcite/rex/RexSimplify.java | 13 +-
.../calcite/rex/RexToSqlNodeConverterImpl.java | 2 +-
.../main/java/org/apache/calcite/rex/RexUtil.java | 39 +-
.../apache/calcite/runtime/CalciteResource.java | 50 +-
.../calcite/runtime/CompressionFunctions.java | 2 +-
.../org/apache/calcite/runtime/JsonFunctions.java | 136 +
.../calcite/runtime/SpatialTypeFunctions.java | 250 +-
.../apache/calcite/runtime/SpatialTypeUtils.java | 2 +-
.../org/apache/calcite/runtime/SqlFunctions.java | 994 +++++--
.../schema/impl/ReflectiveFunctionBase.java | 4 +-
.../org/apache/calcite/sql/SqlBasicFunction.java | 203 ++
.../org/apache/calcite/sql/SqlCallBinding.java | 20 +-
.../java/org/apache/calcite/sql/SqlDialect.java | 5 +
.../apache/calcite/sql/SqlDialectFactoryImpl.java | 3 +
.../apache/calcite/sql/SqlIntervalQualifier.java | 127 +-
.../main/java/org/apache/calcite/sql/SqlJoin.java | 2 +-
.../main/java/org/apache/calcite/sql/SqlKind.java | 27 +-
.../java/org/apache/calcite/sql/SqlLiteral.java | 57 +-
.../main/java/org/apache/calcite/sql/SqlMerge.java | 2 +-
.../main/java/org/apache/calcite/sql/SqlNode.java | 7 +-
.../java/org/apache/calcite/sql/SqlNodeList.java | 26 +-
.../java/org/apache/calcite/sql/SqlOperator.java | 12 +-
.../org/apache/calcite/sql/SqlOperatorBinding.java | 21 +
.../main/java/org/apache/calcite/sql/SqlPivot.java | 15 +-
.../calcite/sql/SqlProcedureCallOperator.java | 1 +
.../org/apache/calcite/sql/SqlRowTypeNameSpec.java | 15 +-
.../java/org/apache/calcite/sql/SqlSelect.java | 40 +-
.../org/apache/calcite/sql/SqlSelectOperator.java | 13 +-
.../calcite/sql/SqlSpatialTypeOperatorTable.java | 89 +
.../apache/calcite/sql/SqlTimestampLiteral.java | 10 +-
.../org/apache/calcite/sql/SqlUnknownLiteral.java | 68 +
.../main/java/org/apache/calcite/sql/SqlUtil.java | 13 +
.../apache/calcite/sql/SqlWindowTableFunction.java | 4 -
.../main/java/org/apache/calcite/sql/SqlWith.java | 5 +-
.../java/org/apache/calcite/sql/SqlWithItem.java | 2 +-
.../apache/calcite/sql/SqlWithinGroupOperator.java | 60 +-
.../java/org/apache/calcite/sql/SqlWriter.java | 5 +
.../calcite/sql/dialect/FireboltSqlDialect.java | 53 +
.../calcite/sql/dialect/MssqlSqlDialect.java | 7 +-
.../calcite/sql/dialect/MysqlSqlDialect.java | 9 +-
.../calcite/sql/dialect/SparkSqlDialect.java | 8 +-
.../calcite/sql/fun/SqlAbstractTimeFunction.java | 3 +-
.../calcite/sql/fun/SqlBasicAggFunction.java | 9 +
.../calcite/sql/fun/SqlBitOpAggFunction.java | 2 +-
.../calcite/sql/fun/SqlDatetimePlusOperator.java | 26 +-
.../sql/fun/SqlDatetimeSubtractionOperator.java | 21 +-
.../apache/calcite/sql/fun/SqlExtractFunction.java | 23 +-
.../apache/calcite/sql/fun/SqlFloorFunction.java | 34 +-
.../calcite/sql/fun/SqlInternalOperators.java | 7 +
.../apache/calcite/sql/fun/SqlItemOperator.java | 12 +-
.../calcite/sql/fun/SqlJsonExistsFunction.java | 3 +-
.../calcite/sql/fun/SqlJsonKeysFunction.java | 2 +-
.../calcite/sql/fun/SqlJsonLengthFunction.java | 2 +-
...pthFunction.java => SqlJsonModifyFunction.java} | 57 +-
.../calcite/sql/fun/SqlLeadLagAggFunction.java | 22 +-
.../org/apache/calcite/sql/fun/SqlLibrary.java | 2 +
.../calcite/sql/fun/SqlLibraryOperators.java | 612 ++--
.../calcite/sql/fun/SqlListaggAggFunction.java | 2 +-
.../apache/calcite/sql/fun/SqlOverlayFunction.java | 5 +-
.../calcite/sql/fun/SqlPositionFunction.java | 4 +-
.../apache/calcite/sql/fun/SqlRandFunction.java | 7 +-
.../calcite/sql/fun/SqlRandIntegerFunction.java | 7 +-
.../calcite/sql/fun/SqlSpatialTypeFunctions.java | 51 +
.../calcite/sql/fun/SqlStdOperatorTable.java | 340 +--
.../calcite/sql/fun/SqlSubstringFunction.java | 34 +-
.../calcite/sql/fun/SqlTimestampAddFunction.java | 95 +-
.../calcite/sql/fun/SqlTimestampDiffFunction.java | 54 +-
.../apache/calcite/sql/fun/SqlTrimFunction.java | 15 +-
.../calcite/sql/parser/SqlAbstractParserImpl.java | 10 +-
.../org/apache/calcite/sql/parser/SqlParser.java | 12 +-
.../apache/calcite/sql/parser/SqlParserUtil.java | 221 +-
.../apache/calcite/sql/pretty/SqlPrettyWriter.java | 15 +-
...OperandTypeInference.java => ApplySqlType.java} | 45 +-
.../sql/type/AssignableOperandTypeChecker.java | 8 -
.../sql/type/CompositeOperandTypeChecker.java | 54 +-
.../type/CompositeSingleOperandTypeChecker.java | 9 +-
.../sql/type/ExplicitOperandTypeChecker.java | 8 -
.../calcite/sql/type/FamilyOperandTypeChecker.java | 4 -
.../sql/type/IntervalOperandTypeChecker.java | 60 +
.../sql/type/LiteralOperandTypeChecker.java | 25 +-
...SqlOperandMetadata.java => MeasureSqlType.java} | 29 +-
.../sql/type/MultisetOperandTypeChecker.java | 8 -
.../apache/calcite/sql/type/OperandHandlers.java | 102 +
.../org/apache/calcite/sql/type/OperandTypes.java | 463 +++-
.../org/apache/calcite/sql/type/ReturnTypes.java | 16 +
.../calcite/sql/type/SameOperandTypeChecker.java | 9 -
.../calcite/sql/type/SetopOperandTypeChecker.java | 8 -
.../calcite/sql/type/SqlOperandHandler.java} | 14 +-
.../calcite/sql/type/SqlOperandTypeChecker.java | 27 +-
.../sql/type/SqlSingleOperandTypeChecker.java | 23 +
.../calcite/sql/type/SqlTypeAssignmentRule.java | 9 +-
.../calcite/sql/type/SqlTypeCoercionRule.java | 6 +
.../calcite/sql/type/SqlTypeFactoryImpl.java | 5 +
.../org/apache/calcite/sql/type/SqlTypeFamily.java | 2 +-
.../org/apache/calcite/sql/type/SqlTypeName.java | 32 +-
.../apache/calcite/sql/type/SqlTypeTransforms.java | 13 +
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 9 +-
.../apache/calcite/sql/util/SqlOperatorTables.java | 12 +-
.../org/apache/calcite/sql/util/SqlVisitor.java | 5 +
.../calcite/sql/validate/AbstractNamespace.java | 12 +-
.../apache/calcite/sql/validate/AggChecker.java | 38 +-
.../sql/validate/AggregatingSelectScope.java | 140 +-
.../calcite/sql/validate/DelegatingNamespace.java | 5 +-
.../calcite/sql/validate/DelegatingScope.java | 68 +-
.../calcite/sql/validate/FieldNamespace.java | 5 +-
.../apache/calcite/sql/validate/GroupByScope.java | 3 +-
.../apache/calcite/sql/validate/OrderByScope.java | 2 +-
.../calcite/sql/validate/SelectNamespace.java | 5 +-
.../sql/validate/SqlAbstractConformance.java | 7 +
.../calcite/sql/validate/SqlConformance.java | 28 +
.../calcite/sql/validate/SqlConformanceEnum.java | 21 +
.../sql/validate/SqlDelegatingConformance.java | 4 +
.../apache/calcite/sql/validate/SqlValidator.java | 34 +
.../calcite/sql/validate/SqlValidatorImpl.java | 422 ++-
.../sql/validate/SqlValidatorNamespace.java | 13 +-
.../calcite/sql/validate/SqlValidatorScope.java | 22 +
.../calcite/sql/validate/SqlValidatorUtil.java | 56 +-
.../calcite/sql/validate/UnnestNamespace.java | 27 +
.../validate/implicit/AbstractTypeCoercion.java | 50 +-
.../sql/validate/implicit/TypeCoercionImpl.java | 13 +-
.../apache/calcite/sql2rel/InitializerContext.java | 14 +-
.../calcite/sql2rel/ReflectiveConvertletTable.java | 2 +
.../apache/calcite/sql2rel/RelDecorrelator.java | 5 +-
.../apache/calcite/sql2rel/RelFieldTrimmer.java | 13 +-
.../calcite/sql2rel/SqlNodeToRexConverterImpl.java | 35 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 276 +-
.../calcite/sql2rel/StandardConvertletTable.java | 190 +-
.../java/org/apache/calcite/tools/Planner.java | 8 +
.../java/org/apache/calcite/tools/RelBuilder.java | 75 +-
.../src/main/java/org/apache/calcite/util/Bug.java | 15 +-
.../org/apache/calcite/util/BuiltInMethod.java | 56 +-
.../java/org/apache/calcite/util/Compatible.java | 12 +
.../apache/calcite/util/DateTimeStringUtils.java | 2 +
.../org/apache/calcite/util/ImmutableBitSet.java | 5 +-
.../main/java/org/apache/calcite/util/Litmus.java | 53 +-
.../MonotonicSupplier.java} | 48 +-
.../main/java/org/apache/calcite/util/NameMap.java | 2 +-
.../org/apache/calcite/util/SaffronProperties.java | 7 +-
.../java/org/apache/calcite/util/TimeString.java | 4 +-
.../calcite/util/TimeWithTimeZoneString.java | 4 +-
.../org/apache/calcite/util/TimestampString.java | 8 +-
.../calcite/util/TimestampWithTimeZoneString.java | 4 +-
.../org/apache/calcite/util/TryThreadLocal.java | 8 +-
.../main/java/org/apache/calcite/util/Util.java | 14 +-
.../org/apache/calcite/util/mapping/Mappings.java | 3 +-
.../apache/calcite/util/trace/CalciteTrace.java | 3 +-
.../calcite/runtime/CalciteResource.properties | 25 +-
core/src/test/codegen/config.fmpp | 4 +-
core/src/test/codegen/includes/parserImpls.ftl | 17 +-
.../apache/calcite/plan/RelOptPlanReaderTest.java | 2 +-
.../org/apache/calcite/plan/RelOptUtilTest.java | 10 +-
.../org/apache/calcite/plan/RelWriterTest.java | 81 +-
.../plan/volcano/MultipleTraitConversionTest.java | 6 +-
.../apache/calcite/plan/volcano/RelSetTest.java | 85 +
.../calcite/plan/volcano/TraitPropagationTest.java | 6 +-
.../calcite/plan/volcano/VolcanoPlannerTest.java | 30 +
.../calcite/rel/metadata/MetadataDefTest.java | 13 +-
.../apache/calcite/rel/metadata/RelMdUtilTest.java | 49 +-
.../calcite/rel/rel2sql/RelToSqlConverterTest.java | 270 +-
.../calcite/rel/rules/SortRemoveRuleTest.java | 121 +-
.../org/apache/calcite/rex/RexBuilderTest.java | 71 +
.../org/apache/calcite/rex/RexProgramTest.java | 97 +-
.../calcite/runtime/SpatialTypeUtilsTest.java | 7 +
...eateTable.java => ExtensionSqlCreateTable.java} | 22 +-
.../apache/calcite/sql/test/SqlAdvisorTest.java | 4 +
.../calcite/sql/test/SqlPrettyWriterTest.java | 13 +
.../apache/calcite/sql/type/SqlTypeFixture.java | 2 +
.../calcite/sql/validate/LexCaseSensitiveTest.java | 69 +-
.../org/apache/calcite/test/CoreQuidemTest.java | 34 +-
.../apache/calcite/test/ExtensionDdlExecutor.java | 181 +-
.../org/apache/calcite/test/HepPlannerTest.java | 14 +-
.../org/apache/calcite/test/InterpreterTest.java | 34 +-
.../org/apache/calcite/test/JdbcAdapterTest.java | 4 +-
.../java/org/apache/calcite/test/JdbcTest.java | 176 +-
.../org/apache/calcite/test/RelMetadataTest.java | 71 +-
.../org/apache/calcite/test/RelOptRulesTest.java | 272 +-
.../calcite/test/RuleMatchVisualizerTest.java | 18 +-
.../org/apache/calcite/test/SqlFunctionsTest.java | 390 ++-
.../apache/calcite/test/SqlHintsConverterTest.java | 46 +-
.../apache/calcite/test/SqlJsonFunctionsTest.java | 57 +
.../java/org/apache/calcite/test/SqlTestGen.java | 2 +-
.../test/SqlToRelConverterExtendedTest.java | 2 +
.../apache/calcite/test/SqlToRelConverterTest.java | 275 +-
.../org/apache/calcite/test/SqlValidatorTest.java | 2341 ++++------------
.../org/apache/calcite/test/TimeFrameTest.java | 659 +++++
.../org/apache/calcite/test/TopDownOptTest.java | 25 +-
.../calcite/test/TypeCoercionConverterTest.java | 31 +-
.../org/apache/calcite/test/TypeCoercionTest.java | 13 +
.../java/org/apache/calcite/util/SourceTest.java | 7 +-
.../java/org/apache/calcite/util/UtilTest.java | 52 +-
...GeneratedMetadata_ExpressionLineageHandler.java | 2 +
.../GeneratedMetadata_PredicatesHandler.java | 2 +
.../org/apache/calcite/test/HepPlannerTest.xml | 54 +
.../org/apache/calcite/test/RelOptRulesTest.xml | 340 ++-
.../apache/calcite/test/SqlHintsConverterTest.xml | 5 +
.../apache/calcite/test/SqlToRelConverterTest.xml | 504 +++-
.../org/apache/calcite/test/TopDownOptTest.xml | 56 +-
.../calcite/test/TypeCoercionConverterTest.xml | 15 +-
core/src/test/resources/sql/agg.iq | 172 +-
core/src/test/resources/sql/conditions.iq | 19 -
core/src/test/resources/sql/functions.iq | 1 -
core/src/test/resources/sql/match.iq | 4 -
.../src/test/resources/sql/measure.iq | 31 +-
core/src/test/resources/sql/misc.iq | 96 +-
core/src/test/resources/sql/operator.iq | 11 +
core/src/test/resources/sql/pivot.iq | 4 -
core/src/test/resources/sql/qualify.iq | 99 +
core/src/test/resources/sql/set-op.iq | 4 -
core/src/test/resources/sql/some.iq | 39 -
core/src/test/resources/sql/spatial.iq | 805 ++++--
core/src/test/resources/sql/sub-query.iq | 181 +-
core/src/test/resources/sql/winagg.iq | 31 +-
.../apache/calcite/adapter/druid/DruidRules.java | 5 +
.../elasticsearch/ElasticsearchAggregate.java | 2 +-
.../elasticsearch/ElasticsearchProject.java | 3 +-
.../adapter/elasticsearch/ElasticsearchRules.java | 6 +
.../elasticsearch/ElasticsearchSchemaFactory.java | 3 +-
.../adapter/elasticsearch/ElasticsearchTable.java | 10 +-
.../elasticsearch/EmbeddedElasticsearchPolicy.java | 7 +-
.../adapter/elasticsearch/ScrollingTest.java | 3 +-
.../apache/calcite/test/ElasticsearchChecker.java | 2 +-
file/src/test/resources/wiki.json | 2 +-
.../calcite/adapter/geode/rel/GeodeProject.java | 3 +-
.../calcite/adapter/geode/rel/GeodeRules.java | 7 +-
gradle.properties | 26 +-
.../calcite/adapter/innodb/InnodbEnumerator.java | 1 +
.../calcite/adapter/innodb/InnodbProject.java | 3 +-
.../apache/calcite/adapter/innodb/InnodbRules.java | 3 +-
.../calcite/adapter/innodb/InnodbAdapterTest.java | 3 +-
.../apache/calcite/linq4j/tree/BlockStatement.java | 3 +-
.../apache/calcite/linq4j/test/LimitSortTest.java | 3 +-
.../calcite/adapter/mongodb/MongoEnumerator.java | 4 +-
.../calcite/adapter/mongodb/MongoProject.java | 3 +-
.../apache/calcite/adapter/mongodb/MongoRules.java | 6 +
.../calcite/adapter/mongodb/MongoAdapterTest.java | 48 +
.../org/apache/calcite/adapter/pig/PigProject.java | 3 +-
.../org/apache/calcite/adapter/pig/PigRules.java | 6 +
.../org/apache/calcite/piglet/PigRelSqlUdfs.java | 8 -
.../org/apache/calcite/chinook/EndToEndTest.java | 2 +-
plus/src/test/resources/sql/basic.iq | 1 -
.../apache/calcite/server/ServerDdlExecutor.java | 7 +-
.../org/apache/calcite/test/ServerParserTest.java | 2 +-
.../org/apache/calcite/test/ServerQuidemTest.java | 2 +-
settings.gradle.kts | 2 +
site/_config.yml | 2 +-
site/_docs/file_adapter.md | 2 +-
site/_docs/history.md | 17 +-
site/_docs/reference.md | 251 +-
site/_docs/tutorial.md | 8 +-
site/develop/index.md | 6 +-
.../calcite/adapter/splunk/SplunkPushDownRule.java | 2 +-
.../calcite/sql/parser/SqlParserFixture.java | 9 +-
.../apache/calcite/sql/parser/SqlParserTest.java | 2536 ++++-------------
.../apache/calcite/sql/test/AbstractSqlTester.java | 2 +-
.../calcite/sql/test/SqlOperatorFixture.java | 26 +
.../apache/calcite/sql/test/SqlTestFactory.java | 51 +-
.../org/apache/calcite/test/CalciteAssert.java | 10 +-
.../apache/calcite/test/ConnectionFactories.java | 26 +
.../org/apache/calcite/test/DiffRepository.java | 35 +-
.../java/org/apache/calcite/test/IntervalTest.java | 1969 +++++++++++++
.../org/apache/calcite/test/MockDdlExecutor.java | 138 +-
.../apache/calcite/test/MockSqlOperatorTable.java | 32 +-
.../java/org/apache/calcite/test/QuidemTest.java | 12 +-
.../apache/calcite/test/RelMetadataFixture.java | 3 +
.../org/apache/calcite/test/RelOptFixture.java | 4 +-
.../org/apache/calcite/test/RelOptTestBase.java | 5 +-
.../java/org/apache/calcite/test/RelSupplier.java | 2 +-
.../org/apache/calcite/test/SqlOperatorTest.java | 1982 +++++++++----
.../org/apache/calcite/test/SqlToRelTestBase.java | 7 +-
.../apache/calcite/test/SqlValidatorTestCase.java | 5 +-
.../calcite/test/catalog/MockCatalogReader.java | 69 +-
.../test/catalog/MockCatalogReaderExtended.java | 19 +-
.../test/catalog/MockCatalogReaderSimple.java | 8 +
.../benchmarks/RelNodeConversionBenchmark.java | 3 +-
382 files changed, 22194 insertions(+), 8369 deletions(-)
delete mode 100644 .travis.yml
create mode 100644 Jenkinsfile
delete mode 100644 appveyor.yml
create mode 100644
babel/src/test/java/org/apache/calcite/test/BabelDdlExecutor.java
create mode 100644 babel/src/test/resources/sql/postgresql.iq
create mode 100644
cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterWithoutKeyspaceTest.java
copy cassandra/src/test/resources/{model.json => model-without-keyspace.json}
(89%)
create mode 100644 cassandra/src/test/resources/twissandra-small.cql
create mode 100644
core/src/main/java/org/apache/calcite/rel/type/TimeFrame.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/type/TimeFrameSet.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/type/TimeFrames.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlBasicFunction.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlSpatialTypeOperatorTable.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlUnknownLiteral.java
copy core/src/main/java/org/apache/calcite/sql/fun/{SqlJsonDepthFunction.java
=> SqlJsonModifyFunction.java} (50%)
copy
core/src/main/java/org/apache/calcite/sql/type/{SqlOperandTypeInference.java =>
ApplySqlType.java} (51%)
create mode 100644
core/src/main/java/org/apache/calcite/sql/type/IntervalOperandTypeChecker.java
copy core/src/main/java/org/apache/calcite/sql/type/{SqlOperandMetadata.java
=> MeasureSqlType.java} (58%)
create mode 100644
core/src/main/java/org/apache/calcite/sql/type/OperandHandlers.java
copy core/src/{test/java/org/apache/calcite/test/CoreSqlOperatorTest.java =>
main/java/org/apache/calcite/sql/type/SqlOperandHandler.java} (72%)
copy
core/src/main/java/org/apache/calcite/{sql/validate/MatchRecognizeNamespace.java
=> util/MonotonicSupplier.java} (52%)
create mode 100644
core/src/test/java/org/apache/calcite/plan/volcano/RelSetTest.java
rename
core/src/test/java/org/apache/calcite/sql/parser/parserextensiontesting/{SqlCreateTable.java
=> ExtensionSqlCreateTable.java} (78%)
create mode 100644
core/src/test/java/org/apache/calcite/test/TimeFrameTest.java
mode change 100755 => 100644 core/src/test/resources/sql/match.iq
copy babel/src/test/resources/sql/dummy.iq =>
core/src/test/resources/sql/measure.iq (65%)
mode change 100755 => 100644
mode change 100755 => 100644 core/src/test/resources/sql/pivot.iq
create mode 100644 core/src/test/resources/sql/qualify.iq
create mode 100644
testkit/src/main/java/org/apache/calcite/test/IntervalTest.java
copy core/src/test/java/org/apache/calcite/test/ExtensionDdlExecutor.java =>
testkit/src/main/java/org/apache/calcite/test/MockDdlExecutor.java (62%)