Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
562 commits
Select commit Hold shift + click to select a range
58ef67f
[CALCITE-4353] Validator fails to expand order expression with dot op…
mihaibudiu Jun 9, 2026
352e154
[CALCITE-7598] Query with HAVING empno BETWEEN NULL AND NULL crashes …
mihaibudiu Jun 10, 2026
2f99797
[CALCITE-7493] Support constant-result aggregates (e.g., STDDEV_POP, …
xuzifu666 May 24, 2026
48a0c99
[CALCITE-7584] RelDecorrelator produces incorrect results for correla…
iwanttobepowerful Jun 10, 2026
1471f0a
[CALCITE-7550] SqlUpdate and SqlDelete unparse EXISTS subqueries with…
zzwqqq May 26, 2026
4640b5f
[CALCITE-7600] Quote PARSE_URL key before building the query regex
alhudz Jun 10, 2026
1891bd9
[CALCITE-7596] TopDownGeneralDecorrelator omits rewriting the ORDER B…
silundong Jun 11, 2026
fd612a9
[CALCITE-7510] EnumerableTableModify: advanced UPDATE, DELETE and INSERT
wasabii May 7, 2026
7df801d
[CALCITE-7364] Support the syntax ROW(T.* EXCLUDE cols) for creating …
mihaibudiu Jun 10, 2026
a4f1ae1
[CALCITE-7587] RelDecorrelator fails on correlated scalar subquery wi…
iwanttobepowerful Jun 12, 2026
0a4f720
[CALCITE-5929] Improve LogicalWindow print plan to add the constant v…
xuzifu666 Jun 11, 2026
84136b4
[CALCITE-7556] NameMultimap.remove(key, value) leaves an empty key bu…
mihaibudiu Jun 12, 2026
29430a3
[CALCITE-7585] SqlMerge unparse EXISTS predicates in ON clause withou…
zzwqqq Jun 13, 2026
d3f094f
[CALCITE-7603] Support ROW constructors that name fields
mihaibudiu Jun 13, 2026
11141c7
[CALCITE-7606] ROW field names should be used to infer column names
mihaibudiu Jun 16, 2026
d49a02a
[CALCITE-7602] ROW(*) loses column names
mihaibudiu Jun 15, 2026
267ab15
[CALCITE-7594] Support GROUP BY ALL
tisyabhatia Jun 8, 2026
72f9c44
[CALCITE-7595] Support FILTER clause with window functions
xuzifu666 Jun 9, 2026
30f6b09
[CALCITE-2659] Inefficient plan In natural left/right join
mihaibudiu Jun 16, 2026
b214b39
Add test case for CALCITE-709
iwanttobepowerful Jun 6, 2026
8d2d54e
[CALCITE-7583] UNNEST with multiple array arguments returns wrong result
mihaibudiu Jun 17, 2026
aadfc7c
Revert "[CALCITE-7539] Upgrade Arrow adapter dependencies to 16.0.0"
caicancai Jun 19, 2026
87530b9
Revert "[CALCITE-7580] Remove Gandiva dependency from Arrow adapter"
caicancai Jun 19, 2026
d5a1914
[CALCITE-7580] Remove Gandiva dependency from Arrow adapter
caicancai Jun 19, 2026
c59ba22
[CALCITE-7589] `JOIN ... USING` might fail with disabled type coercion
snuyanzin Jun 5, 2026
746bd45
[CALCITE-7539] Upgrade Arrow adapter dependencies to 16.0.0
caicancai Jun 21, 2026
49783ad
[CALCITE-5406] Support the SELECT DISTINCT ON statement for PostgreSQ…
xuzifu666 May 11, 2026
f36a906
[CALCITE-7565] `TRIM` without `FROM` fails at parsing time
snuyanzin Jun 20, 2026
1557003
[CALCITE-7597] Support ORDER BY ALL
tisyabhatia Jun 22, 2026
d915787
[CALCITE-7614] UNNEST of an unqualified struct-rooted array path fail…
takaaki7 Jun 24, 2026
c6d0a6b
[CALCITE-7619] RexSimplify incorrectly simplifies IS_FALSE(x) when x …
mihaibudiu Jun 23, 2026
5b4b18b
[CALCITE-7604] Add rule to pull up GROUP BY above JOIN
zabetak Jun 15, 2026
c15f1ca
Bump nokogiri from 1.19.3 to 1.19.4 in /site
dependabot[bot] Jun 23, 2026
069dde7
Bump concurrent-ruby from 1.3.5 to 1.3.7 in /site
dependabot[bot] Jun 24, 2026
4a76f41
[CALCITE-7599] Enhance parser to allow numeric literals as values in …
chrisdennis Jun 10, 2026
65b3218
[CALCITE-7615] MAP_CONCAT does not accept NULL as an argument
xuzifu666 Jun 23, 2026
382ef42
[CALCITE-7616] ProjectToLogicalProjectAndWindowRule should only match…
libe8013 Jun 23, 2026
07d2f2a
[CALCITE-7620] Result of FILTER clause in window functions is incorrect
xuzifu666 Jun 23, 2026
2f7643b
[CALCITE-7623] SemiJoinProjectTransposeRule should support ANTI joins
xiedeyantu Jun 25, 2026
5febded
[CALCITE-7625] Unify sqlline scripts from different modules and updat…
zabetak Jun 26, 2026
e945d48
[CALCITE-7622] Don't fire JoinProjectTransposeRule for ANTI/SEMI/LEFT…
yashlimbad Jun 24, 2026
4a1a480
[CALCITE-7628] In the interpreter, MINUS and INTERSECT with 3 or more…
julianhyde Jun 28, 2026
57209cb
[CALCITE-7630] BETWEEN unparses incorrectly when left side contains a…
mihaibudiu Jun 29, 2026
3ef3cfe
Unparse should not use sep unless inside a list
mihaibudiu Jun 29, 2026
c1cd5b2
[CALCITE-7546] NullPointerException in SqlToRelConverter for UNNEST(a…
takaaki7 Jun 25, 2026
e9d22f0
[CALCITE-7626] Pass user-specified JAVA_OPTS to sqlline/sqlsh
zabetak Jun 26, 2026
3616b3c
Site: Update Sergey Nuyanzin to PMC
xiedeyantu Jul 1, 2026
b5ba85b
[CALCITE-7632] Replace java.util.Stack with java.util.ArrayDeque in P…
lanky228 Jun 30, 2026
dee6545
Re-enable [CALCITE-685] Correlated scalar sub-query in SELECT clause …
xiedeyantu Jul 1, 2026
bd22607
[CALCITE-5261] UNION(ALL) inside of the CURSOR throws an exception wh…
xuzifu666 Jun 29, 2026
9eedeed
[CALCITE-7631] Introduce a composable RexImplementorTable SPI for ope…
darpan-e6 Jun 30, 2026
8b18b12
[CALCITE-6344] RelToSqlConverter invalid quotation for arrays and ite…
xuzifu666 Jul 1, 2026
81f8012
Site: Update Ran Tao githubId
xiedeyantu Jul 1, 2026
e44d82b
[CALCITE-7242] Implement a rule to eliminate LITERAL_AGG so that othe…
xiedeyantu Jul 1, 2026
04a4e8e
[CALCITE-7634] JoinExpandOrToUnionRule incorrectly expands OR branche…
xiedeyantu Jul 3, 2026
439fc95
[CALCITE-7638] SetOpToFilterRule MINUS drops rows when right-side fil…
xiedeyantu Jul 5, 2026
6f58163
[CALCITE-7636] Materialized view union rewriting drops rows when the …
asolimando Jul 3, 2026
52184f7
[CALCITE-7206] Avoid duplicate compare(Object, Object) bridge method …
anxkhn Jul 3, 2026
c2f08cf
[CALCITE-7635] Simplification result of conjunction of comparisons de…
rubenada Jul 2, 2026
5e3f4a4
[CALCITE-7645] AggregateUnionTransposeRule drops aggregate FILTER whe…
xiedeyantu Jul 5, 2026
e252b54
[CALCITE-6242] Enhance lambda closure
May 8, 2026
3c657a2
[CALCITE-7643] AggregateMinMaxToLimitRule drops FILTER condition for …
xiedeyantu Jul 5, 2026
8b3bb68
Change typo in Pig script schema mismatch error message
anxkhn Jul 4, 2026
7bac14e
Change typo in Pig aggregate UDF exception message
anxkhn Jul 7, 2026
ed7ee43
Change typo in TableNamespace exception message
anxkhn Jul 7, 2026
17ed107
[CALCITE-7555] Sarg.compareTo() collapses semantically different sear…
anxkhn Jul 3, 2026
6197ddb
[CALCITE-7641] Materialize view rules with UnionRewritingPullProgram …
rubenada Jul 7, 2026
476dd8c
[CALCITE-6036] Support WITHIN GROUP(ORDER BY x) OVER (PARTITION BY y)
xuzifu666 Jul 4, 2026
4c9d4b4
[CALCITE-7624] Support BigDecimal for FETCH and OFFSET in Enumerable
tkalkirill Jul 9, 2026
c8d4ad5
[CALCITE-6393] Byte code of SqlFunctions is invalid
rubenada Jul 10, 2026
f7982ad
[CALCITE-6104] Aggregate function that references outer column should…
xuzifu666 Jun 26, 2026
c677fff
BigQuery dialect should escape backslashes in string literals
Samin061 Jul 11, 2026
69caaaa
[CALCITE-7652] MssqlSqlDialect unparses CAST to TIMESTAMP as "TIMESTA…
AlexisCubilla Jul 13, 2026
77b3659
[CALCITE-7653] ARRAY[NULL] produces uncompilable Java code
mihaibudiu Jul 14, 2026
eb3a4c4
[CALCITE-7650] Bytecode by JDK 11 is invalid due to Checkerframework …
thomasrebele Jul 10, 2026
f020339
[CALCITE-7460] Broken Maven Central and CI Status badges in README
caicancai Apr 3, 2026
f4a0e25
Correct misspelling of 'longtitude'
mihaibudiu Jul 14, 2026
6c9d0ee
[CALCITE-7654] Lambda functions handle incorrectly field accesses
mihaibudiu Jul 14, 2026
657c317
[CALCITE-7649] Add bytecode verification check using ASM in the gradl…
zabetak May 2, 2024
2f01f00
[CALCITE-7656] Result type inferred for VAR_SAMP is incorrect
mihaibudiu Jul 15, 2026
518b759
[CALCITE-6767] PERCENTILE_CONT/PERCENTILE_DISC function are not suppo…
xuzifu666 Jul 4, 2026
732a1e7
[CALCITE-7607] DML type coercion inserts implicit narrowing casts for…
zzwqqq Jun 23, 2026
cf62eba
[CALCITE-7646] CorrelateProjectExtractor does not handle nested field…
mihaibudiu Jul 6, 2026
ab5e7f6
[CALCITE-7658] Type checker rejects CAST(ARRAY() AS ROW(x INT) ARRAY)
mihaibudiu Jul 15, 2026
0d92ef0
[CALCITE-7592] Add expression support for FETCH
tkalkirill Jul 20, 2026
9816f59
[CALCITE-7655] RelToSqlConverter incorrectly removes a subquery when …
zzwqqq Jul 17, 2026
b2a3354
Test case for [CALCITE-5216] Cannot parse parenthesized nested WITH c…
xuzifu666 Jul 16, 2026
692907b
[CALCITE-7660] `SqlSetSemanticsTableOperator` might produce invalid S…
snuyanzin Jul 16, 2026
178a59a
[CALCITE-7659] Add AggregateCall#withFunction API
rubenada Jul 20, 2026
2df91e9
[CALCITE-7618] Add filter pushdown support to the file adapter's CSV …
Diveyam-Mishra Jun 22, 2026
b014fbe
[CALCITE-7663] RelToSqlConverter generates ambiguous column reference…
AlexisCubilla Jul 22, 2026
aaaaa38
[CALCITE-7661] RelDecorrelator loses shared correlation constraint ac…
darpan-e6 Jul 22, 2026
a05b55c
[CALCITE-7642] RelToSqlConverter may generate duplicate aliases for i…
zzwqqq Jul 21, 2026
5042482
Firebolt dialect should quote identifiers that need quoting
Samin061 Jul 16, 2026
575be03
[CALCITE-7657] Apply the absorption law to simplify boolean expressions
xuzifu666 Jul 16, 2026
d6b4e32
[CALCITE-7639] Support bitwise right shift (>>) operator and RIGHTSHI…
nielspardon Jul 24, 2026
2827244
[CALCITE-7640] Enumerable engine should execute aggregates whose impl…
darpan-e6 Jul 3, 2026
0a4e9c7
[CALCITE-7505] RelToSqlConverter fails to alias outer relation for co…
Jun 20, 2026
bbb5dbd
[CALCITE-7605] Add threat model
vlsi Jul 21, 2026
1ddaa33
[CALCITE-7605] Threat model: add Inputs, Downstream responsibilities,…
vlsi Jul 21, 2026
eeb2e60
[CALCITE-7671] EXISTS fails typechecking nested lambda EXIST(a -> EXI…
mihaibudiu Jul 24, 2026
3b2d58f
[CALCITE-7666] Make regex pattern caches static to avoid repeated all…
xuzifu666 Jul 24, 2026
9e18414
Bump json from 2.10.2 to 2.19.9 in /site
dependabot[bot] Jul 27, 2026
3a1996c
[CALCITE-7557] Linq4j.ListEnumerable.take(int) / skip(int) diverge fr…
microbluey Jul 27, 2026
27c0411
[CALCITE-7672] PruneEmptyRules should support pruning empty Calc
xuzifu666 Jul 27, 2026
0c80f14
Add AGENTS.md so the threat model is discoverable by agents
potiuk Jul 27, 2026
500ae3c
[CALCITE-7667] Improve string-literal encoding in pushdown translators
rubenada Jul 24, 2026
c757d98
[CALCITE-7668] MongoDB adapter should escape embedded quotes in field…
Samin061 Jul 29, 2026
843db1e
Revert "[CALCITE-7592] Add expression support for FETCH"
xiedeyantu Jul 28, 2026
51a2707
[CALCITE-7677] CAST between ROW types fails at runtime
mihaibudiu Jul 28, 2026
bb0cb2b
[CALCITE-7684] HOPPING and TUMBLING window queries crash at runtime f…
mihaibudiu Jul 31, 2026
a41adf5
Stronger validation for JOIN UNNEST
mihaibudiu Jun 19, 2026
f5c0229
[CALCITE-7669] Uncollect should support the Trino semantics of UNNEST
mihaibudiu Aug 2, 2026
f38163e
[CALCITE-7592] Add expression support for FETCH
tkalkirill Jul 17, 2026
edda200
Site Readme: add the old instructions to manually publish the site, i…
rubenada Jul 30, 2026
3892cda
[CALCITE-7673] Add support for the LIKE operator to the MongoDB adapter
xuzifu666 Jul 27, 2026
106c03e
[CALCITE-7682] SESSION table function without the optional key descri…
mihaibudiu Jul 31, 2026
e195061
[CALCITE-7678] Runtime equality for ROW values produces incorrect res…
mihaibudiu Aug 2, 2026
c07a980
[CALCITE-7679] RelToSqlConverter generates GROUP BY literals for dial…
ehds Jul 28, 2026
5f7d448
[CALCITE-7440] RelToSqlConverter throws NPE (variable $cor1 not found…
bvolpato Aug 5, 2026
6a3dc0b
[CALCITE-7439] RelToSqlConverter emits ambiguous GROUP BY after LEFT …
bvolpato Aug 5, 2026
8b2c702
[CALCITE-6002] CONTAINS_SUBSTR does not unparse correctly
mihaibudiu Aug 5, 2026
d2c7f26
Test cases for [CALCITE-5418] Nested Queries are not expanded properly
xuzifu666 Aug 4, 2026
4961276
Test cases for some very old bugs now fixed
mihaibudiu Aug 5, 2026
27d2a53
[CALCITE-6753] DeterministicCodeOptimizer may lift method calls out o…
mihaibudiu Aug 5, 2026
be4aa17
[CALCITE-7683] SessionizationEnumerator produces wrong results for SE…
mihaibudiu Jul 31, 2026
de64c09
[CALCITE-7692] FLOOR/CEIL of INTERVAL produces wrong results
mihaibudiu Aug 5, 2026
2da3b3d
[CALCITE-5998] The SAFE_OFFSET operator can cause an index out of bou…
mihaibudiu Aug 6, 2026
c087876
[CALCITE-7662] Add expression support for OFFSET
tkalkirill Jul 26, 2026
8ed20e1
[CALCITE-7696] COVAR result type is derived only from first argument …
mihaibudiu Aug 6, 2026
0f91e62
Test case for [CALCITE-4792] SqlToRel should populate corralateId for…
xuzifu666 Aug 6, 2026
7f1f02c
Test case for [CALCITE-5420] SqlToRel should populate the correlate i…
xuzifu666 Aug 6, 2026
4ff42e0
[CALCITE-7688] Support scalar subqueries in table function arguments
tkalkirill Aug 7, 2026
9d935f7
[CALCITE-7695] COVAR and REGR aggregate results should be nullable if…
mihaibudiu Aug 6, 2026
42ff47d
[CALCITE-7644] Window `ORDER BY` expression is unparsed as positional…
snuyanzin Jul 5, 2026
bc9efcb
[CALCITE-7686] Named argument should not be resolved as a column
snuyanzin Aug 2, 2026
3e85459
[CALCITE-6059] Optimizer does not correctly handle special floating p…
mihaibudiu Aug 6, 2026
304252d
[CALCITE-7554] NlsString.compareTo inconsistent with equals/hashCode
lanky228 Jul 31, 2026
a0bb0bd
[CALCITE-7063] Result type inferred for CONCAT_FUNCTION is incorrect …
mihaibudiu Aug 9, 2026
ca9e2e5
[CALCITE-6743] Type inference for ARRAY_INSERT function produces an i…
mihaibudiu Aug 9, 2026
1f73594
Test cases for [CALCITE-5413] Nested Subqueries with correlated varia…
xuzifu666 Aug 6, 2026
1f3625b
[CALCITE-7693] Move MongoDB LIKE-to-regex conversion into runtime.Lik…
xuzifu666 Aug 6, 2026
eac4d85
[CALCITE-5584] Publish website action only triggers for the last comm…
rubenada Jul 31, 2026
bfd4904
[CALCITE-7451] REINTERPRET should not be used in logical plans
mihaibudiu Aug 6, 2026
8d85cb1
[CALCITE-7705] LISTAGG result type is never nullable
mihaibudiu Aug 10, 2026
179b23a
[CALCITE-7702] JoinAggregateTransposeRule produces a non-equivalent p…
zzwqqq Aug 11, 2026
a1285d7
[CALCITE-7689] MAP equality compares maps by insertion order
mihaibudiu Aug 4, 2026
0adddf2
[CALCITE-7647] Support SELECT * in GROUP BY ALL and ORDER BY ALL
tisyabhatia Aug 3, 2026
139aecd
[CALCITE-7670] Uncollect should support LEFT JOIN UNNEST
mihaibudiu Aug 4, 2026
8cf1597
[CALCITE-7706] ARG_MIN ignores nullability of second argument
mihaibudiu Aug 10, 2026
c85bf15
[CALCITE-7698] RelDecorrelator throws AssertionError when decorrelati…
snuyanzin Aug 8, 2026
3828a4b
[CALCITE-7487] ProjectJoinTransposeRule throws ArrayIndexOutOfBoundsE…
microbluey Aug 11, 2026
c54ad37
[CALCITE-7697] Simplify window PARTITION BY and ORDER BY keys in RelB…
xuzifu666 Aug 7, 2026
fc6e97f
[CALCITE-7699] ARRAY_INSERT fails in validation when first argument i…
mihaibudiu Aug 10, 2026
d810d43
[CALCITE-7704] ARRAY_INSERT crashes in code generation with array-of-…
mihaibudiu Aug 10, 2026
1164a23
[CALCITE-7617] Improve type safety of RelJson API using generics
zabetak Jun 22, 2026
e5c1aa1
[CALCITE-7713] Add allowlist option in ClassNameFilter
zabetak Jun 24, 2026
e39c536
[CALCITE-7711] Add a rule to convert LEFT or RIGHT OUTER JOIN with IS…
zzwqqq Aug 13, 2026
5dbfc79
[CALCITE-7720] Scalar subquery with ROW ARRAY fails in code generation
mihaibudiu Aug 14, 2026
064d66c
[CALCITE-7719] Field access on an element of a ROW array built by a s…
mihaibudiu Aug 14, 2026
08f201a
[CALCITE-7717] Add a Collect.isValid method to check type invariants
mihaibudiu Aug 13, 2026
2e7bded
[CALCITE-5987] SqlImplementor loses type information for literals
mihaibudiu Jul 18, 2026
50044ea
[CALCITE-7712] Enforce Input annotation on ReflectiveSchema.Factory o…
zabetak Aug 13, 2026
29d08d7
[CALCITE-7721] CAST of a ROW ARRAY element raises NullPointerException
mihaibudiu Aug 14, 2026
434218c
[CALCITE-7334] Compiling the generated Java code throws an exception …
mihaibudiu Aug 12, 2026
9a1fdf6
[CALCITE-7723] Queries using Collect with ROW results throw Assertion…
mihaibudiu Aug 17, 2026
5f51eda
[CALCITE-7718] Lambda capturing ROW field crashes at compilation with…
mihaibudiu Aug 14, 2026
d9b8de6
[CALCITE-7724] SqlUtil#lookupSubjectRoutines rejects a valid operator…
sbroeder Aug 19, 2026
4d4b111
[CALCITE-7727] Comparing UUID <> '' always returns FALSE
mihaibudiu Aug 19, 2026
53c5244
[CALCITE-7728] Linq4j can simplify expressions without regards for 's…
mihaibudiu Aug 19, 2026
5c10db9
[CALCITE-7701] Support IGNORE NULLS for FIRST_VALUE/LAST_VALUE window…
xuzifu666 Aug 9, 2026
f0454f7
[CALCITE-7726] Improve identifier validation on MemberExpression and …
rubenada Aug 18, 2026
886b2d2
[CALCITE-7729] Linq4j BlockBuilder.optimize can optimize away express…
mihaibudiu Aug 20, 2026
2dcdce6
[CALCITE-7725] Review safety of checked arithmetic operators
mihaibudiu Aug 20, 2026
0f84c5c
[CALCITE-6284] Invalid conversion triggers ClassCastException
xuzifu666 Aug 18, 2026
c5fe0ce
[CALCITE-5168] Allow AS after parenthesized JOIN
xuzifu666 Aug 19, 2026
270fc1b
[CALCITE-7488] ProjectJoinTransposeRule produces row-type mismatch wh…
mihaibudiu Aug 22, 2026
7d95022
[CALCITE-7667] Improve string-literal encoding in pushdown translator…
rubenada Aug 21, 2026
8cec041
[CALCITE-7731] Bound plain-notation expansion of DECIMAL literals to …
rubenada Aug 21, 2026
d240f2f
[CALCITE-6126] Return type check fails with OVER
xuzifu666 Aug 22, 2026
5d7f75d
[CALCITE-4581] The digest of TableScan should consider table hints
snuyanzin Aug 19, 2026
91c7b2f
[CALCITE-7736] Replace the Checker Framework with NullAway and JSpecify
vlsi Aug 23, 2026
2885422
[CALCITE-7736] Move @Nullable and @NonNull from the Checker Framework…
vlsi Aug 23, 2026
9a6e73c
[CALCITE-7736] Declare @NullMarked on the packages that NullAway veri…
vlsi Aug 23, 2026
8a142d3
[CALCITE-7736] Migrate the Checker Framework annotations that JSpecif…
vlsi Aug 23, 2026
9d32656
[CALCITE-7736] Replace @PolyNull with @Contract
vlsi Aug 23, 2026
a29ea12
[CALCITE-7736] Give type parameters the nullable bounds the Checker F…
vlsi Aug 23, 2026
877b9b4
[CALCITE-7736] Let the linq4j tree visitor return null
vlsi Aug 24, 2026
4597573
[CALCITE-7736] Admit that min and max return null for an empty sequence
vlsi Aug 24, 2026
9c1d74b
[CALCITE-7736] Let a seeded aggregate start from null
vlsi Aug 24, 2026
a4f663b
[CALCITE-7736] Drop castNonNull calls whose argument is already non-null
vlsi Aug 24, 2026
63e0c06
[CALCITE-7736] Handle the nulls the JDK actually hands out
vlsi Aug 24, 2026
3f78921
[CALCITE-7736] Remove two annotations the migration made untrue
vlsi Aug 24, 2026
4d70b19
[CALCITE-7736] Suppress the two classes that only exist to produce null
vlsi Aug 24, 2026
4f8ad16
[CALCITE-7736] Let the memory window hold the nulls it is padded with
vlsi Aug 24, 2026
d87186f
[CALCITE-7736] Let the join enumerators carry the null rows they emit
vlsi Aug 24, 2026
2f6f2e4
[CALCITE-7736] Suppress the three do-nothing visitors
vlsi Aug 24, 2026
467bccb
[CALCITE-7736] Instantiate the result-ignoring visitors with @Nullabl…
vlsi Aug 24, 2026
6548f36
[CALCITE-7736] Drop castNonNull calls whose argument is already non-null
vlsi Aug 24, 2026
6846450
[CALCITE-7736] Match the JDK signature in the FlatLists toArray overr…
vlsi Aug 24, 2026
5483146
[CALCITE-7736] Let the PairList implementations hold nullable pairs
vlsi Aug 24, 2026
4892c70
[CALCITE-7736] Let select and its siblings produce a nullable result
vlsi Aug 24, 2026
0fd3f86
[CALCITE-7736] Let the SQL collection helpers carry null elements
vlsi Aug 24, 2026
6317f10
[CALCITE-7736] Point the NullAway workarounds at the issues they came…
vlsi Aug 24, 2026
1bacbe7
[CALCITE-7736] Read the HyperGraph edge maps through get rather than …
vlsi Aug 24, 2026
69e2fc5
[CALCITE-7736] Let the null-tolerant collection helpers take nullable…
vlsi Aug 24, 2026
41e3dd5
[CALCITE-7736] Match the JDK signature in the ConsList toArray overrides
vlsi Aug 24, 2026
80ac2fe
[CALCITE-7736] Let SqlFunctions carry the nulls that SQL values have
vlsi Aug 24, 2026
7e02d44
[CALCITE-7736] Let the shared utilities take nullable arguments
vlsi Aug 24, 2026
68b0bd9
[CALCITE-7736] Let the utility collections and visitors carry nulls
vlsi Aug 24, 2026
8b82a02
[CALCITE-7736] Drop the preconditions that only the Checker Framework…
vlsi Aug 24, 2026
0b9dbd6
[CALCITE-7736] Say what the guards already check, and drop two more d…
vlsi Aug 24, 2026
3c74404
[CALCITE-7736] Take the nullable bound on the acceptCall overrides, a…
vlsi Aug 24, 2026
7b794c6
[CALCITE-7736] Add Util.firstNonNull, which states in its signature w…
vlsi Aug 24, 2026
3f67eb9
[CALCITE-7736] Read the nulls the JDK hands out, and restore two narr…
vlsi Aug 24, 2026
44c1bb8
[CALCITE-7736] Let the values that are genuinely absent say so
vlsi Aug 24, 2026
21a43a5
[CALCITE-7736] Type the collections and results that hold absent values
vlsi Aug 24, 2026
8e9c6e8
[CALCITE-7736] Let unwrap say it may find nothing, and split two cont…
vlsi Aug 24, 2026
78c0b34
[CALCITE-7736] Ask for what is already established, and let the expre…
vlsi Aug 24, 2026
bed24c7
[CALCITE-7736] Keep Guava's firstNonNull in CalciteSystemProperty
vlsi Aug 24, 2026
4ff71d4
[CALCITE-7736] Say where a value is genuinely absent, and work around…
vlsi Aug 24, 2026
a9ca9fb
[CALCITE-7736] Let the profiled rows and composed lists hold absent v…
vlsi Aug 24, 2026
ad9f5da
[CALCITE-7736] Read each value once, and drop a castNonNull that outl…
vlsi Aug 24, 2026
aac1609
[CALCITE-7736] Close out the last of the core findings
vlsi Aug 24, 2026
e20462d
[CALCITE-7736] Give the Void visitors the return type their visitor i…
vlsi Aug 25, 2026
872fe88
[CALCITE-7736] Let NullAway itself require the explicit null-marking
vlsi Aug 25, 2026
1219ced
[CALCITE-7736] Put :server back under nullness verification
vlsi Aug 25, 2026
2963f6f
[CALCITE-7736] Put :druid under nullness verification
vlsi Aug 25, 2026
8ac874a
[CALCITE-7736] Put :file under nullness verification
vlsi Aug 25, 2026
6e31530
[CALCITE-7736] Put :kafka under nullness verification
vlsi Aug 25, 2026
c9f57bc
[CALCITE-7736] Put :spark under nullness verification
vlsi Aug 25, 2026
7510726
[CALCITE-7736] Put :babel under nullness verification
vlsi Aug 25, 2026
1b29b40
[CALCITE-7736] Put :redis under nullness verification
vlsi Aug 25, 2026
800b91c
[CALCITE-7736] Put :splunk under nullness verification
vlsi Aug 25, 2026
dd2041f
[CALCITE-7736] Put :mongodb under nullness verification
vlsi Aug 25, 2026
147fb1b
[CALCITE-7736] Put :cassandra under nullness verification
vlsi Aug 25, 2026
6d6fd00
[CALCITE-7736] Put :pig under nullness verification
vlsi Aug 25, 2026
db3858d
[CALCITE-7736] Put :arrow under nullness verification
vlsi Aug 25, 2026
102ae21
[CALCITE-7736] Put :innodb under nullness verification
vlsi Aug 25, 2026
21b1631
[CALCITE-7736] Put :piglet under nullness verification
vlsi Aug 25, 2026
1712a2e
[CALCITE-7736] Finish the :innodb enumerable the module's own commit …
vlsi Aug 25, 2026
4ccd407
[CALCITE-7736] Let PigAggregate take the absent grouping sets its bas…
vlsi Aug 25, 2026
1a27df0
[CALCITE-7736] Put the imports the module commits added in the order …
vlsi Aug 25, 2026
bddd775
[CALCITE-7736] Put :geode under nullness verification
vlsi Aug 25, 2026
873a81d
[CALCITE-7736] Put :elasticsearch under nullness verification
vlsi Aug 25, 2026
069cce7
[CALCITE-7736] Put :plus under nullness verification
vlsi Aug 25, 2026
80761ff
[CALCITE-7736] Put :example:csv and :example:function under nullness …
vlsi Aug 25, 2026
370f7ba
[CALCITE-7736] Put :testkit under nullness verification
vlsi Aug 26, 2026
8b9df29
[CALCITE-7736] Put :ubenchmark under nullness verification
vlsi Aug 26, 2026
5df3a4d
[CALCITE-7736] Add JSpecify Java 8 transformation workaround
vlsi Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ ij_java_use_single_class_imports = true
max_line_length = 100
ij_any_wrap_long_lines = true

[*.astub]
indent_size = 2

[*.java]
# Doc: https://youtrack.jetbrains.com/issue/IDEA-170643#focus=streamItem-27-3708697.0-0
# $ means "static"
Expand Down
43 changes: 43 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!--
Thanks for sending a pull request! Here are some critical tips for you:

1. READ THE GUIDE FIRST: https://calcite.apache.org/develop/#contributing
*For significant contributions, please discuss on the dev mailing list or Jira BEFORE coding.*

2. JIRA IS USUALLY MANDATORY: Ensure you have created an issue on the Calcite Jira:
https://issues.apache.org/jira/projects/CALCITE/issues
*Check existing issues first to avoid duplicates.*
*Note: A Jira is NOT required for typos and cosmetic changes (i.e., changes that are neither bugs nor features).*

3. TIMING: Strongly recommended to create the Jira BEFORE you start writing code (e.g., a day or so before posting a PR).
This gives others a chance to weigh in on your specification.

4. CRITICAL CONSISTENCY RULE
The following three items MUST match exactly in wording and meaning:
(A) The Jira Issue Title
(B) This Pull Request Title
(C) Your Git Commit Message

Format: [CALCITE-XXXX] <Description>
Example: [CALCITE-0000] Add IF NOT EXISTS clause to CREATE TABLE

Guidelines for a good Title:
- Illustrate using SQL keywords (in ALL-CAPS) rather than Java method names.
- Focus on the specification and user experience, not the implementation.
- Make it clear whether it is a bug or a feature.
- Use words like "should" to indicate desired behavior vs. current behavior (e.g., "Validator should not close model file").

5. REPRODUCTION: If fixing a bug, please provide a concise SQL example or test case to reproduce the issue for a faster review.

6. TESTING: Ensure `./gradlew build` passes and appropriate tests are added/updated.
-->

## Jira Link

[CALCITE-XXXX](https://issues.apache.org/jira/browse/CALCITE-XXXX)

## Changes Proposed
<!--
Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue.
If possible, please consider writing useful notes for better and faster reviews in your PR.
-->
31 changes: 31 additions & 0 deletions .github/workflows/gradle-dependency-submit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Dependency Submission

# See https://github.com/gradle/actions/blob/768a17f3488dc3fe0155ff431553e1f53d57e22e/dependency-submission/README.md#the-dependency-submission-action
# The action allows GitHub to alert about reported vulnerabilities in the project
on:
push:
branches:
- main

# Declare default permissions as read-only.
permissions: read-all

jobs:
dependency-submission:
name: Submit dependencies
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout sources
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
persist-credentials: false
- name: Set up JDK 21
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5
with:
distribution: zulu
java-version: 21
server-id: central
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5
73 changes: 23 additions & 50 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,14 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon build javadoc
- name: 'sqlline and sqllsh'
env:
JAVA_OPTS: "-Dcalcite.model.classes.allowed=org.apache."
shell: cmd
run: |
call sqlline.bat -e '!quit'
echo.
echo Sqlline example/csv
call example/csv/sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
call sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
echo.
echo sqlsh
call sqlsh.bat -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"
Expand All @@ -101,12 +103,14 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon build
- name: 'sqlline and sqllsh'
env:
JAVA_OPTS: "-Dcalcite.model.classes.allowed=org.apache."
shell: cmd
run: |
call sqlline.bat -e '!quit'
echo.
echo Sqlline example/csv
call example/csv/sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
call sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
echo.
echo sqlsh
call sqlsh.bat -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"
Expand All @@ -131,12 +135,14 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon build
- name: 'sqlline and sqllsh'
env:
JAVA_OPTS: "-Dcalcite.model.classes.allowed=org.apache."
shell: cmd
run: |
call sqlline.bat -e '!quit'
echo.
echo Sqlline example/csv
call example/csv/sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
call sqlline.bat --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
echo.
echo sqlsh
call sqlsh.bat -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"
Expand Down Expand Up @@ -247,18 +253,18 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA }} build

linux-jdk23: # latest JDK version supported by ForbiddenAPIs plugin, keep this updated (see https://jdk.java.net/)
linux-jdk24: # latest JDK version supported by ForbiddenAPIs plugin, keep this updated (see https://jdk.java.net/)
if: github.event.action != 'labeled'
name: 'Linux (JDK 23)'
name: 'Linux (JDK 24)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 50
- name: 'Set up JDK 23'
- name: 'Set up JDK 24'
uses: actions/setup-java@v5
with:
java-version: 23
java-version: 24
distribution: 'zulu'
- uses: burrunan/gradle-cache-action@v1
name: Test
Expand Down Expand Up @@ -324,73 +330,40 @@ jobs:
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon build javadoc
- name: 'sqlline and sqllsh'
env:
JAVA_OPTS: "-Dcalcite.model.classes.allowed=org.apache."
run: |
./sqlline -e '!quit'
echo
echo Sqlline example/csv
./example/csv/sqlline --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
./sqlline --verbose -u jdbc:calcite:model=example/csv/src/test/resources/model.json -n admin -p admin -f example/csv/src/test/resources/smoke_test.sql
echo
echo sqlsh
./sqlsh -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"

errorprone-guava-latest:
if: github.event.action != 'labeled'
name: 'ErrorProne (JDK 11, latest Guava)'
# This is the only job that verifies nullness, so a nullability problem fails here alone and
# the test jobs keep reporting test failures
name: 'ErrorProne and NullAway (JDK 21, latest Guava)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 50
- name: 'Set up JDK 11'
# Error Prone 2.43 and later require JDK 21, and NullAway requires JDK 17
- name: 'Set up JDK 21'
uses: actions/setup-java@v5
with:
java-version: 11
java-version: 21
distribution: 'zulu'
- uses: burrunan/gradle-cache-action@v1
name: Test
with:
job-id: errprone
remote-build-cache-proxy-enabled: false
# ErrorProne checks for Beta APIs, so use the latest supported Guava version
arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA_MAX }} -PenableErrorprone classes

linux-checkerframework:
name: 'CheckerFramework (JDK 11)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 50
- name: 'Set up JDK 11'
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'zulu'
- name: 'Run CheckerFramework'
uses: burrunan/gradle-cache-action@v1
with:
job-id: checkerframework-jdk11
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon -PenableCheckerframework :linq4j:classes :core:classes :server:classes

linux-checkerframework-oldest-guava:
name: 'CheckerFramework (JDK 11, oldest Guava)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 50
- name: 'Set up JDK 11'
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'zulu'
- name: 'Run CheckerFramework'
uses: burrunan/gradle-cache-action@v1
with:
job-id: checkerframework-jdk11
remote-build-cache-proxy-enabled: false
arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA_MIN }} -PenableCheckerframework :linq4j:classes :core:classes :server:classes
arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA_MAX }} -PenableErrorprone classes jmhClasses

linux-slow:
# Run slow tests when the commit is on main or it is requested explicitly by adding an
Expand Down
23 changes: 17 additions & 6 deletions .github/workflows/publish-non-release-website-updates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,26 @@ jobs:
with:
fetch-depth: 0
ref: site
- name: Cherry pick the commit to site
- name: Cherry pick all commits in push to site
env:
COMMITS: ${{ toJson(github.event.commits) }}
run: |
git config user.email ${{ github.actor }}@users.noreply.github.com
git config user.name ${{ github.actor }}
git cherry-pick --strategy=recursive -X theirs $GITHUB_SHA
if [ $? -neq 0 ]; then
git status | sed -n 's/deleted by us://p' | xargs git add
git cherry-pick --continue --no-edit
fi

# Extract each commit SHA from the push payload and iterate chronologically
echo "$COMMITS" | jq -r '.[].id' | while read -r commit_sha; do
echo "----------------------------------------"
echo "Cherry-picking commit: $commit_sha"
echo "----------------------------------------"

if ! git cherry-pick --strategy=recursive -X theirs "$commit_sha"; then
echo "Handling cherry-pick conflict..."
git status | sed -n 's/deleted by us://p' | xargs -r git add
git cherry-pick --continue --no-edit
fi
done

git push origin site

publish-website:
Expand Down
24 changes: 8 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,18 @@
*~
.DS_Store
.gradle
/target
/*/target
/example/*/target
/build
/*/build
/example/*/build
/buildSrc/build
/buildSrc/subprojects/*/build
/**/target
/**/build
/site/.jekyll-cache

# VSCode Java plugin
/example/*/bin
/*/bin
/bin
/.vscode/*
# VSCode and plugins
/**/bin
.vscode
.metals

# IDEA
/out
/*/out/
/example/*/out
/**/out
/**/generated
# The star is required for further !/.idea/ to work, see https://git-scm.com/docs/gitignore
/.idea/*
# Icon for JetBrains Toolbox
Expand Down
4 changes: 2 additions & 2 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading