You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2018/12/27 20:34:54 UTC

[calcite] branch site updated (68966e9 -> 9d50e6d)

This is an automated email from the ASF dual-hosted git repository.

jhyde pushed a change to branch site
in repository https://gitbox.apache.org/repos/asf/calcite.git.


 discard 68966e9  Update site for new repository
 discard eea0f9d  Site: Improve documentation for ElasticSearch Adapter
 discard 8601280  Site: Update PMC chair
    omit 2a77c7c  Site: Rename MapD to OmniSci, and update logos
    omit 646aab8  Add geospatial category to DOAP file
    omit 16d9837  Site: Add instructions for updating PRs based on the discussion in the dev list (Stamatis Zampetakis)
    omit f0ba65e  Site: Add Andrei Sereda as committer
    omit 2e76e45  Site: Update Julian Hyde's affiliation
    omit dbababa  Update Michael Mior's affiliation
     add 3c40d86  [CALCITE-2417] Fix ClassCastException in RelToSqlConverter with structs (Benoit Hanotte)
     add bd0e140  [CALCITE-2419] Use embedded Cassandra for tests
     add 41a0677  [CALCITE-2422] Query with unnest of column from nested subquery fails when dynamic table is used
     add 6496cb7  test: add testSqlAdvisorTableInSchema
     add a18a380  [CALCITE-2429] NPE: SqlValidatorImpl.lookupFieldNamespace when SQL Advisor observes non-existing field
     add 1a94885  [CALCITE-2430] AssertionError: RelDataTypeImpl.getFieldList when SQL Advisor inspects non-struct field
     add 466b327  [CALCITE-2431] AssertionError: SqlUtil.getAncestry when providing completion hints for sub-schema
     add 8b09736  Java 8: use computeIfAbsent when possible
     add a098376  [CALCITE-2428] Cassandra unit test fails to parse JDK version string (Andrei Sereda)
     add 0bb9249  [CALCITE-2416] Assertion error when determining monotonicity (Alina Ipatina)
     add c113765  fix typo in HepPlanner trace message (Dylan)
     add 96b28f7  [CALCITE-2435] tests: refactor SqlTestFactory
     add 7088dc7  SqlTestFactory: use lazy initialization of objects
     add 0e6733b  test: update test name current -> javaMajorVersionExceeds6
     add 3c6b5ec  tests: add TestUtilTest to CalciteSuite
     add eb496c7  Test case (disabled) for [CALCITE-2441] Relational algebra doesn't work with SQL views (Andrei Sereda)
     add ac33200  [CALCITE-2447] POWER, ATAN2 functions fail with NoSuchMethodException
     add 5574873  [CALCITE-2446] Lateral joins do not work when saved as custom views (Piotr Bojko)
     add ca858dd  [CALCITE-2402] Implement regr functions: COVAR_POP, COVAR_SAMP, REGR_COUNT, REGR_SXX, REGR_SYY
     add 62a0de5  [CALCITE-2465] Enable use of materialized views for any planner
     add 45782ed  [CALCITE-2462] RexProgramTest: move "rex building" methods to base class
     add 431e803  Site: Add instructions for updating PRs based on the discussion in the dev list (Stamatis Zampetakis)
     add d1c2e89  [CALCITE-2462] RexProgramTest: replace nullLiteral->nullInt, unknownLiteral->nullBool for brevity
     add 23d25d3  Update Michael Mior's affiliation
     add 5c592b7  Site: Update Julian Hyde's affiliation
     add 6d6421c  [CALCITE-2480] NameSet.contains wrongly returns false when element in set is upper-case and seek is lower-case
     add 8d475f7  [CALCITE-2467] Upgrade owasp-dependency-check maven plugin to 3.3.1
     add 6cad2ee  [CALCITE-2481] NameSet assumes lower-case characters have greater codes, which does not hold for certain characters
     add af3e35d  [CALCITE-2271] Join of two views with window aggregates produces incorrect results or NPE
     add 141781b  [CALCITE-2327] Avoid simplification of x AND NOT(x) to false for nullable x
     add 9f7e565  [CALCITE-311] Added a test-case for filter after window aggregate
     add 6b2b9ff  [CALCITE-2494] RexFieldAccess should implement equals/hashCode
     add c8e91ea  [CALCITE-2327] RexSimplify: AND(x, y, NOT(y)) ==> AND(x, null, IS NULL(y))
     add 02794e2  [CALCITE-2497] Update Janino version to 3.0.9
     add 2f33a0c  [CALCITE-2495] Support encoded URLs in calcite.util.Source, and use it for URL->File conversion in tests
     add ca37803  MockCatalogReader is used in testing, so cache should be disabled there to avoid thread conflicts and/or stale results
     add 6a22cc2  Support AND, OR, COALESCE, IS...DISTINCT in RexUtil#op
     add 80c04cb  [CALCITE-2505] Add ignored test for fail in RexSimplify with IS DISTINCT FROM
     add 1c30edc  [CALCITE-2506] Add ignored test for fail in RexSimplify with coalesce
     add 0d707e4  [CALCITE-2483] Druid adapter, when querying Druid segment metadata, throws when row number is larger than Integer.MAX_VALUE (Hongze Zhang)
     add 90f49be  [CALCITE-2469] RexSimplify should optimize '(NOT x) IS NULL' to 'x IS NULL' (pengzhiwei)
     add fbb0b82  [CALCITE-1026] Allow models in YAML format
     add d0e3089  [CALCITE-2486] Upgrade Apache parent POM to version 21
     add 370e95a  [CALCITE-2470] In RelBuilder, project method should combine expressions if the underlying node is a Project
     add 29a925a  [CALCITE-1026] Fix ModelTest#testYamlFileDetection when source folder has spaces
     add 4e9064f  [CALCITE-1026] Remove unused import
     add 0c0f61e  [CALCITE-2520] Make SparkHandlerImpl#compile silent by default, print code in calcite.debug=true mode only
     add d74027c  [CALCITE-2519] Silence ERROR logs from CalciteException, SqlValidatorException during tests
     add b1789ba  Skip second Checkstyle execution during Travis CI build
     add 0a330e7  [CALCITE-2491] Refactor NameSet, NameMap, and NameMultimap
     add 2817bda  [CALCITE-2512] Move StreamTest#ROW_GENERATOR to Table.scan().iterator to make it not shared between threads (Sergey Nuyanzin)
     add 9589a36  [CALCITE-2498] fix bug when geode adapter quotes booleans as strings (Andrei Sereda)
     add 5e765bd  [CALCITE-2522] Remove e.printStackTrace() from CalciteAssert#returns
     add d125495  [CALCITE-2514] Add SqlIdentifier conversion to ITEM operator for dynamic tables in ExtendedExpander (Arina Ielchiieva)
     add 86993bd  Following [CALCITE-2469] simplify "f(x, y) IS NULL" to "x IS NULL OR y IS NULL" if "f" is strong
     add 76a8cfd  [CALCITE-2418] Remove matchRecognize field of SqlSelect
     add 89e22e3  [CALCITE-2433] SqlAdvisor: support configurable quoting characters
     add 1ed6b75  [CALCITE-2434] SqlAdvisor: support hints for nested tables/schemas
     add 1c913e1  [CALCITE-2473] SqlAdvisor: support -- comments
     add 14a98e9  [CALCITE-2474] SqlAdvisor: avoid NPE in lookupFromHints where FROM is empty
     add 4afea52  [CALCITE-2475] SqlAdvisor: support MINUS
     add 77b8c4d  [CALCITE-2476] SqlAdvisor: produce hints when sub-query with * is present in query
     add 9f6c067  [CALCITE-2477] SqlAdvisor: scalar sub-query support
     add 67923a2  [CALCITE-2478] SqlAdvisor: purge from_clause when _suggest_ token is located in one of the from sub-queries
     add c2ae9f0  [CALCITE-2479] SqlAdvisor: automatically quote identifiers that look like SQL keywords
     add 23eb11e  [CALCITE-2484] Move dynamic tests to a separate class like SqlValidatorDynamicTest, and  avoid reuse of MockCatalogReaderDynamic
     add 0af6e41  [CALCITE-2484] Add SqlValidatorDynamicTest to CalciteSuite
     add fa7b482  [CALCITE-2521] Guard RelMetadataTest#testMetadataHandlerCacheLimit with CalciteAssert.ENABLE_SLOW
     add 3df638c  [CALCITE-2523] Guard PartiallyOrderedSetTest#testPosetBitsLarge with CalciteAssert.ENABLE_SLOW
     add 88f1255  Reduce HepPlannerTest#testRuleApplyCount complexity
     add c6ad15e  [CALCITE-2543] Upgrade SQLLine to 1.5.0
     add 8f43b3b  [CALCITE-2112] Add Maven wrapper for Calcite (Ratandeep S. Ratti)
     add 9453990  [CALCITE-2412] Add Windows CI via AppVeyor (Sergey Nuyanzin)
     add 453441c  [CALCITE-2505] Fix assertion error when simplifying is [not] distinct expressions (Haisheng Yuan)
     add eb85242  Increase timeout for Cassandra daemon startup for CassandraAdapterTest
     add ee5b2f7  Remove redundant 'new' expression in constant array creation
     add 60bb400  Site: Add Andrei Sereda as committer
     add 001a8fd  [CALCITE-2551] SqlToRelConverter gives ClassCastException while handling 'IN' inside 'WHERE NOT CASE' (pengzhiwei)
     add 79a1752  [CALCITE-2558] Improve re-compilation times by skipping parser.java update on each build
     add 4b4d803  [CALCITE-2559] Update Checkstyle to 7.8.2
     add 5f8c06f  [CALCITE-2563] Materialized view rewriting may swap columns in equivalent classes incorrectly
     add 337f247  [CALCITE-2546] Reduce precision of Profiler's surprise and cardinality attributes to avoid FP discrepancies (Alisha Prabhu)
     add c69e1bc  [CALCITE-2535] Enable SqlTester.checkFails (previously it was a no-op) (Hongze Zhang)
     add a5378a3  [CALCITE-2537] Use litmus for VolcanoPlanner#validate
     add 37a6f9f  [CALCITE-2444] Handle IN expressions when converting SqlNode to SQL (Zoltan Haindrich)
     add 865a71e  [CALCITE-2504] Add randomized test for better code coverage of rex node create and simplification
     add a02590f  Update build status badges in README.md
     add ce05146  [CALCITE-1894] CsvTest.testCsvStream failing often: add @Ignore since the test is known to fail
     add 79af1c9  [CALCITE-2528] Support Aggregates in ElasticSearch adapter (Andrei Sereda)
     add ac1b63d  [CALCITE-2555] RexSimplify: >=(..., null) could be simplified to null (pengzhiwei)
     add 1420e4d  [CALCITE-2567] Simplify IS NULL(null) to true (pengzhiwei)
     add 4be1f15  Remove "Now, do something with table " from standard output when implementing sequences
     add 92b425a  [CALCITE-2570] Upgrade forbiddenapis to 2.6 for JDK 11 support
     add d262c86  Remove dead code: Compatible, CompatibleGuava11
     add d3b02ae  [CALCITE-2574] Update download page to include instructions for verifying a downloaded artifact
     add 8654c9f  [CALCITE-2577] Update links on download page to HTTPS
     add 19826da  Fix Windows tests broken by [CALCITE-2444] Handle IN expressions when converting SqlNode to SQL (Zoltan Haindrich)
     add 4f1b5ef  [CALCITE-2572] SQL standard semantics for SUBSTRING function (Andrew Pilloud)
     add 8f202e9  Avoid simplification of cast(null as integer) to false in filter expressions broken by [CALCITE-2555]
     add 295ab13  Apply small refactorings to Calcite codebase (Java 5, Java 7, Java 8)
     add 59b7670  [CALCITE-2561] Remove dead code in Lattice constructor
     add 32630d1  Display random failure of Rex fuzzer in build logs to inspire further fixes
     add 52eda6d  [CALCITE-2527] Simplify (c IS NULL) OR (c IS ...) might result in AssertionError: result mismatch (pengzhiwei)
     add 40503ff  [CALCITE-2578] Support ANY_VALUE Aggregate Function in ElasticSearch adapter
     add 56def39  [CALCITE-2581] Avoid errors in simplifying "null and not (null or ...)" (pengzhiwei)
     add 3183f2c  Silence Pig, Spark, and Elasticsearch logs in tests
     add ef82260  Avoid NullPointerException when FlatList contains null elements
     add 17e0a05  [CALCITE-2562] Remove dead code in StandardConvertletTable#convertDatetimeMinus
     add 2cba817  [CALCITE-2585] Support NOT Operator in ElasticSearch Adapter
     add 2ab83e4  Remove Redundant null check in CompoundQueryExpression
     add b40562b  [CALCITE-2556] Simplify not(true/false) to false/true (pengzhiwei)
     add b98a8e7  Implement fuzzy generator for CASE expressions
     add 00c3646  [CALCITE-2413] Use raw signatures for classes with generics when producing Java code
     add d624a56  [CALCITE-2518] Add failOnWarnings to maven-javadoc-plugin configuration
     add 98f932c  [CALCITE-2590] Remove redundant CAST when operand has exactly the same type as it is casted to
     add 464785f  [CALCITE-2526] Add test for OR with nullable comparisons (pengzhiwei)
     add a5f09f5  Test case for [CALCITE-2592] EnumerableMergeJoin is never taken
     add 8f14945  [CALCITE-2571] TRIM function now trims more than one character (Andrew Pilloud)
     add 72f36a8  Unwrap invocation target exception from QuidemTest#test
     add 9d6899c  Fix JavaDoc warnings for Java 9+, and check JavaDoc in Travis CI
     add b78dd4a  [CALCITE-2586] RexSimplify: case with repeated branches results in assertion error (pengzhiwei)
     add b9da74e  [CALCITE-2591] EnumerableDefaults#mergeJoin should throw error and not return incorrect results when inputs are not ordered (Enrico Olivelli)
     add 6770e2b  Make build scripts Maven 3.3 compatible
     add 55d8664  [CALCITE-2458] Add Kotlin as a test dependency
     add 9464dd3  Make findbugs:jsr305 dependency optional
     add c321524  Commons:commons-pool2 is used in tests only, so use scope=test for it
     add b31da22  Canonize simple cases for composite traits in trait factory
     add a5d4a8b  [CALCITE-2580] RexSimplify: coalesce(null > null, true) produces wrong result filter expressions (pengzhiwei)
     add 9ba9bdc  [CALCITE-2594] Ensure forbiddenapis and maven-compiler use the correct JDK version
     add ed424ed  [CALCITE-2588] Run Geode Adapter tests with an Embedded Instance
     add d92d996  [CALCITE-2112] - Add Apache license header to maven-wrapper.properties
     add 1306040  Add license to TestKtTest and add apache-rat:check to Travis CI
     add 3a4fba8  Removed unnecessary try/final block in RefCountPolicy (geode tests)
     add 9997165  [CALCITE-2506] RexSimplify: coalesce(unaryPlus(nullInt), unaryPlus(vInt())) results in AssertionError: result mismatch (pengzhiwei)
     add c39bfaa  Add geospatial category to DOAP file
     add be1769b  [CALCITE-2438] Fix wrong results for IS NOT FALSE(false) (zhiwei.pzw) (Zoltan Haindrich)
     add 6b3844c  [CALCITE-2604] When simplifying an expression, say whether an UNKNOWN value will be interpreted as is, or as TRUE or FALSE
     add dfd012c  [CALCITE-2611] Linq4j code generation failure if one side of an OR contains unknown (Zoltan Haindrich)
     add fb7914e  [CALCITE-2622] RexFieldCollation toString method is not deterministic
     add 064974d  [CALCITE-2615] When simplifying NOT-AND-OR, RexSimplify incorrectly applies predicates deduced for operands to the same operands (Zoltan Haindrich)
     add b470a0c  [CALCITE-1413] Enhance boolean case statement simplifications (Zoltan Haindrich)
     add 5b16e23  [CALCITE-2620] Simplify "coalesce(null,x)" to "x" (pengzhiwei)
     add ae63f9c  [CALCITE-2404] Implement access to structured-types in enumerable runtime (Stamatis Zampetakis)
     add 784372d  [CALCITE-2628] JDBC adapter throws NullPointerException while generating GROUP BY query for MySQL
     add afee2a8  Ensure that tests are not calling checkSimplify3 with expected, expectedFalse, expectedTrue all the same
     add 2904693  Following [CALCITE-2622] intern sets of SqlKind
     add 7a07922  [CALCITE-2631] General improvements in case simplification [CALCITE-2639] FilterReduceExpressionsRule causes ArithmeticException at execution time
     add c5ff670  [CALCITE-2642] Checkstyle complains that maven-wrapper.properties is missing a header
     add 0d31de7  [CALCITE-2638] Constant reducer should not treat as constant an RexInputRef that points to a call to a dynamic or non-deterministic function (Danny Chan)
     add 4b51b5a  Cosmetic
     add 6284d3c  [CALCITE-2617] Add a variant of FilterProjectTransposeRule that can push down a Filter that contains correlated variables (Stamatis Zampetakis)
     add b47413a  [CALCITE-1870] Lattice suggester
     add 0b7b24a  [CALCITE-2647] In RelBuilder, add a groupKey method that assumes only one grouping set
     add c33a4f4  RelBuilder.toString()
     add 332ffb4  [CALCITE-1174] When generating SQL, translate SUM0(x) to COALESCE(SUM(x), 0)
     add 9c26a9e  [CALCITE-2441] RelBuilder.scan should expand TranslatableTable and views
     add 561c642  [CALCITE-2405] In Babel parser, make 400 reserved keywords including YEAR, SECOND, DESC non-reserved
     add fce3966  [CALCITE-2605] Support left outer join via EnumerableCorrelate
     add 06197d3  [CALCITE-2605] Support semi-join via EnumerableCorrelate (Ruben Quesada Lopez)
     add 425fa7b  [CALCITE-2655] Enable Travis to test against JDK 12
     add 4cc4613  [CALCITE-2654] In RelBuilder, add a fluent API for building complex aggregate calls
     add 7bc9f14  [CALCITE-2224] Support WITHIN GROUP clause for aggregate functions (Hongze Zhang)
     add 042fa6b  [CALCITE-2657] In RexShuttle, use "RexCall.clone" instead of "new RexCall" (Chunwei Lei)
     add ebc43d9  [CALCITE-2652] SqlNode to SQL conversion fails if the join condition references a BOOLEAN column (Zoltan Haindrich)
     add d7829a3  Oops, let's stay on sqlline-1.5 for now
     add 8e557d2  [CALCITE-2266] Implement SQL:2016 JSON functions: JSON_EXISTS, JSON_VALUE, JSON_QUERY, JSON_OBJECT, JSON_OBJECTAGG, JSON_ARRAY, JSON_ARRAYAGG, IS JSON predicate (Hongze Zhang)
     add 4310815  Fix invocation of deprecated constructor of SqlAggFunction (Hongze Zhang)
     add 6d9242a  Following [CALCITE-2266], remove an unwanted dependency
     add 1d29291  [CALCITE-2661] In RelBuilder, add methods for creating Exchange and SortExchange relational expressions (Chunwei Lei)
     add 3f89e03  [CALCITE-2660] OsAdapterTest should check if required commands are available
     add 81a9bd7  [CALCITE-2668] Support for left/right outer join in RelMdExpressionLineage
     add a36ffc3  [CALCITE-2668] Support for left/right outer join in RelMdExpressionLineage (addendum)
     add 11ff061  Remove incorrect "Not implemented" message from CALCITE-2031
     add fcc8bf7  [CALCITE-2669] RelMdTableReferences should check whether references inferred from input are null for Union/Join operators
     add 614bc7b  [CALCITE-2651] Enable scrolling in ElasticSearch adapter for basic search queries
     add bd95645  [CALCITE-2663] Add CREATE and DROP FUNCTION (ambition119)
     add 02ca9bc  [CALCITE-2678] RelBuilderTest#testRelBuilderToString fails on Windows (Stamatis Zampetakis)
     add 53e15af  [CALCITE-563] In JDBC adapter, push bindable parameters down to the underlying JDBC data source (Vladimir Sitnikov, Piotr Bojko)
     add d32ee5c  [CALCITE-2675] Type validation error as ReduceExpressionRule fails to preserve type nullability (Zoltan Haindrich)
     add 632a85d  [CALCITE-2711] Upgrade SQLLine to 1.6.0
     add 249ec59  [CALCITE-2673] SqlDialect supports pushing of all functions by default
     add da57c90  [CALCITE-2671] GeodeFilter convert multiple ORs (on same attribute) into single IN SET. (Sandeep Chada)
     add 463255c  [CALCITE-2687] Is distinct from could lead to Exceptions in ReduceExpressionRule (Zoltan Haindrich)
     add 439ca73  [CALCITE-2695] Simplify casts which are only widening nullability (Zoltan Haindrich)
     add 08aefb0  [CALCITE-2714] Make BasicSqlType immutable, and now SqlTypeFactory.createWithNullability can reuse existing type if possible (Ruben Quesada Lopez)
     add ed3da62  [CALCITE-2689] In ElasticSearch adapter, allow grouping on non-textual fields like date and number
     add ce47088  [CALCITE-2715] In JDBC adapter, do not generate character set in data types for MS SQL Server (Piotr Bojko)
     add 847e76c  [CALCITE-2632] Ensure that RexNode and its sub-classes implement hashCode and equals methods (Zoltan Haindrich)
     add 453f171  [CALCITE-2637] In SQL parser, allow prefix '-' between BETWEEN and AND (Qi Yu)
     add 849f141  [CALCITE-2705] Site: Remove duplicate "selectivity" in list of metadata types (Alan Jin)
     add 4525840  [CALCITE-2542] In SQL parser, allow '. field' to follow expressions other than tables and columns (Rong Rong)
     add de9a716  [CALCITE-2717] Use Interner instead of LoadingCache to cache traits to allow GC (Haisheng Yuan)
     add 5ebf458  [CALCITE-2720] RelMetadataQuery.getTableOrigin throws IndexOutOfBoundsException if RelNode has no columns (Zoltan Haindrich)
     add e274f1b  [CALCITE-2688] Improve diagnosability when validator cannot infer a return type (Zoltan Haindrich)
     add d7d28a2  [CALCITE-2679] In Elasticsearch adapter, implement DISTINCT and GROUP BY without aggregate function (Siyuan Liu)
     add 69750ff  [CALCITE-2619] Reduce string literal creation cost by deferring and caching charset conversion (Ted Xu)
     add 16ebc96  [CALCITE-2701] Make generated Baz classes immutable
     add d0bdec4  [CALCITE-2699] TIMESTAMPADD function now applies to DATE and TIME as well as TIMESTAMP (xuqianjin)
     add 03c88b6  [CALCITE-2662] In Planner, allow parsing a stream (Reader) instead of a String (Enrico Olivelli)
     add 25c332d  [CALCITE-2529] All numbers are in the same type family (Andrew Pilloud)
     add be54047  [CALCITE-2709] In Geode adapter, allow filtering on DATE, TIME, TIMESTAMP fields (Sandeep Chada)
     add 6c7a7ed  [CALCITE-2713] JDBC adapter may generate casts on PostgreSQL for VARCHAR type exceeding max length
     add dfb29f7  [CALCITE-2719] In JDBC adapter for MySQL, fix cast to INTEGER and BIGINT (Piotr Bojko)
     add 0ad68c3  [CALCITE-2684] RexBuilder gives AssertionError when creating integer literal larger than 2^63 (Ruben Quesada Lopez)
     add 5c6d3c2  [CALCITE-2596] When translating correlated variables in enumerable convention, convert not-null boxed primitive values to primitive (Stamatis Zampetakis)
     add efec74d  [CALCITE-2716] Upgrade to Avatica 1.13.0
     add 4da9c0d  [CALCITE-2726] ReduceExpressionRule oversimplifies filter conditions containing nulls
     add 40d12b7  [CALCITE-2468] Validator throws IndexOutOfBoundsException when trying to infer operand type from STRUCT return type (Rong Rong)
     add f3655e1  [CALCITE-2670] Combine similar JSON aggregate functions in operator table
     add 8c7dc78  [CALCITE-2730] RelBuilder incorrectly simplifies a filter with duplicate conjunction to empty (Stamatis Zampetakis)
     add b51dbdb  [CALCITE-2731] RexProgramBuilder makes unsafe simplifications to CASE expressions (Zoltan Haindrich)
     add f362785  [CALCITE-2673] Default implementation of SqlDialect should not support pushing all functions
     add 6bca0b8  [CALCITE-2575] Release Calcite 1.18.0
     add 27d8839  [maven-release-plugin] prepare release calcite-1.18.0
     add 5447b9c  [maven-release-plugin] prepare for next development iteration
     add a4bcea8  Site: Update PMC chair
     add a3711d7  [CALCITE-2463] Silence ERROR logs from CalciteException, SqlValidatorException
     add c3e076c  Site: Improve documentation for ElasticSearch Adapter
     add af739cb  Site: ElasticAdapter mention supported versions (and support schedule)
     add 76b2f5c  Update git URL
     add 9d50e6d  Update site for new repository

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   (68966e9)
            \
             N -- N -- N   refs/heads/site (9d50e6d)

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:
 .gitignore                                         |   2 +
 .../wrapper/maven-wrapper.properties               |  21 +-
 .travis.yml                                        |   9 +-
 README                                             |   2 +-
 README.md                                          |   3 +-
 .travis.yml => appveyor.yml                        |  50 +-
 babel/pom.xml                                      |  59 +-
 babel/src/main/codegen/config.fmpp                 | 780 +++++++++++++++-
 .../org/apache/calcite/test/BabelParserTest.java   |  98 ++
 cassandra/pom.xml                                  |  18 +-
 .../calcite/adapter/cassandra/CassandraFilter.java |   8 +-
 .../adapter/cassandra/CassandraProject.java        |   2 +-
 .../calcite/adapter/cassandra/CassandraRel.java    |   6 +-
 .../calcite/adapter/cassandra/CassandraRules.java  |   2 +-
 .../calcite/adapter/cassandra/CassandraSchema.java |  37 +-
 .../adapter/cassandra/CassandraSchemaFactory.java  |   8 +-
 .../calcite/adapter/cassandra/CassandraSort.java   |   2 +-
 .../cassandra/CassandraToEnumerableConverter.java  |   2 +-
 ...draAdapterIT.java => CassandraAdapterTest.java} | 130 ++-
 cassandra/src/test/resources/cassandra.yaml        | 602 +++++++++++++
 .../src/test/resources/logback-test.xml            |  26 +-
 cassandra/src/test/resources/model.json            |   1 +
 cassandra/src/test/resources/twissandra.cql        | 663 ++++++++++++++
 core/pom.xml                                       | 139 ++-
 core/src/main/codegen/config.fmpp                  | 301 +++++++
 core/src/main/codegen/templates/Parser.jj          | 969 +++++++++++++-------
 core/src/main/java/org/apache/calcite/Demo.java    |   2 +-
 .../Java9Workaround.java}                          |  13 +-
 .../calcite/adapter/enumerable/AggImpState.java    |   1 +
 .../adapter/enumerable/AggregateLambdaFactory.java |  48 +
 .../calcite/adapter/enumerable/EnumUtils.java      |  14 +
 .../adapter/enumerable/EnumerableAggregate.java    | 196 +++-
 .../calcite/adapter/enumerable/EnumerableCalc.java |  10 +-
 .../adapter/enumerable/EnumerableCorrelate.java    |   4 +-
 .../enumerable/EnumerableRelImplementor.java       |  28 +-
 .../enumerable/EnumerableTableFunctionScan.java    |   3 +-
 .../adapter/enumerable/EnumerableTableModify.java  |   2 +-
 .../adapter/enumerable/EnumerableThetaJoin.java    |   3 +-
 .../adapter/enumerable/EnumerableValues.java       |   4 +-
 .../adapter/enumerable/EnumerableWindow.java       |  32 +-
 .../adapter/enumerable/NestedBlockBuilderImpl.java |   6 +-
 .../enumerable/OrderedAggregateLambdaFactory.java  | 105 +++
 .../calcite/adapter/enumerable/RexImpTable.java    | 204 ++++-
 .../adapter/enumerable/RexToLixTranslator.java     | 164 ++--
 .../SequencedAdderAggregateLambdaFactory.java      |  88 ++
 .../calcite/adapter/enumerable/SourceSorter.java   |  60 ++
 .../adapter/jdbc/JdbcToEnumerableConverter.java    |  65 +-
 .../apache/calcite/interpreter/AggregateNode.java  |   7 +-
 .../apache/calcite/interpreter/Interpreter.java    |   2 +-
 .../calcite/interpreter/JaninoRexCompiler.java     |  12 +-
 .../apache/calcite/interpreter/TableScanNode.java  |   3 +-
 .../apache/calcite/jdbc/CalciteConnectionImpl.java |  13 +-
 .../org/apache/calcite/jdbc/CalcitePrepare.java    |   1 -
 .../org/apache/calcite/jdbc/CalciteSchema.java     |  31 +-
 .../apache/calcite/jdbc/JavaTypeFactoryImpl.java   |   2 +
 .../org/apache/calcite/materialize/Lattice.java    | 598 +++++++++----
 .../LatticeChildNode.java}                         |  39 +-
 .../apache/calcite/materialize/LatticeNode.java    | 116 +++
 .../calcite/materialize/LatticeRootNode.java       |  86 ++
 .../apache/calcite/materialize/LatticeSpace.java   | 135 +++
 .../calcite/materialize/LatticeSuggester.java      | 755 ++++++++++++++++
 .../LatticeTable.java}                             |  43 +-
 .../materialize/MapSqlStatisticProvider.java       |  88 ++
 .../apache/calcite/materialize/MutableNode.java    | 127 +++
 .../DefaultEdge.java => materialize/Path.java}     |  36 +-
 .../SqlStatisticProvider.java}                     |  18 +-
 .../java/org/apache/calcite/materialize/Step.java  | 113 +++
 .../java/org/apache/calcite/model/JsonSchema.java  |   4 +
 .../org/apache/calcite/model/ModelHandler.java     |  32 +-
 .../apache/calcite/plan/AbstractRelOptPlanner.java |   4 +
 .../calcite/plan/MulticastRelOptListener.java      |   2 +-
 .../org/apache/calcite/plan/RelCompositeTrait.java |  48 +-
 .../org/apache/calcite/plan/RelImplementor.java    |   3 +
 .../org/apache/calcite/plan/RelOptCluster.java     |   2 +-
 .../org/apache/calcite/plan/RelOptCostImpl.java    |  11 +-
 .../org/apache/calcite/plan/RelOptLattice.java     |   2 +-
 .../apache/calcite/plan/RelOptMaterialization.java |   2 +-
 .../org/apache/calcite/plan/RelOptPlanner.java     |   5 +
 .../java/org/apache/calcite/plan/RelOptQuery.java  |   2 +-
 .../java/org/apache/calcite/plan/RelOptUtil.java   |  96 +-
 .../java/org/apache/calcite/plan/RelTraitDef.java  |  57 +-
 .../java/org/apache/calcite/plan/RelTraitSet.java  |   3 +-
 .../apache/calcite/plan/RexImplicationChecker.java |   4 +-
 .../main/java/org/apache/calcite/plan/Strong.java  |   9 +-
 .../apache/calcite/plan/SubstitutionVisitor.java   |  48 +-
 .../org/apache/calcite/plan/TableAccessMap.java    |   4 +-
 .../org/apache/calcite/plan/ViewExpanders.java     |  67 ++
 .../apache/calcite/plan/hep/HepInstruction.java    |   2 +-
 .../org/apache/calcite/plan/hep/HepPlanner.java    |  51 +-
 .../apache/calcite/plan/hep/HepProgramBuilder.java |   3 +-
 .../org/apache/calcite/plan/hep/HepRuleCall.java   |   2 +-
 .../org/apache/calcite/plan/volcano/RelSubset.java |   4 +-
 .../org/apache/calcite/plan/volcano/RuleQueue.java |  12 +-
 .../apache/calcite/plan/volcano/VolcanoCost.java   |   7 +
 .../calcite/plan/volcano/VolcanoPlanner.java       |  38 +-
 .../calcite/prepare/CalciteCatalogReader.java      |   4 +-
 .../apache/calcite/prepare/CalcitePrepareImpl.java |   7 +-
 .../apache/calcite/prepare/LixToRelTranslator.java |  28 +-
 .../org/apache/calcite/prepare/PlannerImpl.java    | 104 ++-
 .../java/org/apache/calcite/prepare/Prepare.java   |   8 +-
 .../calcite/prepare/QueryableRelBuilder.java       |   3 +-
 .../java/org/apache/calcite/profile/Profiler.java  |  16 +-
 .../java/org/apache/calcite/rel/RelCollations.java |  20 +
 .../org/apache/calcite/rel/core/AggregateCall.java | 114 ++-
 .../java/org/apache/calcite/rel/core/Calc.java     |   1 -
 .../java/org/apache/calcite/rel/core/Exchange.java |   2 +-
 .../java/org/apache/calcite/rel/core/JoinInfo.java |   6 +-
 .../java/org/apache/calcite/rel/core/Match.java    |   2 +-
 .../org/apache/calcite/rel/core/RelFactories.java  | 104 +++
 .../java/org/apache/calcite/rel/core/SetOp.java    |   2 +-
 .../java/org/apache/calcite/rel/core/Window.java   |  14 +
 .../apache/calcite/rel/externalize/RelJson.java    |  22 +-
 .../calcite/rel/externalize/RelJsonReader.java     |   5 +-
 .../calcite/rel/externalize/RelXmlWriter.java      |   2 +-
 .../apache/calcite/rel/logical/LogicalFilter.java  |   2 +
 .../calcite/rel/logical/LogicalSortExchange.java   |  68 ++
 .../rel/metadata/JaninoRelMetadataProvider.java    |   2 +-
 .../calcite/rel/metadata/RelMdAllPredicates.java   |  18 +-
 .../rel/metadata/RelMdExpressionLineage.java       | 161 ++--
 .../calcite/rel/metadata/RelMdPredicates.java      | 158 ++--
 .../calcite/rel/metadata/RelMdTableReferences.java |  23 +-
 .../org/apache/calcite/rel/metadata/RelMdUtil.java |  39 +-
 .../calcite/rel/metadata/RelMetadataQuery.java     |   3 +
 .../apache/calcite/rel/mutable/MutableFilter.java  |   5 +-
 .../apache/calcite/rel/mutable/MutableJoin.java    |   6 +-
 .../calcite/rel/mutable/MutableSemiJoin.java       |   6 +-
 .../apache/calcite/rel/rel2sql/SqlImplementor.java | 259 ++++--
 .../rel/rules/AbstractMaterializedViewRule.java    | 248 +++---
 .../AggregateExpandDistinctAggregatesRule.java     |  42 +-
 .../rel/rules/AggregateExtractProjectRule.java     |  16 +-
 .../rel/rules/AggregateFilterTransposeRule.java    |   1 +
 .../rel/rules/AggregateJoinTransposeRule.java      |   3 +-
 .../rel/rules/AggregateProjectMergeRule.java       |  59 +-
 .../rules/AggregateProjectPullUpConstantsRule.java |   2 +-
 .../rel/rules/AggregateReduceFunctionsRule.java    | 271 +++++-
 .../calcite/rel/rules/AggregateStarTableRule.java  |   7 +-
 .../rel/rules/AggregateUnionAggregateRule.java     |   2 +-
 .../rel/rules/AggregateUnionTransposeRule.java     |  10 +-
 .../apache/calcite/rel/rules/DateRangeRules.java   |  26 +-
 .../apache/calcite/rel/rules/FilterJoinRule.java   |   3 +-
 .../rel/rules/FilterProjectTransposeRule.java      |  66 +-
 .../rules/FilterTableFunctionTransposeRule.java    |   2 +-
 .../calcite/rel/rules/IntersectToDistinctRule.java |   2 +-
 .../calcite/rel/rules/JoinAssociateRule.java       |   6 +-
 .../calcite/rel/rules/JoinPushExpressionsRule.java |   2 +-
 .../calcite/rel/rules/JoinPushThroughJoinRule.java |   8 +-
 .../calcite/rel/rules/JoinToMultiJoinRule.java     |   2 +-
 .../calcite/rel/rules/JoinUnionTransposeRule.java  |   2 +-
 .../calcite/rel/rules/LoptSemiJoinOptimizer.java   |   3 +-
 .../rel/rules/MaterializedViewFilterScanRule.java  |  11 +-
 .../org/apache/calcite/rel/rules/MultiJoin.java    |   8 +-
 .../rel/rules/MultiJoinOptimizeBushyRule.java      |   5 +-
 .../apache/calcite/rel/rules/PushProjector.java    |  41 +-
 .../calcite/rel/rules/ReduceDecimalsRule.java      |  14 +-
 .../calcite/rel/rules/ReduceExpressionsRule.java   |  48 +-
 .../rel/rules/SemiJoinJoinTransposeRule.java       |   2 +-
 .../calcite/rel/rules/SubQueryRemoveRule.java      |  13 +-
 .../apache/calcite/rel/rules/TableScanRule.java    |   4 +-
 .../calcite/rel/type/RelDataTypeSystemImpl.java    |   4 +
 .../java/org/apache/calcite/rex/LogicVisitor.java  |   2 +-
 .../java/org/apache/calcite/rex/RexBuilder.java    |  32 +-
 .../main/java/org/apache/calcite/rex/RexCall.java  |  30 +-
 .../org/apache/calcite/rex/RexCorrelVariable.java  |  12 +
 .../org/apache/calcite/rex/RexDynamicParam.java    |  14 +
 .../org/apache/calcite/rex/RexExecutorImpl.java    |   8 +-
 .../org/apache/calcite/rex/RexFieldAccess.java     |  19 +
 .../org/apache/calcite/rex/RexFieldCollation.java  |  55 +-
 .../org/apache/calcite/rex/RexInterpreter.java     |  28 +-
 .../java/org/apache/calcite/rex/RexLiteral.java    |   2 +-
 .../main/java/org/apache/calcite/rex/RexNode.java  |  13 +
 .../main/java/org/apache/calcite/rex/RexOver.java  |   6 +-
 .../java/org/apache/calcite/rex/RexProgram.java    |   2 +-
 .../org/apache/calcite/rex/RexProgramBuilder.java  |  12 +-
 .../java/org/apache/calcite/rex/RexRangeRef.java   |  13 +
 .../java/org/apache/calcite/rex/RexShuttle.java    |   5 +-
 .../java/org/apache/calcite/rex/RexSimplify.java   | 988 +++++++++++++++------
 .../rex/RexSqlReflectiveConvertletTable.java       |   2 +-
 .../calcite/rex/RexSqlStandardConvertletTable.java |   2 +-
 .../java/org/apache/calcite/rex/RexSubQuery.java   |   7 +-
 .../org/apache/calcite/rex/RexTransformer.java     |   5 +-
 .../java/org/apache/calcite/rex/RexUnknownAs.java  |  99 +++
 .../main/java/org/apache/calcite/rex/RexUtil.java  | 198 +++--
 .../java/org/apache/calcite/rex/RexVariable.java   |  10 +-
 .../apache/calcite/runtime/CalciteException.java   |   6 +-
 .../apache/calcite/runtime/CalciteResource.java    |  92 ++
 .../java/org/apache/calcite/runtime/FlatLists.java | 106 +--
 .../main/java/org/apache/calcite/runtime/Hook.java |   4 +-
 .../java/org/apache/calcite/runtime/HttpUtils.java |   2 +-
 .../calcite/runtime/ResultSetEnumerable.java       | 201 ++++-
 .../org/apache/calcite/runtime/SortedMultiMap.java |   4 +-
 .../org/apache/calcite/runtime/SqlFunctions.java   | 605 ++++++++++---
 .../java/org/apache/calcite/runtime/Utilities.java |  44 +-
 .../java/org/apache/calcite/schema/SchemaPlus.java |   7 +-
 .../org/apache/calcite/schema/impl/StarTable.java  |   6 +-
 .../org/apache/calcite/schema/impl/ViewTable.java  |  25 +-
 .../org/apache/calcite/sql/SqlAggFunction.java     |  59 +-
 .../java/org/apache/calcite/sql/SqlDialect.java    | 142 ++-
 .../apache/calcite/sql/SqlDialectFactoryImpl.java  |   1 -
 .../org/apache/calcite/sql/SqlDynamicParam.java    |   3 +-
 .../org/apache/calcite/sql/SqlFilterOperator.java  |  47 +-
 .../SqlJsonConstructorNullClause.java}             |  18 +-
 .../SqlJsonEmptyOrError.java}                      |  19 +-
 .../{Demo.java => sql/SqlJsonEncoding.java}        |  36 +-
 .../calcite/sql/SqlJsonExistsErrorBehavior.java    |  13 +
 .../SqlJsonQueryEmptyOrErrorBehavior.java}         |  21 +-
 .../SqlJsonQueryWrapperBehavior.java}              |  15 +-
 .../SqlJsonValueEmptyOrErrorBehavior.java}         |  20 +-
 .../main/java/org/apache/calcite/sql/SqlKind.java  |  64 +-
 .../java/org/apache/calcite/sql/SqlLiteral.java    |   4 +-
 .../main/java/org/apache/calcite/sql/SqlNode.java  |   3 +-
 .../java/org/apache/calcite/sql/SqlOperator.java   |   8 +-
 .../org/apache/calcite/sql/SqlRankFunction.java    |   3 +-
 .../java/org/apache/calcite/sql/SqlSelect.java     |   9 -
 .../calcite/sql/SqlSplittableAggFunction.java      |  16 +-
 .../main/java/org/apache/calcite/sql/SqlUtil.java  |  65 +-
 .../apache/calcite/sql/SqlWithinGroupOperator.java |  85 ++
 .../java/org/apache/calcite/sql/SqlWriter.java     |   5 +
 .../org/apache/calcite/sql/advise/SqlAdvisor.java  | 219 ++++-
 .../sql/advise/SqlAdvisorGetHintsFunction2.java    | 120 +++
 .../{Demo.java => sql/advise/SqlAdvisorHint2.java} |  33 +-
 .../apache/calcite/sql/advise/SqlSimpleParser.java | 135 ++-
 .../calcite/sql/dialect/HsqldbSqlDialect.java      |   6 +-
 .../calcite/sql/dialect/MssqlSqlDialect.java       |   8 +-
 .../calcite/sql/dialect/MysqlSqlDialect.java       |   9 +-
 .../calcite/sql/dialect/PostgresqlSqlDialect.java  |  26 +-
 .../calcite/sql/fun/SqlAbstractGroupFunction.java  |   3 +-
 .../calcite/sql/fun/SqlAnyValueAggFunction.java    |   4 +-
 .../apache/calcite/sql/fun/SqlAvgAggFunction.java  |   7 +-
 .../apache/calcite/sql/fun/SqlCaseOperator.java    |   6 +-
 .../calcite/sql/fun/SqlCountAggFunction.java       |  13 +-
 .../calcite/sql/fun/SqlCovarAggFunction.java       |  12 +-
 .../org/apache/calcite/sql/fun/SqlDotOperator.java |  23 +-
 .../sql/fun/SqlFirstLastValueAggFunction.java      |   4 +-
 .../calcite/sql/fun/SqlHistogramAggFunction.java   |   4 +-
 .../sql/fun/SqlJsonApiCommonSyntaxOperator.java    |  67 ++
 .../sql/fun/SqlJsonArrayAggAggFunction.java        |  85 ++
 .../calcite/sql/fun/SqlJsonArrayFunction.java      | 106 +++
 .../calcite/sql/fun/SqlJsonExistsFunction.java     |  58 ++
 .../sql/fun/SqlJsonObjectAggAggFunction.java       |  89 ++
 .../calcite/sql/fun/SqlJsonObjectFunction.java     | 135 +++
 .../calcite/sql/fun/SqlJsonQueryFunction.java      | 118 +++
 .../sql/fun/SqlJsonValueExpressionOperator.java    |  62 ++
 .../calcite/sql/fun/SqlJsonValueFunction.java      | 189 ++++
 .../calcite/sql/fun/SqlLeadLagAggFunction.java     |   4 +-
 .../calcite/sql/fun/SqlMinMaxAggFunction.java      |   4 +-
 .../sql/fun/SqlMonotonicBinaryOperator.java        |   6 +-
 .../calcite/sql/fun/SqlNthValueAggFunction.java    |   3 +-
 .../calcite/sql/fun/SqlNtileAggFunction.java       |   4 +-
 ...gFunction.java => SqlRegrCountAggFunction.java} |  30 +-
 .../calcite/sql/fun/SqlSingleValueAggFunction.java |   4 +-
 .../calcite/sql/fun/SqlStdOperatorTable.java       | 134 ++-
 .../apache/calcite/sql/fun/SqlSumAggFunction.java  |   4 +-
 .../sql/fun/SqlSumEmptyIsZeroAggFunction.java      |   4 +-
 .../calcite/sql/fun/SqlTimestampAddFunction.java   |  12 +-
 .../calcite/sql/fun/SqlTimestampDiffFunction.java  |  24 +-
 .../calcite/sql/parser/SqlAbstractParserImpl.java  |  14 +-
 .../calcite/sql/parser/SqlParseException.java      |   2 +-
 .../org/apache/calcite/sql/parser/SqlParser.java   |  49 +-
 .../apache/calcite/sql/pretty/SqlPrettyWriter.java |  23 +-
 .../apache/calcite/sql/type/AbstractSqlType.java   |   3 +-
 .../org/apache/calcite/sql/type/BasicSqlType.java  |  94 +-
 .../org/apache/calcite/sql/type/ReturnTypes.java   |   9 +-
 .../calcite/sql/type/SqlTypeFactoryImpl.java       |   5 +-
 .../org/apache/calcite/sql/type/SqlTypeUtil.java   |   8 +-
 .../sql/type/TableFunctionReturnTypeInference.java |   8 +-
 .../calcite/sql/util/ListSqlOperatorTable.java     |   2 +-
 .../org/apache/calcite/sql/util/SqlShuttle.java    |   2 +-
 .../org/apache/calcite/sql/util/SqlString.java     |  42 +-
 .../apache/calcite/sql/validate/AggChecker.java    |   4 +
 .../calcite/sql/validate/AliasNamespace.java       |   4 +-
 .../sql/validate/SqlAbstractConformance.java       |   4 +
 .../calcite/sql/validate/SqlConformance.java       |  21 +
 .../calcite/sql/validate/SqlConformanceEnum.java   |  13 +
 .../calcite/sql/validate/SqlNameMatchers.java      |   2 +-
 .../sql/validate/SqlUserDefinedAggFunction.java    |   7 +-
 .../apache/calcite/sql/validate/SqlValidator.java  |   8 +-
 .../sql/validate/SqlValidatorException.java        |   5 +-
 .../calcite/sql/validate/SqlValidatorImpl.java     | 147 ++-
 .../calcite/sql/validate/SqlValidatorUtil.java     |  10 +-
 .../apache/calcite/sql2rel/RelDecorrelator.java    |   9 +-
 .../apache/calcite/sql2rel/RelFieldTrimmer.java    |  15 +-
 .../sql2rel/RelStructuredTypeFlattener.java        | 104 ++-
 .../apache/calcite/sql2rel/SqlToRelConverter.java  | 267 +++---
 .../calcite/sql2rel/StandardConvertletTable.java   | 285 ++++--
 .../org/apache/calcite/tools/FrameworkConfig.java  |  21 +
 .../java/org/apache/calcite/tools/Frameworks.java  | 105 ++-
 .../org/apache/calcite/tools/PigRelBuilder.java    |   3 +-
 .../java/org/apache/calcite/tools/Planner.java     |  17 +-
 .../java/org/apache/calcite/tools/RelBuilder.java  | 538 ++++++++---
 .../calcite/util/BarfingInvocationHandler.java     |   6 +-
 .../java/org/apache/calcite/util/Benchmark.java    |   2 +-
 .../src/main/java/org/apache/calcite/util/Bug.java |  12 +-
 .../org/apache/calcite/util/BuiltInMethod.java     |  60 +-
 .../calcite/util/CaseInsensitiveComparator.java    |  78 ++
 .../java/org/apache/calcite/util/Compatible.java   | 131 ---
 .../org/apache/calcite/util/CompatibleGuava11.java | 499 -----------
 .../org/apache/calcite/util/CompositeList.java     |   2 +-
 .../java/org/apache/calcite/util/CompositeMap.java |   9 +-
 .../calcite/util/CompoundClosableAllocation.java   |   2 +-
 .../calcite/util/DelegatingInvocationHandler.java  |   4 +-
 .../org/apache/calcite/util/EquivalenceSet.java    | 142 +++
 .../main/java/org/apache/calcite/util/Holder.java  |   2 +-
 .../apache/calcite/util/ImmutableNullableList.java |   8 +-
 .../java/org/apache/calcite/util/JsonBuilder.java  |   4 +-
 .../main/java/org/apache/calcite/util/NameMap.java |  33 +-
 .../java/org/apache/calcite/util/NameMultimap.java |  72 +-
 .../main/java/org/apache/calcite/util/NameSet.java |  71 +-
 .../java/org/apache/calcite/util/NlsString.java    | 155 +++-
 .../calcite/util/{Holder.java => Optionality.java} |  46 +-
 .../java/org/apache/calcite/util/Permutation.java  |   1 +
 .../java/org/apache/calcite/util/ReflectUtil.java  |   2 +-
 .../{Demo.java => util/SourceStringReader.java}    |  39 +-
 .../main/java/org/apache/calcite/util/Sources.java |  65 +-
 .../main/java/org/apache/calcite/util/Static.java  |   1 -
 .../apache/calcite/util/UnmodifiableArrayList.java |   2 +-
 .../main/java/org/apache/calcite/util/Util.java    |  36 +-
 .../java/org/apache/calcite/util/XmlOutput.java    |   6 +-
 .../util/graph/AttributedDirectedGraph.java        | 113 +++
 .../calcite/util/graph/BreadthFirstIterator.java   |   8 +-
 .../apache/calcite/util/graph/CycleDetector.java   |   2 +-
 .../calcite/util/graph/DefaultDirectedGraph.java   |  55 +-
 .../org/apache/calcite/util/graph/DefaultEdge.java |   6 +-
 .../calcite/util/graph/DepthFirstIterator.java     |   2 +-
 .../java/org/apache/calcite/util/graph/Graphs.java |   2 +-
 .../util/graph/TopologicalOrderIterator.java       |   6 +-
 .../apache/calcite/util/javac/JaninoCompiler.java  |   9 +-
 .../calcite/util/javac/JavaCompilerArgs.java       |   6 +-
 .../org/apache/calcite/util/mapping/IntPair.java   |  53 ++
 .../org/apache/calcite/util/mapping/Mappings.java  |  10 +-
 .../calcite/runtime/CalciteResource.properties     |  36 +-
 core/src/test/codegen/config.fmpp                  | 301 +++++++
 .../calcite/adapter/clone/ArrayTableTest.java      |   2 +-
 .../calcite/materialize/LatticeSuggesterTest.java  | 626 +++++++++++++
 .../java/org/apache/calcite/plan/RelTraitTest.java |  62 ++
 .../org/apache/calcite/plan/RelWriterTest.java     |   5 +-
 .../calcite/plan/volcano/TraitPropagationTest.java |   3 +-
 .../calcite/plan/volcano/VolcanoPlannerTest.java   |  44 +-
 .../org/apache/calcite/profile/ProfilerTest.java   | 328 +++----
 .../rel/rel2sql/RelToSqlConverterStructsTest.java  | 207 +++++
 .../calcite/rel/rel2sql/RelToSqlConverterTest.java | 451 +++++++++-
 .../org/apache/calcite/rex/RexBuilderTest.java     |  74 ++
 .../apache/calcite/sql/parser/SqlParserTest.java   | 461 ++++++++--
 .../apache/calcite/sql/parser/SqlUnParserTest.java |   4 +
 .../{SqlTesterImpl.java => AbstractSqlTester.java} |  92 +-
 .../calcite/sql/test/DefaultSqlTestFactory.java    | 159 ----
 .../calcite/sql/test/DelegatingSqlTestFactory.java |  73 --
 .../apache/calcite/sql/test/SqlAdvisorTest.java    | 476 ++++++++--
 .../calcite/sql/test/SqlOperatorBaseTest.java      | 842 ++++++++++++++----
 .../apache/calcite/sql/test/SqlRuntimeTester.java  |  88 ++
 .../apache/calcite/sql/test/SqlTestFactory.java    | 195 +++-
 .../org/apache/calcite/sql/test/SqlTester.java     |  18 +
 .../java/org/apache/calcite/sql/test/SqlTests.java | 264 +++++-
 .../calcite/sql/test/SqlValidatorTester.java}      |  21 +-
 .../calcite/sql/validate/SqlValidatorUtilTest.java |   9 +-
 .../org/apache/calcite/test/BookstoreSchema.java   | 145 +++
 .../org/apache/calcite/test/CalciteAssert.java     | 188 +++-
 .../java/org/apache/calcite/test/CalciteSuite.java |  13 +
 .../org/apache/calcite/test/CoreQuidemTest.java    |   6 +-
 .../org/apache/calcite/test/DiffRepository.java    |   5 +-
 .../java/org/apache/calcite/test/DiffTestCase.java |   2 +-
 .../org/apache/calcite/test/FoodMartQuerySet.java  |  85 ++
 .../java/org/apache/calcite/test/FoodmartTest.java |  69 +-
 .../org/apache/calcite/test/HepPlannerTest.java    | 101 +--
 .../org/apache/calcite/test/JdbcAdapterTest.java   |  12 +-
 .../apache/calcite/test/JdbcFrontLinqBackTest.java |   4 +-
 .../java/org/apache/calcite/test/JdbcTest.java     | 266 ++++--
 .../java/org/apache/calcite/test/LatticeTest.java  | 139 ++-
 .../java/org/apache/calcite/test/Matchers.java     |   5 +
 .../apache/calcite/test/MaterializationTest.java   |  37 +-
 .../java/org/apache/calcite/test/ModelTest.java    |  30 +-
 .../java/org/apache/calcite/test/QuidemTest.java   |  49 +-
 .../apache/calcite/test/ReflectiveSchemaTest.java  | 106 ++-
 .../org/apache/calcite/test/RelBuilderTest.java    | 353 ++++++--
 .../org/apache/calcite/test/RelMetadataTest.java   | 112 ++-
 .../org/apache/calcite/test/RelOptRulesTest.java   | 182 +++-
 .../org/apache/calcite/test/RelOptTestBase.java    |   4 +-
 .../calcite/test/RexImplicationCheckerTest.java    |  55 +-
 .../apache/calcite/test/RexProgramBuilderBase.java | 574 ++++++++++++
 .../org/apache/calcite/test/RexProgramTest.java    | 901 +++++++++++++------
 .../apache/calcite/test/ScannableTableTest.java    |   2 +-
 .../apache/calcite/test/SqlAdvisorJdbcTest.java    | 172 ++++
 .../org/apache/calcite/test/SqlFunctionsTest.java  |  17 +-
 .../apache/calcite/test/SqlJsonFunctionsTest.java  | 775 ++++++++++++++++
 .../java/org/apache/calcite/test/SqlLineTest.java  |   1 -
 .../java/org/apache/calcite/test/SqlTestGen.java   |  22 +-
 .../apache/calcite/test/SqlToRelConverterTest.java | 155 +++-
 .../org/apache/calcite/test/SqlToRelTestBase.java  |  61 +-
 .../calcite/test/SqlValidatorDynamicTest.java      | 150 ++++
 .../calcite/test/SqlValidatorFeatureTest.java      |  30 +-
 .../org/apache/calcite/test/SqlValidatorTest.java  | 250 +++++-
 .../apache/calcite/test/SqlValidatorTestCase.java  | 251 +-----
 .../java/org/apache/calcite/test/StreamTest.java   |  31 +-
 .../test/java/org/apache/calcite/test/UdfTest.java |   4 +-
 .../test/java/org/apache/calcite/test/WithLex.java |  25 +-
 .../catalog/CompoundNameColumn.java}               |  29 +-
 .../test/catalog/CompoundNameColumnResolver.java   | 150 ++++
 .../calcite/test/catalog/CountingFactory.java      |  82 ++
 .../catalog/EmpInitializerExpressionFactory.java   |  64 ++
 .../org/apache/calcite/test/catalog/Fixture.java   | 125 +++
 .../test/{ => catalog}/MockCatalogReader.java      | 763 +---------------
 .../test/catalog/MockCatalogReaderDynamic.java     |  74 ++
 .../test/catalog/MockCatalogReaderExtended.java    | 120 +++
 .../test/catalog/MockCatalogReaderSimple.java      | 408 +++++++++
 .../concurrent/ConcurrentTestCommandGenerator.java |   6 +-
 .../concurrent/ConcurrentTestCommandScript.java    |   2 +-
 .../test/enumerable/EnumerableCorrelateTest.java   |  44 +
 .../org/apache/calcite/test/fuzzer/RexFuzzer.java  | 253 ++++++
 .../calcite/test/fuzzer/RexProgramFuzzyTest.java   | 424 +++++++++
 .../calcite/test/fuzzer/RexToTestCodeShuttle.java  | 149 ++++
 .../apache/calcite/test/fuzzer/SimplifyTask.java}  |  37 +-
 .../java/org/apache/calcite/tools/PlannerTest.java |  52 +-
 .../calcite/util/PartiallyOrderedSetTest.java      |   3 +
 .../test/java/org/apache/calcite/util/Smalls.java  |   7 +
 .../java/org/apache/calcite/util/SourceTest.java   |  97 +-
 .../java/org/apache/calcite/util/TestUtil.java     |  44 +-
 .../java/org/apache/calcite/util/TestUtilTest.java |  94 ++
 .../java/org/apache/calcite/util/UtilTest.java     | 279 +++++-
 .../calcite/util/graph/DirectedGraphTest.java      |  70 ++
 .../test/kotlin/org/apache/calcite/TestKtTest.kt   |  24 +-
 .../src/test/resources/empty-model.yaml            |  25 +-
 .../hsqldb-foodmart-auto-lattice-model.json        |  24 +-
 core/src/test/resources/log4j.properties           |   5 +
 .../org/apache/calcite/test/HepPlannerTest.xml     |   5 +-
 .../org/apache/calcite/test/RelOptRulesTest.xml    | 810 +++++++++--------
 .../apache/calcite/test/SqlToRelConverterTest.xml  | 932 +++++++++++--------
 core/src/test/resources/sql/agg.iq                 | 269 +++++-
 core/src/test/resources/sql/blank.iq               |  13 +-
 core/src/test/resources/sql/conditions.iq          |  25 +
 core/src/test/resources/sql/misc.iq                |  52 +-
 core/src/test/resources/sql/spatial.iq             |   3 +-
 core/src/test/resources/sql/sub-query.iq           | 197 ++--
 core/src/test/resources/sql/winagg.iq              | 206 ++++-
 druid/pom.xml                                      |   5 +-
 .../adapter/druid/CeilOperatorConversion.java      |   1 -
 .../calcite/adapter/druid/DruidConnectionImpl.java |  10 +-
 .../calcite/adapter/druid/DruidDateTimeUtils.java  |   1 -
 .../apache/calcite/adapter/druid/DruidQuery.java   |   1 -
 .../apache/calcite/adapter/druid/DruidRules.java   |  26 +-
 .../apache/calcite/adapter/druid/DruidSchema.java  |   4 +-
 .../adapter/druid/DruidSqlCastConverter.java       |   2 +-
 .../apache/calcite/adapter/druid/DruidTable.java   |   2 +-
 .../calcite/adapter/druid/DruidTableFactory.java   |   2 +-
 .../adapter/druid/ExtractionDimensionSpec.java     |   1 -
 .../adapter/druid/FloorOperatorConversion.java     |   1 -
 .../adapter/druid/NaryOperatorConverter.java       |   1 -
 .../adapter/druid/TimeExtractionFunction.java      |   2 -
 .../adapter/druid/DruidQueryFilterTest.java        |   3 +-
 .../org/apache/calcite/test/DruidAdapterIT.java    |  39 +-
 .../org/apache/calcite/test/DruidAdapterIT2.java   |  21 +-
 elasticsearch/pom.xml                              |  25 +-
 .../elasticsearch/AbstractElasticsearchTable.java  | 150 ----
 .../elasticsearch/ElasticsearchAggregate.java      | 170 ++++
 .../elasticsearch/ElasticsearchConstants.java      |   9 -
 .../elasticsearch/ElasticsearchEnumerators.java    |  58 +-
 .../adapter/elasticsearch/ElasticsearchFilter.java |  19 +-
 .../adapter/elasticsearch/ElasticsearchJson.java   | 700 +++++++++++++++
 .../elasticsearch/ElasticsearchMapping.java        | 188 ++++
 .../adapter/elasticsearch/ElasticsearchMethod.java |  12 +-
 .../elasticsearch/ElasticsearchProject.java        |   8 +-
 .../adapter/elasticsearch/ElasticsearchRel.java    |  66 +-
 .../adapter/elasticsearch/ElasticsearchRules.java  |  40 +-
 .../adapter/elasticsearch/ElasticsearchSchema.java |  52 +-
 .../adapter/elasticsearch/ElasticsearchSort.java   |  41 +-
 .../adapter/elasticsearch/ElasticsearchTable.java  | 374 ++++++--
 .../elasticsearch/ElasticsearchTableScan.java      |   6 +-
 .../ElasticsearchToEnumerableConverter.java        |  46 +-
 .../elasticsearch/ElasticsearchTransport.java      | 302 +++++++
 .../adapter/elasticsearch/PredicateAnalyzer.java   |  64 +-
 .../adapter/elasticsearch/QueryBuilders.java       | 106 ++-
 .../calcite/adapter/elasticsearch/Scrolling.java   | 175 ++++
 .../adapter/elasticsearch/AggregationTest.java     | 304 +++++++
 .../adapter/elasticsearch/BooleanLogicTest.java    |  39 +-
 .../elasticsearch/ElasticSearchAdapterTest.java    | 421 +++++++--
 .../elasticsearch/ElasticsearchJsonTest.java       | 183 ++++
 .../elasticsearch/EmbeddedElasticsearchPolicy.java |  51 +-
 .../{ProjectionTest.java => Projection2Test.java}  |  39 +-
 .../adapter/elasticsearch/ProjectionTest.java      |  37 +-
 .../adapter/elasticsearch/QueryBuildersTest.java   |  63 ++
 .../adapter/elasticsearch/ScrollingTest.java       | 124 +++
 .../apache/calcite/test/ElasticsearchChecker.java  |  90 +-
 elasticsearch/src/test/resources/log4j2.xml        |   1 +
 example/csv/pom.xml                                |   9 +-
 .../apache/calcite/adapter/csv/CsvEnumerator.java  |  14 +-
 .../calcite/adapter/csv/CsvFilterableTable.java    |   8 +-
 .../test/java/org/apache/calcite/test/CsvTest.java |  33 +-
 .../csv/src/test/resources/bug.yaml                |  29 +-
 .../csv/src/test/resources/filterable-model.yaml   |  34 +-
 .../csv/src/test/resources/model-stream-table.yaml |  34 +-
 .../test/resources/model-with-custom-table.yaml    |  32 +-
 .../csv/src/test/resources/model-with-view.yaml    |  35 +-
 .../csv/src/test/resources/model.yaml              |  31 +-
 .../csv/src/test/resources/order-stream-table.yaml |  38 +-
 .../csv/src/test/resources/smart.yaml              |  52 +-
 example/function/pom.xml                           |   4 +-
 .../function/src/test/resources/model.yaml         |  35 +-
 example/pom.xml                                    |   4 +-
 file/pom.xml                                       |   4 +-
 .../apache/calcite/adapter/file/FileReader.java    |   3 +-
 .../calcite/adapter/file/FileReaderTest.java       |  14 +-
 .../org/apache/calcite/adapter/file/FileSuite.java |   1 -
 geode/pom.xml                                      |  15 +-
 .../calcite/adapter/geode/rel/GeodeAggregate.java  |  17 +-
 .../calcite/adapter/geode/rel/GeodeFilter.java     | 174 +++-
 .../calcite/adapter/geode/rel/GeodeProject.java    |   5 +-
 .../apache/calcite/adapter/geode/rel/GeodeRel.java |   8 +-
 .../calcite/adapter/geode/rel/GeodeRules.java      |   7 +-
 .../calcite/adapter/geode/rel/GeodeSchema.java     |  47 +-
 .../adapter/geode/rel/GeodeSchemaFactory.java      |   5 +-
 .../calcite/adapter/geode/rel/GeodeSort.java       |  11 +-
 .../calcite/adapter/geode/rel/GeodeTable.java      |  68 +-
 .../calcite/adapter/geode/rel/GeodeTableScan.java  |   2 +-
 .../geode/rel/GeodeToEnumerableConverter.java      |  13 +-
 .../adapter/geode/simple/GeodeSimpleSchema.java    |   9 +-
 .../calcite/adapter/geode/util/GeodeUtils.java     |  61 +-
 .../adapter/geode/rel/AbstractGeodeTest.java       |  29 +-
 .../adapter/geode/rel/BaseGeodeAdapterIT.java      | 164 ----
 .../adapter/geode/rel/GeodeAdapterBookshopIT.java  | 468 ----------
 .../calcite/adapter/geode/rel/GeodeAdapterIT.java  |  99 ---
 .../adapter/geode/rel/GeodeAllDataTypesTest.java   | 312 +++++++
 .../calcite/adapter/geode/rel/GeodeAssertions.java |  35 +-
 .../adapter/geode/rel/GeodeBookstoreTest.java      | 535 +++++++++++
 .../adapter/geode/rel/GeodeEmbeddedPolicy.java     | 150 ++++
 .../calcite/adapter/geode/rel/GeodeZipsIT.java     | 199 -----
 .../calcite/adapter/geode/rel/GeodeZipsTest.java   | 297 +++++++
 .../calcite/adapter/geode/rel/JsonLoader.java      | 102 +++
 geode/src/test/resources/book_customer.json        |   3 +
 geode/src/test/resources/book_master.json          |   3 +
 .../src/test/resources/log4j.properties            |   2 +
 geode/src/test/resources/model-bookshop-all.json   |  35 -
 geode/src/test/resources/model-bookshop.json       |  35 -
 .../test/resources/model-geode-pg-federation.json  |  54 --
 geode/src/test/resources/model-with-classes.json   |  39 -
 geode/src/test/resources/model-zips.json           |  47 -
 geode/src/test/resources/model.json                |  35 -
 geode/src/test/resources/model2.json               |  35 -
 .../src/test/resources/zips-mini.json              |   0
 linq4j/pom.xml                                     |   4 +-
 .../apache/calcite/linq4j/AbstractEnumerable2.java |   2 +-
 .../apache/calcite/linq4j/DefaultEnumerable.java   |   5 +-
 .../apache/calcite/linq4j/EnumerableDefaults.java  |  51 +-
 .../java/org/apache/calcite/linq4j/Linq4j.java     |   7 +-
 .../java/org/apache/calcite/linq4j/LookupImpl.java |   4 +-
 .../apache/calcite/linq4j/QueryProviderImpl.java   |   4 +-
 .../apache/calcite/linq4j/QueryableDefaults.java   |   6 +-
 .../apache/calcite/linq4j/tree/BlockBuilder.java   |  36 +-
 .../linq4j/tree/ClassDeclarationFinder.java        |  11 +-
 .../org/apache/calcite/linq4j/tree/Evaluator.java  |   5 +-
 .../calcite/linq4j/tree/ExpressionWriter.java      |   3 +-
 .../apache/calcite/linq4j/tree/Expressions.java    |  31 +-
 .../calcite/linq4j/tree/FunctionExpression.java    |  10 +-
 .../calcite/linq4j/tree/MethodCallExpression.java  |   2 +-
 .../calcite/linq4j/tree/OptimizeShuttle.java       |   4 +-
 .../org/apache/calcite/linq4j/tree/Primitive.java  |   8 +-
 .../java/org/apache/calcite/linq4j/tree/Types.java |   4 +-
 .../calcite/linq4j/test/BlockBuilderTest.java      |  95 ++
 .../apache/calcite/linq4j/test/ExpressionTest.java |   3 +-
 .../org/apache/calcite/linq4j/test/Linq4jTest.java |   5 +-
 .../apache/calcite/linq4j/test/PrimitiveTest.java  |  18 +-
 mongodb/pom.xml                                    |   9 +-
 .../calcite/adapter/mongodb/MongoAggregate.java    |   6 +-
 .../calcite/adapter/mongodb/MongoFilter.java       |   4 +-
 .../calcite/adapter/mongodb/MongoProject.java      |   2 +-
 .../apache/calcite/adapter/mongodb/MongoRel.java   |   3 +-
 .../apache/calcite/adapter/mongodb/MongoRules.java |   4 +-
 .../apache/calcite/adapter/mongodb/MongoSort.java  |   2 +-
 .../calcite/adapter/mongodb/MongoAdapterTest.java  |  10 +-
 mvnw                                               | 286 ++++++
 mvnw.cmd                                           | 161 ++++
 pig/pom.xml                                        |   4 +-
 .../org/apache/calcite/adapter/pig/PigJoin.java    |   3 +-
 .../org/apache/calcite/test/AbstractPigTest.java   |   9 +-
 .../org/apache/calcite/test/PigAdapterTest.java    |  16 +-
 {core => pig}/src/test/resources/log4j.properties  |   4 +
 piglet/pom.xml                                     |   4 +-
 .../org/apache/calcite/test/CalciteHandler.java    |   2 +-
 plus/pom.xml                                       |  13 +-
 .../org/apache/calcite/adapter/os/SqlShell.java    |   2 +-
 .../calcite/adapter/os/VmstatTableFunction.java    |   2 +-
 .../apache/calcite/adapter/tpcds/TpcdsSchema.java  |   1 -
 .../calcite/chinook/CalciteConnectionProvider.java |   6 +-
 .../calcite/chinook/ChinookAvaticaServer.java      | 108 +++
 .../org/apache/calcite/chinook/CodesFunction.java  |  66 ++
 .../apache/calcite/chinook/ConnectionFactory.java  |   4 +-
 plus/src/main/resources/chinook/chinook.json       |  45 +-
 .../apache/calcite/adapter/os/OsAdapterTest.java   |  28 +-
 .../RemotePreparedStatementParametersTest.java     |  76 ++
 .../materialize/TpcdsLatticeSuggesterTest.java     | 206 +++++
 .../java/org/apache/calcite/test/PlusSuite.java    |   4 +-
 plus/src/test/resources/sql/cross-join-lateral.iq  |  55 ++
 pom.xml                                            | 263 ++++--
 server/pom.xml                                     |  59 +-
 server/src/main/codegen/config.fmpp                | 313 +++++++
 server/src/main/codegen/includes/parserImpls.ftl   |  59 ++
 .../apache/calcite/sql/ddl/SqlCreateFunction.java  |  97 ++
 .../org/apache/calcite/sql/ddl/SqlDdlNodes.java    |  21 +
 .../apache/calcite/sql/ddl/SqlDropFunction.java    |  36 +-
 .../org/apache/calcite/sql/ddl/SqlDropObject.java  |   1 +
 .../org/apache/calcite/test/ServerParserTest.java  |  35 +
 .../java/org/apache/calcite/test/ServerTest.java   |   2 +-
 .../apache/calcite/test/ServerUnParserTest.java    |  14 +-
 server/src/test/resources/sql/table.iq             |   2 +-
 server/src/test/resources/sql/type.iq              |  22 +
 site/_data/contributors.yml                        |   2 +-
 site/_data/docs.yml                                |   1 +
 site/_docs/adapter.md                              | 117 ++-
 site/_docs/algebra.md                              |  39 +-
 site/_docs/history.md                              | 473 +++++++++-
 site/_docs/howto.md                                |  79 +-
 site/_docs/lattice.md                              | 232 ++++-
 site/_docs/materialized_views.md                   |  40 +-
 site/_docs/model.md                                | 186 +++-
 site/_docs/powered_by.md                           |   4 +-
 site/_docs/reference.md                            | 125 ++-
 site/_docs/tutorial.md                             |   4 +-
 site/downloads/index.md                            |  46 +-
 site/img/powered-by.png                            | Bin 101285 -> 109350 bytes
 spark/pom.xml                                      |   4 +-
 .../adapter/spark/JdbcToSparkConverter.java        |   2 +-
 .../calcite/adapter/spark/SparkHandlerImpl.java    |   7 +-
 .../apache/calcite/adapter/spark/SparkMethod.java  |   3 +-
 .../apache/calcite/adapter/spark/SparkRules.java   |  10 +-
 .../adapter/spark/SparkToEnumerableConverter.java  |   5 +
 .../src/test/resources/log4j.properties            |   3 +
 splunk/pom.xml                                     |   4 +-
 .../calcite/adapter/splunk/SplunkPushDownRule.java |   8 +-
 .../apache/calcite/adapter/splunk/SplunkQuery.java |   2 +-
 .../apache/calcite/adapter/splunk/SplunkTable.java |   4 +-
 .../splunk/search/SplunkConnectionImpl.java        |   8 +-
 .../calcite/adapter/splunk/util/StringUtils.java   |   4 +-
 src/main/config/checkstyle/checker.xml             |  11 +-
 .../checkstyle/{header.txt => header.java.txt}     |   0
 .../main/config/checkstyle/header.properties.txt   |  21 -
 .../main/config/checkstyle/header.xml.txt          |  10 +-
 src/main/config/checkstyle/suppressions.xml        |   6 +-
 src/main/config/forbidden-apis/signatures.txt      |   3 +
 ubenchmark/pom.xml                                 |   9 +-
 636 files changed, 35466 insertions(+), 10804 deletions(-)
 copy .gitignore => .mvn/wrapper/maven-wrapper.properties (79%)
 mode change 100644 => 100755
 copy .travis.yml => appveyor.yml (50%)
 rename cassandra/src/test/java/org/apache/calcite/test/{CassandraAdapterIT.java => CassandraAdapterTest.java} (57%)
 create mode 100644 cassandra/src/test/resources/cassandra.yaml
 copy elasticsearch/src/test/resources/log4j2.xml => cassandra/src/test/resources/logback-test.xml (69%)
 create mode 100644 cassandra/src/test/resources/twissandra.cql
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => adapter/Java9Workaround.java} (77%)
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/AggregateLambdaFactory.java
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/OrderedAggregateLambdaFactory.java
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/SequencedAdderAggregateLambdaFactory.java
 create mode 100644 core/src/main/java/org/apache/calcite/adapter/enumerable/SourceSorter.java
 copy core/src/main/java/org/apache/calcite/{Demo.java => materialize/LatticeChildNode.java} (51%)
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/LatticeNode.java
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/LatticeRootNode.java
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/LatticeSpace.java
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/LatticeSuggester.java
 copy core/src/main/java/org/apache/calcite/{util/graph/DefaultEdge.java => materialize/LatticeTable.java} (50%)
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/MapSqlStatisticProvider.java
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/MutableNode.java
 copy core/src/main/java/org/apache/calcite/{util/graph/DefaultEdge.java => materialize/Path.java} (60%)
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => materialize/SqlStatisticProvider.java} (68%)
 create mode 100644 core/src/main/java/org/apache/calcite/materialize/Step.java
 create mode 100644 core/src/main/java/org/apache/calcite/plan/ViewExpanders.java
 create mode 100644 core/src/main/java/org/apache/calcite/rel/logical/LogicalSortExchange.java
 create mode 100644 core/src/main/java/org/apache/calcite/rex/RexUnknownAs.java
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => sql/SqlJsonConstructorNullClause.java} (70%)
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => sql/SqlJsonEmptyOrError.java} (68%)
 copy core/src/main/java/org/apache/calcite/{Demo.java => sql/SqlJsonEncoding.java} (63%)
 copy src/main/config/checkstyle/header.txt => core/src/main/java/org/apache/calcite/sql/SqlJsonExistsErrorBehavior.java (79%)
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => sql/SqlJsonQueryEmptyOrErrorBehavior.java} (67%)
 copy core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => sql/SqlJsonQueryWrapperBehavior.java} (77%)
 rename core/src/main/java/org/apache/calcite/{rel/jdbc/package-info.java => sql/SqlJsonValueEmptyOrErrorBehavior.java} (68%)
 create mode 100644 core/src/main/java/org/apache/calcite/sql/SqlWithinGroupOperator.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/advise/SqlAdvisorGetHintsFunction2.java
 copy core/src/main/java/org/apache/calcite/{Demo.java => sql/advise/SqlAdvisorHint2.java} (57%)
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonApiCommonSyntaxOperator.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonArrayAggAggFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonArrayFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonExistsFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonObjectAggAggFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonObjectFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonQueryFunction.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonValueExpressionOperator.java
 create mode 100644 core/src/main/java/org/apache/calcite/sql/fun/SqlJsonValueFunction.java
 copy core/src/main/java/org/apache/calcite/sql/fun/{SqlNtileAggFunction.java => SqlRegrCountAggFunction.java} (61%)
 create mode 100644 core/src/main/java/org/apache/calcite/util/CaseInsensitiveComparator.java
 delete mode 100644 core/src/main/java/org/apache/calcite/util/Compatible.java
 delete mode 100644 core/src/main/java/org/apache/calcite/util/CompatibleGuava11.java
 create mode 100644 core/src/main/java/org/apache/calcite/util/EquivalenceSet.java
 copy core/src/main/java/org/apache/calcite/util/{Holder.java => Optionality.java} (53%)
 copy core/src/main/java/org/apache/calcite/{Demo.java => util/SourceStringReader.java} (56%)
 create mode 100644 core/src/main/java/org/apache/calcite/util/graph/AttributedDirectedGraph.java
 create mode 100644 core/src/test/java/org/apache/calcite/materialize/LatticeSuggesterTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/plan/RelTraitTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterStructsTest.java
 rename core/src/test/java/org/apache/calcite/sql/test/{SqlTesterImpl.java => AbstractSqlTester.java} (92%)
 delete mode 100644 core/src/test/java/org/apache/calcite/sql/test/DefaultSqlTestFactory.java
 delete mode 100644 core/src/test/java/org/apache/calcite/sql/test/DelegatingSqlTestFactory.java
 create mode 100644 core/src/test/java/org/apache/calcite/sql/test/SqlRuntimeTester.java
 copy core/src/{main/java/org/apache/calcite/plan/RelImplementor.java => test/java/org/apache/calcite/sql/test/SqlValidatorTester.java} (66%)
 create mode 100644 core/src/test/java/org/apache/calcite/test/BookstoreSchema.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/FoodMartQuerySet.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/RexProgramBuilderBase.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/SqlAdvisorJdbcTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/SqlJsonFunctionsTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/SqlValidatorDynamicTest.java
 copy pig/src/test/java/org/apache/calcite/test/AbstractPigTest.java => core/src/test/java/org/apache/calcite/test/WithLex.java (65%)
 copy core/src/test/java/org/apache/calcite/{sql/parser/SqlUnParserTest.java => test/catalog/CompoundNameColumn.java} (60%)
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/CompoundNameColumnResolver.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/CountingFactory.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/EmpInitializerExpressionFactory.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/Fixture.java
 rename core/src/test/java/org/apache/calcite/test/{ => catalog}/MockCatalogReader.java (51%)
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/MockCatalogReaderDynamic.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/MockCatalogReaderExtended.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/catalog/MockCatalogReaderSimple.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/fuzzer/RexFuzzer.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/fuzzer/RexProgramFuzzyTest.java
 create mode 100644 core/src/test/java/org/apache/calcite/test/fuzzer/RexToTestCodeShuttle.java
 copy core/src/{main/java/org/apache/calcite/Demo.java => test/java/org/apache/calcite/test/fuzzer/SimplifyTask.java} (51%)
 create mode 100644 core/src/test/java/org/apache/calcite/util/TestUtilTest.java
 copy cassandra/src/test/resources/model.json => core/src/test/kotlin/org/apache/calcite/TestKtTest.kt (69%)
 copy .gitignore => core/src/test/resources/empty-model.yaml (79%)
 copy cassandra/src/test/resources/model.json => core/src/test/resources/hsqldb-foodmart-auto-lattice-model.json (74%)
 delete mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/AbstractElasticsearchTable.java
 create mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchAggregate.java
 create mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchJson.java
 create mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchMapping.java
 create mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchTransport.java
 create mode 100644 elasticsearch/src/main/java/org/apache/calcite/adapter/elasticsearch/Scrolling.java
 create mode 100644 elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/AggregationTest.java
 create mode 100644 elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ElasticsearchJsonTest.java
 copy elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/{ProjectionTest.java => Projection2Test.java} (70%)
 create mode 100644 elasticsearch/src/test/java/org/apache/calcite/adapter/elasticsearch/ScrollingTest.java
 copy .gitignore => example/csv/src/test/resources/bug.yaml (79%)
 copy .gitignore => example/csv/src/test/resources/filterable-model.yaml (67%)
 copy .gitignore => example/csv/src/test/resources/model-stream-table.yaml (74%)
 copy .gitignore => example/csv/src/test/resources/model-with-custom-table.yaml (76%)
 copy .gitignore => example/csv/src/test/resources/model-with-view.yaml (71%)
 copy .gitignore => example/csv/src/test/resources/model.yaml (78%)
 copy .gitignore => example/csv/src/test/resources/order-stream-table.yaml (66%)
 copy site/_data/docs.yml => example/csv/src/test/resources/smart.yaml (55%)
 copy .gitignore => example/function/src/test/resources/model.yaml (68%)
 copy core/src/main/java/org/apache/calcite/Demo.java => geode/src/test/java/org/apache/calcite/adapter/geode/rel/AbstractGeodeTest.java (64%)
 delete mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/BaseGeodeAdapterIT.java
 delete mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeAdapterBookshopIT.java
 delete mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeAdapterIT.java
 create mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeAllDataTypesTest.java
 copy core/src/main/java/org/apache/calcite/Demo.java => geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeAssertions.java (60%)
 create mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeBookstoreTest.java
 create mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeEmbeddedPolicy.java
 delete mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeZipsIT.java
 create mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/GeodeZipsTest.java
 create mode 100644 geode/src/test/java/org/apache/calcite/adapter/geode/rel/JsonLoader.java
 create mode 100644 geode/src/test/resources/book_customer.json
 create mode 100644 geode/src/test/resources/book_master.json
 copy {core => geode}/src/test/resources/log4j.properties (95%)
 delete mode 100644 geode/src/test/resources/model-bookshop-all.json
 delete mode 100644 geode/src/test/resources/model-bookshop.json
 delete mode 100644 geode/src/test/resources/model-geode-pg-federation.json
 delete mode 100644 geode/src/test/resources/model-with-classes.json
 delete mode 100644 geode/src/test/resources/model-zips.json
 delete mode 100644 geode/src/test/resources/model.json
 delete mode 100644 geode/src/test/resources/model2.json
 copy {mongodb => geode}/src/test/resources/zips-mini.json (100%)
 create mode 100755 mvnw
 create mode 100755 mvnw.cmd
 copy {core => pig}/src/test/resources/log4j.properties (91%)
 create mode 100644 plus/src/main/java/org/apache/calcite/chinook/ChinookAvaticaServer.java
 create mode 100644 plus/src/main/java/org/apache/calcite/chinook/CodesFunction.java
 create mode 100644 plus/src/test/java/org/apache/calcite/chinook/RemotePreparedStatementParametersTest.java
 create mode 100644 plus/src/test/java/org/apache/calcite/materialize/TpcdsLatticeSuggesterTest.java
 create mode 100644 plus/src/test/resources/sql/cross-join-lateral.iq
 create mode 100644 server/src/main/java/org/apache/calcite/sql/ddl/SqlCreateFunction.java
 copy core/src/main/java/org/apache/calcite/sql/fun/SqlNtileAggFunction.java => server/src/main/java/org/apache/calcite/sql/ddl/SqlDropFunction.java (55%)
 copy core/src/test/java/org/apache/calcite/sql/parser/SqlUnParserTest.java => server/src/test/java/org/apache/calcite/test/ServerUnParserTest.java (78%)
 copy {core => spark}/src/test/resources/log4j.properties (93%)
 rename src/main/config/checkstyle/{header.txt => header.java.txt} (100%)
 copy .gitignore => src/main/config/checkstyle/header.properties.txt (78%)
 copy README.md => src/main/config/checkstyle/header.xml.txt (72%)