Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KE-11534 Upgrade Calcite to 1.30 and adapt it for Kylin #320

Merged
merged 42 commits into from
Mar 11, 2024

Conversation

gleonSun
Copy link

For SDK dialect conversion

Calcite 1.30 changed Rexcall operator from SqlCaseOperator to SqlPostfixOperator in RelOptUtil#isDistinctFromInternal

Calcite 1.30 remove EquiJoinInfo and NonEquiJoinInfo, but we need rexbuilder

Calcite 1.30 implement CHAR function

Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions

Revert "Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions"

This reverts commit 27f1a28.

[Follow up] Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions

Refer to KE-36291 for an adapted method to simplify the filter condition

Refer to AL-5295 fix the ut about CharNColumnTest#testCharNColumn

Calcite 1.30 fix about SumCaseWhenFunctionRule and CountDistinctCaseWhenFunctionRule

[Follow up] Fix ProjectRel replacement and old agg replacement caused by RelBuilder#aggregate method

Roll back Calcite's computeDigest and simplifyCase logic from previous versions to ensure correct matching of Kylin models

[Follow up] Fix the way digest is calculated, delete the previous logic

Fix exception in Calcite 1.30 where data type conversion affected logical plan changes

Fix with Sort optimize and Trim function

Revert "Calcite 1.30 implement CHAR function"

This reverts commit 0e1f6b0.

[CALCITE-5241] Implement CHAR function for MySQL and Spark, also JDBC '{fn CHAR(n)}'

Close apache#2878

Debug for Calcite deploy

Calcite 1.30 don't keep the precision of BigDecimal, add scale to fix exception

Fix SqlBasicCall's Deep Copy Logic Raises Rule Optimization Exception and TDVT test

Change kap-external-guava20 to kylin-external-guava30 and package name

Remove the default Unicode operation on the quoteStringLiteral function in Calcite 1.30

gleonSun added 10 commits June 12, 2023 16:02
For SDK dialect conversion

Calcite 1.30 changed Rexcall operator from SqlCaseOperator to SqlPostfixOperator in RelOptUtil#isDistinctFromInternal

Calcite 1.30 remove EquiJoinInfo and NonEquiJoinInfo, but we need rexbuilder

Calcite 1.30 implement CHAR function

Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions

Revert "Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions"

This reverts commit 27f1a28.

[Follow up] Fallback the logic of the simplification condition to version 1.16, otherwise it may lead to a failure to prune partitions

Refer to KE-36291 for an adapted method to simplify the filter condition

Refer to AL-5295 fix the ut about CharNColumnTest#testCharNColumn

Calcite 1.30 fix about SumCaseWhenFunctionRule and CountDistinctCaseWhenFunctionRule

[Follow up] Fix ProjectRel replacement and old agg replacement caused by RelBuilder#aggregate method

Roll back Calcite's computeDigest and simplifyCase logic from previous versions to ensure correct matching of Kylin models

[Follow up] Fix the way digest is calculated, delete the previous logic

Fix exception in Calcite 1.30 where data type conversion affected logical plan changes

Fix with Sort optimize and Trim function

Revert "Calcite 1.30 implement CHAR function"

This reverts commit 0e1f6b0.

[CALCITE-5241] Implement CHAR function for MySQL and Spark, also JDBC '{fn CHAR(n)}'

Close apache#2878

Debug for Calcite deploy

Calcite 1.30 don't keep the precision of BigDecimal, add scale to fix exception

Fix SqlBasicCall's Deep Copy Logic Raises Rule Optimization Exception and TDVT test

Change kap-external-guava20 to kylin-external-guava30 and package name

Remove the default Unicode operation on the quoteStringLiteral function in Calcite 1.30
…ts Deprecated flag and remove the RexBuilder#kylinMakeZeroLiteral method
…sistency with the latest operandList references
gleonSun and others added 15 commits July 20, 2023 11:11
…bstractParserImpl. Instead, adjust Kylin to fit
…types in Calcite StandardConvertletTable#convertOperands while adapting in Kylin
…lder in Calcite’s JoinInfo"

This reverts commit 50d862e.
hannerwang and others added 3 commits August 25, 2023 16:49
@pfzhan pfzhan force-pushed the calcite-guava branch 2 times, most recently from 93199da to 44cbc10 Compare December 12, 2023 09:30
@gleonSun gleonSun force-pushed the calcite-guava branch 2 times, most recently from 832e969 to 6eb6b2d Compare March 11, 2024 07:50
@gleonSun gleonSun merged commit c1ee091 into Kyligence:kycalcite-1.30.0.x Mar 11, 2024
2 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants