-
Notifications
You must be signed in to change notification settings - Fork 987
DRILL-8537: Bump Calcite to Version 1.35 #3025
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
base: master
Are you sure you want to change the base?
Conversation
Major Changes1. Function Type InferenceEXTRACT FunctionProblem: EXTRACT(SECOND) was returning BIGINT instead of DOUBLE, losing fractional seconds
Files Modified:
TIMESTAMPDIFF FunctionProblem: Type mismatch between validation (BIGINT) and conversion (INTEGER)
Files Modified:
TIMESTAMPADD FunctionProblem: Calcite 1.35 was adding precision to DATE types, causing assertion errors
Files Modified:
2. Function Registration & ResolutionVararg Functions (CONCAT, COALESCE, etc.)Problem: Function resolution failures for functions with variable arguments Files Modified:
Niladic Special Functions (CURRENT_DATE, SESSION_USER, etc.)Problem: Special functions not properly recognized in Calcite 1.35
Files Modified:
3. COUNT(*) HandlingProblem: COUNT(*) type inference changed in Calcite 1.35 Files Modified:
4. Aggregate Cost EstimationProblem: Deprecated Files Modified:
5. TIMESTAMPADD ImplementationProblem: Complete signature change in Calcite 1.35
Files Modified:
6. Complex Writer FunctionsProblem: FLATTEN, CONVERT_FROM, CONVERT_TO require ProjectRecordBatch context
Files Modified:
7. FLATTEN in Aggregates ValidationProblem: FLATTEN only validated in COUNT, allowed in other aggregates Files Modified:
8. Error Handling & ValidationPrepared Statement ErrorsProblem: Parse errors wrapped differently in RPC layer, appearing as SYSTEM instead of VALIDATION
Files Modified:
Invalid CAST OperationsProblem: Calcite 1.35 correctly rejects semantically invalid CAST(DATE as TIME) Files Modified:
Test UpdatesCore Module Tests
JDBC Storage Plugin Tests
Key Behavioral ChangesType Inference
Function Resolution
Validation
Files CreatedCore Engine
Tests
Migration Notes for DevelopersIf you use EXTRACT(SECOND):
If you use COUNT(*):
If you use SQRT or math functions:
If you cast DATE to TIME:
CompatibilityBackward Compatibility
Breaking Changes
|
DRILL-8537: Bump Calcite to Version 1.35
Description
I am attempting a new approach and instead of bumping Calcite from 1.34 -> 1.40, I'm going to try this one version at a time and see how far we get.
Significant Changes in Calcite 1.35
literal_agg
function which allows literals in aggregate queries.VARDECIMAL
handling.Documentation
No user facing changes.
Testing
Ran existing unit tests