This is an automated email from the ASF dual-hosted git repository.
zabetak pushed a change to branch site
in repository https://gitbox.apache.org/repos/asf/calcite.git.
discard dba7005 Site: Update Apache links on homepage to HTTPS
discard ac8d4f4 Update favicon for new logo
omit 4a4c497 Site: Add upcoming talks at ApacheCon NA 2019
omit 4f71273 [CALCITE-3184] Add the new logo to the website
add 1cc7c35 Update example announcement
add 6375e24 [CALCITE-3148] Validator throws IndexOutOfBoundsException for
SqlInsert when source and sink have non-equal fields number
add 135daf3 [CALCITE-3156] Mongo adapter. Replace fongo with Mongo Java
Server for tests
add 3301a32 [CALCITE-3157] Mongo java driver upgrade: 3.5.0 -> 3.10.2
add bd42d29 [CALCITE-3060] MutableProject should be generated based on
INVERSE_SURJECTION mapping (DonnyZone)
add ccbacf6 [CALCITE-3149] RelDataType CACHE in RelDataTypeFactoryImpl
can't be garbage collected
add 78251a1 [CALCITE-2801] Check input type in
AggregateUnionAggregateRule when remove the bottom Aggregate (Hequn Cheng)
add 914e212 [CALCITE-3151] RexCall's Monotonicity is not considered in
determining a Calc's collation
add 8dd4fed [CALCITE-3155] Empty LogicalValues can not be converted to
UNION_ALL without operands which can not be unparsed(Musbah EL FIL)
add eb47b37 [CALCITE-3146] Support the detection of nested aggregations
for JdbcAggregate in SqlImplementor.(Wenhui Tang)
add 79a4ec6 [CALCITE-3126] Remove deprecated SemiJoin usage completely
add ceb13a1 [CALCITE-3133] Remove completely SemiJoinType
add 64a61cd [CALCITE-3125] Remove completely CorrelateJoinType
add d9d79ba [CALCITE-3152] Unify throws in sql parser
add adf4cc4 [CALCITE-3063] Parse and process PostgreSQL posix regular
expressions
add 021fabe [CALCITE-3168] Add test for invalid literal of sql parser
add 0ed54bd [CALCITE-3121] VolcanoPlanner hangs due to subquery with
dynamic star
add 1748f05 [CALCITE-2460] [CALCITE-2459] Add TO_BASE64 / FROM_BASE64 SQL
functions (Wenhui Tang)
add 046f9f4 [CALCITE-3172] RelBuilder#empty does not keep aliases
add e1875e3 [CALCITE-3171] SemiJoin on conditions push down throws
IndexOutOfBoundsException
add e723ee9 [CALCITE-3169] decorrelateRel method should return when
meeting SEMI/ANTI join in RelDecorrelator
add 4d4fe4c [CALCITE-3179] Bump Jackson from 2.9.8 to 2.9.9 (Fokko
Driesprong)
add cb364ce [CALCITE-3170] ANTI join on conditions push down generates
wrong plan
add 6abf37a [CALCITE-3160] Failed to materialize when the aggregate
function uses group key (DonnyZone)
add 72c52f4 [CALCITE-2995] Implement DAYNAME,MONTHNAME functions; add
"locale" connection property (xuqianjin)
add fe2b59b Fix complitation warnings after mongo java driver upgrade
add 954f27c [CALCITE-3188] IndexOutOfBoundsException in
ProjectFilterTransposeRule when executing SELECT COUNT(*)
add e5e5809 [CALCITE-3165] Project#accept(RexShuttle shuttle) does not
update rowType
add 0732283 [CALCITE-3189] Multiple fixes for Oracle SQL dialect
add bb0bae9 [CALCITE-3183] During field trimming, Filter is copied with
wrong traitSet (Juhwan Kim)
add 1c5de1c [CALCITE-3196] In Frameworks, add interface BasePrepareAction
(a functional interface) and deprecate abstract class PrepareAction
add 687b7d8 [CALCITE-3144] Add rule, AggregateCaseToFilterRule, that
converts "SUM(CASE WHEN b THEN x END)" to "SUM(x) FILTER (WHERE b)"
add 15e6378 [CALCITE-3166] Make RelBuilder configurable
add ab1f777 Change type of SqlStdOperatorTable.GROUPING field to public
class
add 0cce229 [CALCITE-3145] RelBuilder.aggregate throws
IndexOutOfBoundsException if groupKey is non-empty and there are duplicate
aggregate functions
add f7c0b0a CALCITE-3187: Make decimal type inference overridable
(Praveen Kumar)
add 8c0d792 Fix javadoc error
add 0a87daf [CALCITE-3113] Equivalent MutableAggregates with different
row types should match with each other(Jin Xing)
add f43d4f0 [CALCITE-3184] Add the new logo to the website
add 6d7eca1 [CALCITE-3174] IS NOT DISTINCT FROM condition pushed from
filter to join is not collapsed(Bohdan Kazydub)
add 58b6ad6 [CALCITE-3182] Trim unused fields for plan of
materialized-view before matching (Jin Xing)
add ab71c4c [CALCITE-3176] File adapter for parsing JSON files
add 9c11efb [CALCITE-3201] SqlValidator throws exception for sql insert
target table with virtual columns
add 59c7acd [CALCITE-3136] Fix the default rule description of
ConverterRule (TANG Wen-hui)
add 5754fa9 [CALCITE-2510] Implement CHR function (Sergey Tsvetkov,
Chunwei Lei)
add 2d52dd3 [CALCITE-3118] VolcanoRuleCall should look at RelSubset
rather than RelSet when checking child ordinal of a parent operand (Botong
Huang)
add 18974ce [CALCITE-3195] Handle a UDF that throws checked exceptions in
the Enumerable code generator (DonnyZone)
add 9ba140e [CALCITE-3209] When calling MutableMultiRel::setInput,
exception thrown (Jin Xing)
add c1c4e31 [CALCITE-3109] Improvements on algebraic operators to express
recursive queries (RepeatUnion & TableSpool)
add 3ebaa59 Following [CALCITE-2804], fix incorrect expected Druid query
in test case DruidAdapterIT#testCastToTimestamp (Justin Szeluga)
add 689a5bb Update stale tests in DruidAdapter
add a1851b6 [CALCITE-3031] Support for correlated ANY/SOME/ALL sub-query
(Vineet Garg)
add ccad6f9 [CALCITE-2496] Return 0 in case of
extract(milli/micro/nanosecond from datel) (Sergey Nuyanzin, Chunwei Lei)
add 0061b2a [CALCITE-3153] Improve testing in TpcdsTest using assertEqual
instead of printing results
add 3309396 [CALCITE-3207] Fail to convert Join RelNode with like
condition to sql statement (wojustme)
add d98856b [CALCITE-3211] List of MutableRel may fail to be identified
by SubstitutionVisitor during matching. (Jin Xing)
add fef2133 Fix compiler warnings
add 41b00ba More compiler fixes, and cosmetic changes
add f7762b6 [CALCITE-3192] Simplification may weaken OR conditions
containing inequalities
add 1e99937 [CALCITE-3215] Simplification may have not fully simplified
IS NOT NULL expressions
add f82353c [CALCITE-3225] JoinToMultiJoinRule should not match SEMI/ANTI
LogicalJoin
add 61b7280 [CALCITE-3175] AssertionError while serializing to JSON a
RexLiteral with Enum type (Wang Yanlin)
add 3ab722b [CALCITE-3131] In LatticeSuggester, record whether columns
are used as "dimensions" or "measures"
add ac06e64 [CALCITE-3147] In JDBC adapter, accommodate the
idiosyncrasies of how BigQuery (standard SQL) quotes character literals and
identifiers
add c3108bc [CALCITE-3191] In JDBC adapter for MySQL, implement Values by
generating SELECT without FROM
add 357cb74 [CALCITE-3222] Fix code style issues introduced by
[CALCITE-3031] (Vineet Garg)
add b432756 Deprecate RexBuilder.constantNull(), because it produces
untyped NULL literals that make planning difficult
add 22817fb [CALCITE-3218] Syntax error while parsing DATEADD function
(which is valid on Redshift) (Lindsey Meyer)
add 4954216 [CALCITE-3177]Ensure correct deserialization of relational
algebra.
add 80cc425 [CALCITE-2624] Add a rule to copy a sort below a join
operator (Khawla Mouhoubi)
add 3cff43a [CALCITE-3231] Support ARRAY type for SqlDataTypeSpec
add 979a825 [CALCITE-3227] IndexOutOfBound when checking candidate parent
match's input ordinal in VolcanoRuleCall
add 0bbbae5 [CALCITE-3101] Don't push non-equi join conditions into
Project below Join
add 0eab54d Update favicon for new logo
add f1db14c Site: Update Apache links on homepage to HTTPS
add 7f5b313 [CALCITE-3198] Enhance RexSimplify to handle (x<>a or x<>b)
add 2678eb9 [CALCITE-3226] RelBuilder doesn't keep the alias when scan
from an expanded view (Jin Xing)
add fb797bb [CALCITE-3198] Enhance RexSimplify to handle '(x<>a or x<>b)'
(fix javadoc)
add 602b2a1 [CALCITE-2835] Markdown errors on the Geode adapter page
add 5212d6c [CALCITE-3233] Support Row type for SqlDataTypeSpec
add 6f02ecf [CALCITE-3198] Enhance RexSimplify to handle '(x<>a or x<>b)'
(fix javadoc)
add e8baf4f [CALCITE-2843] Support PostgreSQL cast operator '::'
(Muhammad Gelbana)
add a042b61 [CALCITE-3234] For boolean properties, empty string should
mean "true"
add 996cdd0 [CALCITE-3237] IndexOutOfBoundsException when generating
deeply nested Java code from linq4j (Sahith Nallapareddy)
add 205fe17 [CALCITE-1935] Implement MATCH_RECOGNIZE, part 1: add basic
classes: LogicalMatch, BindableMatch, EnumerableMatch, MatchRule (Zhiqiang-He)
add 2a2de70 [CALCITE-1935] Implement MATCH_RECOGNIZE, part 2: add class
Automaton
add 5ec3a2a [CALCITE-1935] Implement MATCH_RECOGNIZE, part 3: get it
working (Julian Feinauer)
add 3abb974 [CALCITE-3159] Remove DISTINCT flag from calls to MIN, MAX,
BIT_OR, BIT_AND aggregate functions (xuqianjin)
add f25734a [CALCITE-3238] Support Time Zone suffix of DateTime types for
SqlDataTypeSpec
add 5c01713 [CALCITE-3236] Handle issues found in static code analysis
(DonnyZone)
add 7625938 [CALCITE-3229] UnsupportedOperationException for UPDATE with
IN query
add 705be27 [CALCITE-3250] Support nested collection type for
SqlDataTypeSpec
add 0a6f53c [CALCITE-3249] Substitution#getRexShuttle does not consider
RexLiteral (Jin Xing)
add a68bfc9 [CALCITE-3214] Add UnionToUnionRule for materialization
matching (Jin Xing)
add 6400a50 [CALCITE-3214] Add UnionToUnionRule for materialization
matching (refine rule name) (Jin Xing)
add 6b600e4 [CALCITE-3267] Remove method
SqlDataTypeSpec#deriveType(RelDataTypefactory)
add 79b97b6 [CALCITE-3235] Add CONCAT function for Redshift (Ryan Fu)
add 36e3109 [CALCITE-3089] Deprecate EquiJoin
add 3f550c3 [CALCITE-3167] Make equals and hashCode methods final in
AbstractRelNode, and remove overriding methods in EnumerableTableScan (Jin Xing)
add e8b08c4 [CALCITE-3252] Add CONVERT_TIMEZONE, TO_DATE and TO_TIMESTAMP
non-standard functions (Lindsey Meyer)
add a71def5 [CALCITE-3258] Upgrade jackson-databind from 2.9.9 to
2.9.9.3, and kafka-clients from 2.0.0 to 2.1.1
add 11116f6 [CALCITE-3111] Add RelBuilder.correlate method, and allow
custom implementations of Correlate in RelDecorrelator (Juhwan Kim)
add beeb012 [CALCITE-3259] Align 'Property' in the serialized xml string
of RelXmlWriter (Wang Yanlin).
add 5a42812 [CALCITE-3251] BinaryExpression evaluate method support full
numeric types in Primitive (xy2953396112)
add 9fd9c82 [CALCITE-3262] Refine doc of SubstitutionVisitor.java (Jin
Xing)
add 1e62d3d [CALCITE-3138] RelStructuredTypeFlattener doesn't restructure
ROW type fields (Igor Guzenko)
add ab97af3 [CALCITE-3257] RelMetadataQuery cache is not invalidated when
log trace is enabled (Xiening Dai)
add 7294460 [CALCITE-3223] MV fails to match when there is
Non-RexInputRef in the projects (Jin Xing)
add 22577e4 [CALCITE-3228] Error while applying rule ProjectScanRule:
interpreter
add 00ad79b [CALCITE-3263] Add MD5, SHA1 SQL functions (Shuming Li)
add 48c0db1 [CALCITE-3220] JDBC adapter now transforms TRIM to TRIM,
LTRIM or RTRIM when target is Hive (Jacky Woo)
add a8f9e4e [CALCITE-2979] Add a block-based nested loop join algorithm
(Khawla Mouhoubi)
add 69f9e87 [CALCITE-3204] Implement jps command for OS adapter (Qianjin
Xu)
add e863294 [CALCITE-3210] JDBC adapter should generate "CAST(NULL AS
type)" rather than "NULL" conditionally (Wang Weidong)
add 77e7808 [CALCITE-3283] RelSubset does not contain its best RelNode
(Xiening Dai)
add be678e3 [CALCITE-3260] Add Expressions.evaluate(Node), a public API
for evaluating linq4j expressions (Wang Yanlin)
add 8a3fde5 In SqlFunctionsTest, replace assertEquals and assertNull with
assertThat
add b039b15 [CALCITE-3280] Add REGEXP_REPLACE function in Oracle, MySQL
libraries (Shuming Li)
add e5ae179 [CALCITE-3122] Convert Pig Latin scripts into Calcite
relational algebra and Calcite SQL (Khai Tran)
add cc169ae Following [CALCITE-3122] Fix getFamilitTypes typo
add 70f1453 [CALCITE-3296] Decorrelator shouldn't give empty value when
fetch and offset values are null in Sort rel (Juhwan Kim)
add 97d6895 [CALCITE-3295] Add aggregate call name in serialized json
string for relnode (Wang Yanlin)
add 01477c4 [CALCITE-2302] Implicit type cast support
add c1b042f [CALCITE-3297] PigToSqlAggregateRule should be applied on
multi-set projection to produce an optimal plan (Igor Guzenko)
add 6cec811 [CALCITE-2973],[CALCITE-3284] Allow joins(hash,semi,anti)
that have equi conditions to be executed using a hash join algorithm
add e2300d2 [CALCITE-3307] PigRelExTest, PigRelOpTest and PigScriptTest
fail on Windows
add 72680df [CALCITE-3311] Add doc to site for implicit type coercion
add b8d24a6 [CALCITE-3292] SqlToRelConverter#substituteSubQuery fails
with NullPointerException when converting SqlUpdate (Jin Xing)
add 81c768e [CALCITE-3310] Approximate and exact aggregate calls are
recognized as the same during sql-to-rel conversion
add 55cc3ab [CALCITE-3309] Refactor generatePredicate method from
EnumerableNestedLoopJoin/EnumerableHashJoin/EnumerableBatchNestedLoopJoin into
a single location
add 48086a7 [CALCITE-3315] Multiple failures in Druid IT tests due to
implicit casts
add c9520c3 [CALCITE-3314] CVSS dependency-check-maven fails for
calcite-pig, calcite-piglet, calcite-spark
add 955d4ea [CALCITE-3115] Cannot add JdbcRules which have different
JdbcConvention to same VolcanoPlanner's RuleSet (Wenhui Tang, Igor Guzenko)
add 5c25c38 Remove the useless JdbcConvention out in descriptionPrefix
for JdbcToEnumerableConverterRule (Wenhui Tang)
add faeb6d0 [CALCITE-3322] Remove duplicate test case in RelMetadataTest
(沈洪)
add 6fabfd6 [CALCITE-3321] BigQuery does not have correct casing rules
(Lindsey Meyer)
add 8c941e0 Cosmetic code changes
add 3580276 [CALCITE-3303] Release Calcite 1.21.0
add adc1532 [maven-release-plugin] prepare release calcite-1.21.0
add 7998028 [maven-release-plugin] prepare for next development iteration
add 034bd79 Improve 1.21.0 release note
add 3f7bbae Add 1.21.0 release announcement
add 4ce87bb Site: Add upcoming talks at ApacheCon NA 2019
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 (dba7005)
\
N -- N -- N refs/heads/site (4ce87bb)
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:
README | 2 +-
babel/pom.xml | 4 +-
babel/src/main/codegen/config.fmpp | 12 +
babel/src/main/codegen/includes/parserImpls.ftl | 55 +
.../org/apache/calcite/test/BabelParserTest.java | 37 +
.../java/org/apache/calcite/test/BabelTest.java | 45 +-
cassandra/pom.xml | 4 +-
core/pom.xml | 4 +-
core/src/main/codegen/config.fmpp | 11 +-
core/src/main/codegen/templates/Parser.jj | 475 ++++--
.../main/java/org/apache/calcite/DataContext.java | 7 +
.../calcite/adapter/enumerable/EnumUtils.java | 59 +-
.../enumerable/EnumerableBatchNestedLoopJoin.java | 218 +++
.../EnumerableBatchNestedLoopJoinRule.java | 142 ++
.../adapter/enumerable/EnumerableHashJoin.java | 55 +-
.../adapter/enumerable/EnumerableJoinRule.java | 51 +-
.../adapter/enumerable/EnumerableMatch.java | 430 ++++++
...ableSpoolRule.java => EnumerableMatchRule.java} | 37 +-
.../adapter/enumerable/EnumerableMergeJoin.java | 25 +-
.../enumerable/EnumerableMergeJoinRule.java | 38 +-
.../enumerable/EnumerableNestedLoopJoin.java | 61 +-
.../calcite/adapter/enumerable/EnumerableRel.java | 9 +-
.../adapter/enumerable/EnumerableRepeatUnion.java | 10 +-
.../enumerable/EnumerableRepeatUnionRule.java | 2 +-
.../adapter/enumerable/EnumerableRules.java | 17 +-
.../adapter/enumerable/EnumerableSemiJoin.java | 152 --
.../adapter/enumerable/EnumerableSemiJoinRule.java | 56 -
.../adapter/enumerable/EnumerableTableScan.java | 10 -
.../adapter/enumerable/EnumerableTableSpool.java | 12 +-
.../enumerable/EnumerableTableSpoolRule.java | 2 +-
.../ReflectiveCallNotNullImplementor.java | 21 +-
.../calcite/adapter/enumerable/RexImpTable.java | 143 +-
.../adapter/enumerable/RexToLixTranslator.java | 50 +-
.../org/apache/calcite/adapter/jdbc/JdbcRules.java | 9 +-
.../jdbc/JdbcToEnumerableConverterRule.java | 2 +-
.../calcite/config/CalciteConnectionConfig.java | 4 +
.../config/CalciteConnectionConfigImpl.java | 10 +
.../calcite/config/CalciteConnectionProperty.java | 13 +-
.../calcite/config/CalciteSystemProperty.java | 32 +-
.../org/apache/calcite/interpreter/Bindables.java | 92 +-
.../RexAction.java => interpreter/MatchNode.java} | 24 +-
.../java/org/apache/calcite/interpreter/Nodes.java | 5 +
.../apache/calcite/jdbc/CalciteConnectionImpl.java | 12 +-
.../apache/calcite/jdbc/ContextSqlValidator.java | 63 +
.../apache/calcite/jdbc/JavaTypeFactoryImpl.java | 2 +
.../org/apache/calcite/materialize/Lattice.java | 40 +-
.../calcite/materialize/LatticeSuggester.java | 53 +-
.../plan/MaterializedViewSubstitutionVisitor.java | 34 +
.../org/apache/calcite/plan/RelOptCluster.java | 2 +-
.../calcite/plan/RelOptMaterializations.java | 3 +
.../java/org/apache/calcite/plan/RelOptRule.java | 6 +-
.../java/org/apache/calcite/plan/RelOptRules.java | 4 +
.../java/org/apache/calcite/plan/RelOptUtil.java | 153 +-
.../apache/calcite/plan/RexImplicationChecker.java | 18 +-
.../apache/calcite/plan/SubstitutionVisitor.java | 79 +-
.../apache/calcite/plan/VisitorDataContext.java | 17 +-
.../org/apache/calcite/plan/volcano/RuleQueue.java | 1 +
.../calcite/plan/volcano/VolcanoPlanner.java | 12 +
.../calcite/plan/volcano/VolcanoRuleCall.java | 5 +-
.../calcite/prepare/CalciteMaterializer.java | 5 +-
.../apache/calcite/prepare/CalcitePrepareImpl.java | 17 +-
.../calcite/prepare/CalciteSqlValidator.java | 1 +
.../apache/calcite/prepare/RelOptTableImpl.java | 10 +
.../org/apache/calcite/rel/AbstractRelNode.java | 22 +
.../main/java/org/apache/calcite/rel/RelNode.java | 3 +-
.../apache/calcite/rel/convert/ConverterRule.java | 25 +-
.../org/apache/calcite/rel/core/AggregateCall.java | 32 +-
.../org/apache/calcite/rel/core/Correlate.java | 9 -
.../java/org/apache/calcite/rel/core/EquiJoin.java | 6 +
.../java/org/apache/calcite/rel/core/JoinInfo.java | 78 +-
.../java/org/apache/calcite/rel/core/Match.java | 30 +-
.../java/org/apache/calcite/rel/core/Project.java | 19 +-
.../org/apache/calcite/rel/core/RelFactories.java | 54 +-
.../org/apache/calcite/rel/core/RepeatUnion.java | 21 +-
.../java/org/apache/calcite/rel/core/SemiJoin.java | 132 --
.../org/apache/calcite/rel/core/TableScan.java | 6 +-
.../org/apache/calcite/rel/core/TableSpool.java | 13 +-
.../org/apache/calcite/rel/core/Uncollect.java | 6 +-
.../calcite/rel/externalize/RelEnumTypes.java | 106 ++
.../apache/calcite/rel/externalize/RelJson.java | 53 +-
.../calcite/rel/externalize/RelJsonReader.java | 8 +-
.../calcite/rel/logical/LogicalCorrelate.java | 16 -
.../apache/calcite/rel/logical/LogicalMatch.java | 41 +-
.../calcite/rel/logical/LogicalRepeatUnion.java | 10 +-
.../calcite/rel/logical/LogicalTableSpool.java | 12 +-
.../calcite/rel/logical/ToLogicalConverter.java | 162 ++
.../calcite/rel/metadata/RelMdCollation.java | 48 +-
.../rel/metadata/RelMdColumnUniqueness.java | 9 -
.../rel/metadata/RelMdDistinctRowCount.java | 7 -
.../calcite/rel/metadata/RelMdNodeTypes.java | 7 -
.../calcite/rel/metadata/RelMdPopulationSize.java | 6 -
.../apache/calcite/rel/metadata/RelMdRowCount.java | 14 -
.../org/apache/calcite/rel/metadata/RelMdSize.java | 6 -
.../calcite/rel/metadata/RelMdUniqueKeys.java | 8 -
.../org/apache/calcite/rel/metadata/RelMdUtil.java | 16 -
.../apache/calcite/rel/mutable/MutableMatch.java | 122 ++
.../calcite/rel/mutable/MutableMultiRel.java | 4 +-
.../apache/calcite/rel/mutable/MutableRelType.java | 2 +-
.../apache/calcite/rel/mutable/MutableRels.java | 55 +-
.../calcite/rel/mutable/MutableSemiJoin.java | 88 --
.../rel/mutable/MutableTableFunctionScan.java | 2 +-
.../calcite/rel/rel2sql/RelToSqlConverter.java | 225 ++-
.../apache/calcite/rel/rel2sql/SqlImplementor.java | 89 +-
.../rel/rules/AggregateCaseToFilterRule.java | 268 ++++
.../AggregateExpandDistinctAggregatesRule.java | 3 +-
.../rel/rules/AggregateFilterTransposeRule.java | 4 +-
.../rel/rules/AggregateReduceFunctionsRule.java | 65 +-
.../rel/rules/AggregateUnionAggregateRule.java | 23 +-
.../calcite/rel/rules/AggregateValuesRule.java | 3 +-
.../calcite/rel/rules/FilterCorrelateRule.java | 5 +-
.../apache/calcite/rel/rules/FilterJoinRule.java | 65 +-
.../calcite/rel/rules/JoinToCorrelateRule.java | 12 -
.../calcite/rel/rules/JoinToMultiJoinRule.java | 6 +
.../calcite/rel/rules/LoptOptimizeJoinRule.java | 3 +-
.../org/apache/calcite/rel/rules/MatchRule.java | 55 +
.../rel/rules/ProjectFilterTransposeRule.java | 24 +
.../calcite/rel/rules/ProjectTableScanRule.java | 8 +-
.../calcite/rel/rules/ReduceDecimalsRule.java | 3 +-
.../calcite/rel/rules/ReduceExpressionsRule.java | 10 -
.../rel/rules/SemiJoinFilterTransposeRule.java | 3 +-
.../apache/calcite/rel/rules/SortJoinCopyRule.java | 166 ++
.../calcite/rel/rules/SubQueryRemoveRule.java | 176 ++-
.../apache/calcite/rel/rules/ValuesReduceRule.java | 11 +-
.../calcite/rel/type/RelDataTypeFactory.java | 21 +
.../calcite/rel/type/RelDataTypeFactoryImpl.java | 182 +--
.../apache/calcite/rel/type/RelDataTypeSystem.java | 265 ++++
.../java/org/apache/calcite/rex/RexAction.java | 1 +
.../java/org/apache/calcite/rex/RexBuilder.java | 10 +-
.../java/org/apache/calcite/rex/RexPattern.java | 1 +
.../java/org/apache/calcite/rex/RexSimplify.java | 93 +-
.../calcite/rex/RexSqlStandardConvertletTable.java | 4 +
.../main/java/org/apache/calcite/rex/RexUtil.java | 15 +
.../java/org/apache/calcite/runtime/Automaton.java | 154 ++
.../apache/calcite/runtime/AutomatonBuilder.java | 237 +++
.../apache/calcite/runtime/CalciteResource.java | 6 +
.../calcite/runtime/DeterministicAutomaton.java | 188 +++
.../org/apache/calcite/runtime/Enumerables.java | 131 ++
.../java/org/apache/calcite/runtime/Matcher.java | 353 +++++
.../java/org/apache/calcite/runtime/Pattern.java | 230 +++
.../org/apache/calcite/runtime/SqlFunctions.java | 245 ++-
.../java/org/apache/calcite/runtime/Utilities.java | 5 +
.../org/apache/calcite/schema/ColumnStrategy.java | 10 +-
.../calcite/schema/impl/ScalarFunctionImpl.java | 14 +
.../java/org/apache/calcite/sql/SemiJoinType.java | 134 --
.../org/apache/calcite/sql/SqlAggFunction.java | 16 +
.../apache/calcite/sql/SqlBasicTypeNameSpec.java | 267 ++++
.../apache/calcite/sql/SqlCharStringLiteral.java | 11 +-
.../calcite/sql/SqlCollectionTypeNameSpec.java | 126 ++
.../org/apache/calcite/sql/SqlDataTypeSpec.java | 312 ++--
.../java/org/apache/calcite/sql/SqlDialect.java | 214 ++-
.../java/org/apache/calcite/sql/SqlFunction.java | 26 +-
.../apache/calcite/sql/SqlJdbcDataTypeName.java | 3 +-
.../apache/calcite/sql/SqlJdbcFunctionCall.java | 9 +-
.../main/java/org/apache/calcite/sql/SqlKind.java | 56 +-
.../org/apache/calcite/sql/SqlLateralOperator.java | 5 +-
.../main/java/org/apache/calcite/sql/SqlNode.java | 21 +-
.../java/org/apache/calcite/sql/SqlOperator.java | 4 +-
.../org/apache/calcite/sql/SqlRowTypeNameSpec.java | 138 ++
.../org/apache/calcite/sql/SqlTypeNameSpec.java | 72 +
.../org/apache/calcite/sql/SqlUnnestOperator.java | 9 +-
.../calcite/sql/SqlUserDefinedTypeNameSpec.java | 78 +
.../main/java/org/apache/calcite/sql/SqlUtil.java | 46 +-
.../calcite/sql/dialect/BigQuerySqlDialect.java | 59 +-
.../apache/calcite/sql/dialect/HiveSqlDialect.java | 34 +-
.../calcite/sql/dialect/MysqlSqlDialect.java | 23 +-
.../calcite/sql/dialect/OracleSqlDialect.java | 87 +-
.../calcite/sql/dialect/PostgresqlSqlDialect.java | 9 +-
.../calcite/sql/fun/SqlBitOpAggFunction.java | 4 +
.../apache/calcite/sql/fun/SqlCaseOperator.java | 23 +-
.../apache/calcite/sql/fun/SqlCastFunction.java | 11 +-
.../apache/calcite/sql/fun/SqlCastOperator.java | 70 +
.../org/apache/calcite/sql/fun/SqlInOperator.java | 22 +-
.../apache/calcite/sql/fun/SqlItemOperator.java | 12 +
.../calcite/sql/fun/SqlJsonValueFunction.java | 7 +-
.../sql/fun/SqlLibraryOperatorTableFactory.java | 2 +-
.../calcite/sql/fun/SqlLibraryOperators.java | 144 +-
.../calcite/sql/fun/SqlLiteralChainOperator.java | 4 +-
.../calcite/sql/fun/SqlMinMaxAggFunction.java | 4 +
.../calcite/sql/fun/SqlPosixRegexOperator.java | 136 ++
.../calcite/sql/fun/SqlRegexpReplaceFunction.java | 77 +
.../calcite/sql/fun/SqlSingleValueAggFunction.java | 4 +
.../calcite/sql/fun/SqlStdOperatorTable.java | 22 +-
.../sql/type/AssignableOperandTypeChecker.java | 1 +
.../sql/type/ComparableOperandTypeChecker.java | 11 +-
.../sql/type/CompositeOperandTypeChecker.java | 50 +
.../calcite/sql/type/FamilyOperandTypeChecker.java | 52 +-
.../sql/type/ImplicitCastOperandTypeChecker.java | 54 +
.../sql/type/JavaToSqlTypeConversionRules.java | 1 +
.../org/apache/calcite/sql/type/OperandTypes.java | 3 +
.../org/apache/calcite/sql/type/ReturnTypes.java | 98 +-
.../calcite/sql/type/SameOperandTypeChecker.java | 2 +-
.../SameOperandTypeExceptLastOperandChecker.java | 8 +-
.../calcite/sql/type/SetopOperandTypeChecker.java | 61 +-
.../calcite/sql/type/SqlTypeAssignmentRules.java | 42 +-
.../calcite/sql/type/SqlTypeFactoryImpl.java | 9 +-
.../org/apache/calcite/sql/type/SqlTypeFamily.java | 64 +
.../apache/calcite/sql/type/SqlTypeTransforms.java | 2 +
.../org/apache/calcite/sql/type/SqlTypeUtil.java | 269 +++-
.../apache/calcite/sql/validate/SqlValidator.java | 22 +
.../calcite/sql/validate/SqlValidatorImpl.java | 114 +-
.../calcite/sql/validate/SqlValidatorUtil.java | 7 +-
.../calcite/sql/validate/TableNamespace.java | 8 +-
.../validate/implicit/AbstractTypeCoercion.java | 671 ++++++++
.../sql/validate/implicit/TypeCoercion.java | 177 +++
.../sql/validate/implicit/TypeCoercionImpl.java | 530 +++++++
.../validate/implicit/TypeCoercions.java} | 20 +-
.../sql/validate/implicit/package-info.java | 81 +
.../sql2rel/NullInitializerExpressionFactory.java | 8 +-
.../apache/calcite/sql2rel/RelDecorrelator.java | 367 +++--
.../apache/calcite/sql2rel/RelFieldTrimmer.java | 6 +-
.../sql2rel/RelStructuredTypeFlattener.java | 449 +++---
.../calcite/sql2rel/SqlNodeToRexConverterImpl.java | 4 +-
.../apache/calcite/sql2rel/SqlToRelConverter.java | 35 +-
.../calcite/sql2rel/StandardConvertletTable.java | 14 +-
.../java/org/apache/calcite/tools/Frameworks.java | 59 +-
.../org/apache/calcite/tools/PigRelBuilder.java | 27 +-
.../java/org/apache/calcite/tools/Programs.java | 7 +-
.../java/org/apache/calcite/tools/RelBuilder.java | 422 +++--
.../org/apache/calcite/util/BuiltInMethod.java | 64 +-
.../org/apache/calcite/util/ImmutableBitSet.java | 30 +
.../java/org/apache/calcite/util/NlsString.java | 20 +-
.../main/java/org/apache/calcite/util/Pair.java | 96 +-
.../main/java/org/apache/calcite/util/Unsafe.java | 35 +
.../java/org/apache/calcite/util/XmlOutput.java | 2 +-
.../calcite/runtime/CalciteResource.properties | 2 +
core/src/test/codegen/config.fmpp | 9 +
.../calcite/materialize/LatticeSuggesterTest.java | 108 +-
.../org/apache/calcite/plan/RelOptUtilTest.java | 78 +
.../org/apache/calcite/plan/RelWriterTest.java | 226 ++-
.../apache/calcite/plan/volcano/PlannerTests.java | 67 +-
.../calcite/plan/volcano/VolcanoPlannerTest.java | 82 +
.../rel/logical/ToLogicalConverterTest.java | 411 +++++
.../rel/rel2sql/RelToSqlConverterStructsTest.java | 51 +-
.../calcite/rel/rel2sql/RelToSqlConverterTest.java | 508 +++++-
.../org/apache/calcite/rex/RexExecutorTest.java | 58 +-
.../org/apache/calcite/runtime/AutomatonTest.java | 233 +++
.../runtime/DeterministicAutomatonTest.java | 104 ++
.../apache/calcite/runtime/EnumerablesTest.java | 158 ++
.../apache/calcite/sql/parser/SqlParserTest.java | 128 +-
.../ExtensionSqlParserTest.java | 5 +-
.../parserextensiontesting/SqlCreateTable.java | 8 +-
.../apache/calcite/sql/test/AbstractSqlTester.java | 4 +
.../calcite/sql/test/SqlOperatorBaseTest.java | 544 +++++--
.../apache/calcite/sql/test/SqlTestFactory.java | 9 +-
.../org/apache/calcite/sql/test/SqlTester.java | 3 +
.../calcite/sql/type/RelDataTypeSystemTest.java | 203 +++
.../org/apache/calcite/test/CalciteAssert.java | 26 +
.../java/org/apache/calcite/test/CalciteSuite.java | 5 +
.../apache/calcite/test/ExceptionMessageTest.java | 2 +-
.../org/apache/calcite/test/JdbcAdapterTest.java | 29 +
.../java/org/apache/calcite/test/JdbcTest.java | 383 ++++-
.../java/org/apache/calcite/test/Matchers.java | 19 +-
.../apache/calcite/test/MaterializationTest.java | 98 +-
.../org/apache/calcite/test/MutableRelTest.java | 48 +
.../apache/calcite/test/ReflectiveSchemaTest.java | 10 +-
.../org/apache/calcite/test/RelBuilderTest.java | 320 +++-
.../org/apache/calcite/test/RelMetadataTest.java | 24 +-
.../org/apache/calcite/test/RelOptRulesTest.java | 650 +++++++-
.../org/apache/calcite/test/RelOptTestBase.java | 21 +-
.../calcite/test/RexImplicationCheckerTest.java | 26 +-
.../org/apache/calcite/test/RexProgramTest.java | 81 +
.../org/apache/calcite/test/RexShuttleTest.java | 76 +
.../org/apache/calcite/test/SqlFunctionsTest.java | 548 ++++---
.../apache/calcite/test/SqlToRelConverterTest.java | 176 ++-
.../org/apache/calcite/test/SqlToRelTestBase.java | 76 +-
.../org/apache/calcite/test/SqlValidatorTest.java | 515 ++++++-
.../apache/calcite/test/SqlValidatorTestCase.java | 59 +
.../org/apache/calcite/test/TableFunctionTest.java | 11 +-
.../calcite/test/TypeCoercionConverterTest.java | 143 ++
.../org/apache/calcite/test/TypeCoercionTest.java | 825 ++++++++++
.../test/java/org/apache/calcite/test/UdfTest.java | 90 +-
.../catalog/EmpInitializerExpressionFactory.java | 2 +-
.../org/apache/calcite/test/catalog/Fixture.java | 84 +
.../test/catalog/MockCatalogReaderExtended.java | 48 +
.../catalog/VirtualColumnsExpressionFactory.java} | 32 +-
.../EnumerableBatchNestedLoopJoinTest.java | 229 +++
.../test/enumerable/EnumerableHashJoinTest.java | 203 +++
.../test/enumerable/EnumerableJoinTest.java | 30 +
.../EnumerableRepeatUnionHierarchyTest.java | 8 +-
.../calcite/test/fuzzer/RexProgramFuzzyTest.java | 2 +-
.../org/apache/calcite/tools/FrameworksTest.java | 70 +-
.../java/org/apache/calcite/tools/PlannerTest.java | 47 +-
.../apache/calcite/util/ImmutableBitSetTest.java | 33 +
.../test/java/org/apache/calcite/util/Smalls.java | 32 +-
.../org/apache/calcite/test/RelOptRulesTest.xml | 708 ++++++++-
.../apache/calcite/test/SqlToRelConverterTest.xml | 352 ++++-
.../calcite/test/TypeCoercionConverterTest.xml | 264 ++++
core/src/test/resources/sql/agg.iq | 32 +
core/src/test/resources/sql/blank.iq | 2 +-
core/src/test/resources/sql/match.iq | 143 ++
core/src/test/resources/sql/misc.iq | 4 +-
core/src/test/resources/sql/sub-query.iq | 70 +-
druid/pom.xml | 4 +-
.../{DruidAdapterIT2.java => DruidAdapter2IT.java} | 427 +++---
.../org/apache/calcite/test/DruidAdapterIT.java | 491 +++---
.../java/org/apache/calcite/test/DruidChecker.java | 55 +
elasticsearch/pom.xml | 4 +-
example/csv/pom.xml | 4 +-
.../org/apache/calcite/adapter/csv/CsvSchema.java | 12 +-
.../apache/calcite/adapter/csv/JsonEnumerator.java | 127 +-
.../{JsonTable.java => JsonScannableTable.java} | 34 +-
.../org/apache/calcite/adapter/csv/JsonTable.java | 36 +-
.../test/java/org/apache/calcite/test/CsvTest.java | 18 +-
.../csv/src/test/resources/bug/ARCHERS.json | 44 +-
example/csv/src/test/resources/bug/archers.json | 27 -
example/function/pom.xml | 4 +-
example/pom.xml | 4 +-
file/pom.xml | 4 +-
.../apache/calcite/adapter/file/FileSchema.java | 29 +-
.../calcite/adapter/file/FileReaderTest.java | 81 +
.../org/apache/calcite/adapter/file/SqlTest.java | 75 +-
.../src/test/resources/sales-json.json | 27 +-
.../src/test/resources/sales-json}/DATE.csv | 0
.../src/test/resources/sales-json/DEPTS.json | 27 +-
file/src/test/resources/sales-json/EMPS.json | 78 +
.../src/test/resources/sales-json/EMPTY.json | 0
.../src/test/resources/sales-json/SDEPTS.json | 39 +-
geode/pom.xml | 4 +-
.../calcite/adapter/geode/rel/GeodeTable.java | 14 +-
.../adapter/geode/rel/GeodeAllDataTypesTest.java | 4 +-
.../calcite/adapter/geode/rel/GeodeZipsTest.java | 1 +
kafka/pom.xml | 6 +-
linq4j/pom.xml | 8 +-
.../apache/calcite/linq4j/CorrelateJoinType.java | 68 -
.../apache/calcite/linq4j/DefaultEnumerable.java | 16 +-
.../apache/calcite/linq4j/EnumerableDefaults.java | 432 +++++-
.../apache/calcite/linq4j/ExtendedEnumerable.java | 56 +-
.../apache/calcite/linq4j/MemoryEnumerable.java | 48 +
.../apache/calcite/linq4j/MemoryEnumerator.java | 88 ++
.../org/apache/calcite/linq4j/MemoryFactory.java | 97 ++
.../org/apache/calcite/linq4j/ModularInteger.java | 75 +
.../main/java/org/apache/calcite/linq4j/Ord.java | 2 +-
.../calcite/linq4j/tree/BinaryExpression.java | 98 +-
.../apache/calcite/linq4j/tree/ExpressionType.java | 9 +
.../calcite/linq4j/tree/ExpressionWriter.java | 43 +-
.../apache/calcite/linq4j/tree/Expressions.java | 20 +-
.../calcite/linq4j/tree/ForEachStatement.java | 84 +
.../org/apache/calcite/linq4j/tree/Shuttle.java | 26 +-
.../apache/calcite/linq4j/tree/TryStatement.java | 13 +-
.../org/apache/calcite/linq4j/tree/Visitor.java | 1 +
.../apache/calcite/linq4j/tree/VisitorImpl.java | 9 +-
.../calcite/linq4j/MemoryEnumerableTest.java | 70 +
.../apache/calcite/linq4j/test/ExpressionTest.java | 249 ++-
.../apache/calcite/linq4j/test/InlinerTest.java | 28 +
.../calcite/linq4j/test/JoinPreserveOrderTest.java | 24 +
mongodb/pom.xml | 15 +-
.../calcite/adapter/mongodb/MongoSchema.java | 10 +-
.../adapter/mongodb/MongoSchemaFactory.java | 19 +-
.../calcite/adapter/mongodb/MongoAdapterTest.java | 16 +-
.../adapter/mongodb/MongoDatabasePolicy.java | 38 +-
.../org/apache/calcite/test/MongoAssertions.java | 7 +-
pig/pom.xml | 12 +-
.../calcite/adapter/pig/PigRelFactories.java | 12 +-
.../calcite/test/PigRelBuilderStyleTest.java | 6 +-
piglet/pom.xml | 40 +-
.../calcite/piglet/DynamicTupleRecordType.java | 76 +
.../org/apache/calcite/piglet/PigConverter.java | 288 ++++
.../org/apache/calcite/piglet/PigRelBuilder.java | 658 ++++++++
.../org/apache/calcite/piglet/PigRelExVisitor.java | 452 ++++++
.../org/apache/calcite/piglet/PigRelExWalker.java | 84 +
.../calcite/piglet/PigRelOpInnerVisitor.java | 251 +++
.../org/apache/calcite/piglet/PigRelOpVisitor.java | 722 +++++++++
.../org/apache/calcite/piglet/PigRelOpWalker.java | 92 ++
.../org/apache/calcite/piglet/PigRelSqlUdfs.java | 361 +++++
.../calcite/piglet/PigRelToSqlConverter.java | 128 ++
.../apache/calcite/piglet/PigRelUdfConverter.java | 195 +++
.../java/org/apache/calcite/piglet/PigTable.java | 76 +
.../calcite/piglet/PigToSqlAggregateRule.java | 408 +++++
.../java/org/apache/calcite/piglet/PigTypes.java | 200 +++
.../org/apache/calcite/piglet/PigUdfFinder.java | 112 ++
.../java/org/apache/calcite/piglet/PigUdfs.java | 38 +-
.../calcite/piglet/PigUserDefinedFunction.java | 78 +
.../org/apache/calcite/test/CalciteHandler.java | 20 +-
.../java/org/apache/calcite/test/PigRelExTest.java | 250 +++
.../java/org/apache/calcite/test/PigRelOpTest.java | 1614 ++++++++++++++++++++
.../org/apache/calcite/test/PigRelTestBase.java | 33 +-
.../org/apache/calcite/test/PigScriptTest.java | 79 +
piglet/src/test/resources/log4j.properties | 4 +-
piglet/src/test/resources/testPig.pig | 44 +
plus/pom.xml | 4 +-
.../calcite/adapter/os/JpsTableFunction.java | 81 +
.../org/apache/calcite/adapter/os/SqlShell.java | 2 +
.../apache/calcite/adapter/os/OsAdapterTest.java | 14 +
.../apache/calcite/adapter/tpcds/TpcdsTest.java | 68 +-
pom.xml | 38 +-
server/pom.xml | 4 +-
server/src/main/codegen/config.fmpp | 9 +
server/src/main/codegen/includes/parserImpls.ftl | 16 +-
.../org/apache/calcite/sql/ddl/SqlCreateTable.java | 21 +-
.../org/apache/calcite/sql/ddl/SqlCreateType.java | 12 +-
.../org/apache/calcite/sql/ddl/SqlDdlNodes.java | 10 +
.../org/apache/calcite/test/ServerParserTest.java | 12 +
.../java/org/apache/calcite/test/ServerTest.java | 17 +-
site/_docs/adapter.md | 7 +-
site/_docs/algebra.md | 13 +-
site/_docs/file_adapter.md | 51 +
site/_docs/geode_adapter.md | 4 +-
site/_docs/history.md | 364 ++++-
site/_docs/howto.md | 8 +-
site/_docs/os_adapter.md | 16 +
site/_docs/reference.md | 216 ++-
site/_posts/2019-09-11-release-1.21.0.md | 54 +
spark/pom.xml | 12 +-
splunk/pom.xml | 4 +-
ubenchmark/pom.xml | 2 +-
405 files changed, 29600 insertions(+), 4733 deletions(-)
create mode 100644
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoin.java
create mode 100644
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableBatchNestedLoopJoinRule.java
create mode 100644
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMatch.java
copy
core/src/main/java/org/apache/calcite/adapter/enumerable/{EnumerableTableSpoolRule.java
=> EnumerableMatchRule.java} (54%)
delete mode 100644
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableSemiJoin.java
delete mode 100644
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableSemiJoinRule.java
copy core/src/main/java/org/apache/calcite/{rex/RexAction.java =>
interpreter/MatchNode.java} (64%)
create mode 100644
core/src/main/java/org/apache/calcite/jdbc/ContextSqlValidator.java
delete mode 100644 core/src/main/java/org/apache/calcite/rel/core/SemiJoin.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/externalize/RelEnumTypes.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/logical/ToLogicalConverter.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/mutable/MutableMatch.java
delete mode 100644
core/src/main/java/org/apache/calcite/rel/mutable/MutableSemiJoin.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/AggregateCaseToFilterRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/MatchRule.java
create mode 100644
core/src/main/java/org/apache/calcite/rel/rules/SortJoinCopyRule.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/Automaton.java
create mode 100644
core/src/main/java/org/apache/calcite/runtime/AutomatonBuilder.java
create mode 100644
core/src/main/java/org/apache/calcite/runtime/DeterministicAutomaton.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/Matcher.java
create mode 100644 core/src/main/java/org/apache/calcite/runtime/Pattern.java
delete mode 100644 core/src/main/java/org/apache/calcite/sql/SemiJoinType.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlBasicTypeNameSpec.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlCollectionTypeNameSpec.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlRowTypeNameSpec.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlTypeNameSpec.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/SqlUserDefinedTypeNameSpec.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/fun/SqlCastOperator.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/fun/SqlPosixRegexOperator.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/fun/SqlRegexpReplaceFunction.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/type/ImplicitCastOperandTypeChecker.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/validate/implicit/AbstractTypeCoercion.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercion.java
create mode 100644
core/src/main/java/org/apache/calcite/sql/validate/implicit/TypeCoercionImpl.java
copy core/src/main/java/org/apache/calcite/{rex/RexAction.java =>
sql/validate/implicit/TypeCoercions.java} (59%)
create mode 100644
core/src/main/java/org/apache/calcite/sql/validate/implicit/package-info.java
create mode 100644
core/src/test/java/org/apache/calcite/rel/logical/ToLogicalConverterTest.java
create mode 100644
core/src/test/java/org/apache/calcite/runtime/AutomatonTest.java
create mode 100644
core/src/test/java/org/apache/calcite/runtime/DeterministicAutomatonTest.java
create mode 100644
core/src/test/java/org/apache/calcite/sql/type/RelDataTypeSystemTest.java
create mode 100644
core/src/test/java/org/apache/calcite/test/RexShuttleTest.java
create mode 100644
core/src/test/java/org/apache/calcite/test/TypeCoercionConverterTest.java
create mode 100644
core/src/test/java/org/apache/calcite/test/TypeCoercionTest.java
copy core/src/{main/java/org/apache/calcite/rex/RexPattern.java =>
test/java/org/apache/calcite/test/catalog/VirtualColumnsExpressionFactory.java}
(54%)
create mode 100644
core/src/test/java/org/apache/calcite/test/enumerable/EnumerableBatchNestedLoopJoinTest.java
create mode 100644
core/src/test/java/org/apache/calcite/test/enumerable/EnumerableHashJoinTest.java
create mode 100644
core/src/test/resources/org/apache/calcite/test/TypeCoercionConverterTest.xml
create mode 100755 core/src/test/resources/sql/match.iq
rename druid/src/test/java/org/apache/calcite/test/{DruidAdapterIT2.java =>
DruidAdapter2IT.java} (93%)
create mode 100644
druid/src/test/java/org/apache/calcite/test/DruidChecker.java
copy example/csv/src/main/java/org/apache/calcite/adapter/csv/{JsonTable.java
=> JsonScannableTable.java} (62%)
copy core/src/main/java/org/apache/calcite/rex/RexPattern.java =>
example/csv/src/test/resources/bug/ARCHERS.json (56%)
delete mode 100644 example/csv/src/test/resources/bug/archers.json
copy core/src/main/java/org/apache/calcite/rex/RexAction.java =>
file/src/test/resources/sales-json.json (69%)
copy {example/csv/src/test/resources/bug =>
file/src/test/resources/sales-json}/DATE.csv (100%)
copy core/src/main/java/org/apache/calcite/rex/RexAction.java =>
file/src/test/resources/sales-json/DEPTS.json (69%)
create mode 100644 file/src/test/resources/sales-json/EMPS.json
copy src/main/config/checkstyle/header.java.txt =>
file/src/test/resources/sales-json/EMPTY.json (100%)
copy core/src/main/java/org/apache/calcite/rex/RexAction.java =>
file/src/test/resources/sales-json/SDEPTS.json (69%)
delete mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/CorrelateJoinType.java
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/MemoryEnumerable.java
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/MemoryEnumerator.java
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/MemoryFactory.java
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/ModularInteger.java
create mode 100644
linq4j/src/main/java/org/apache/calcite/linq4j/tree/ForEachStatement.java
create mode 100644
linq4j/src/test/java/org/apache/calcite/linq4j/MemoryEnumerableTest.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/DynamicTupleRecordType.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelBuilder.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelExVisitor.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelExWalker.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelOpInnerVisitor.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelOpVisitor.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelOpWalker.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelSqlUdfs.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelToSqlConverter.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigRelUdfConverter.java
create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigTable.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigToSqlAggregateRule.java
create mode 100644 piglet/src/main/java/org/apache/calcite/piglet/PigTypes.java
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigUdfFinder.java
copy core/src/main/java/org/apache/calcite/rex/RexPattern.java =>
piglet/src/main/java/org/apache/calcite/piglet/PigUdfs.java (50%)
create mode 100644
piglet/src/main/java/org/apache/calcite/piglet/PigUserDefinedFunction.java
create mode 100644
piglet/src/test/java/org/apache/calcite/test/PigRelExTest.java
create mode 100644
piglet/src/test/java/org/apache/calcite/test/PigRelOpTest.java
copy core/src/main/java/org/apache/calcite/rex/RexPattern.java =>
piglet/src/test/java/org/apache/calcite/test/PigRelTestBase.java (54%)
create mode 100644
piglet/src/test/java/org/apache/calcite/test/PigScriptTest.java
create mode 100644 piglet/src/test/resources/testPig.pig
create mode 100644
plus/src/main/java/org/apache/calcite/adapter/os/JpsTableFunction.java
create mode 100644 site/_posts/2019-09-11-release-1.21.0.md