feat(core)!: bump substrait to v0.103.0 - #1351
nielspardon wants to merge 1 commit into
Conversation
Track the v0.103.0 dialect schema, which is now checked against the protos: add TypeKind.FUNC, RelationKind.TOP_N and ExpressionKind.LAMBDA/LAMBDA_INVOCATION, rename ExpandFieldType.CONSTANT_FIELD to CONSISTENT_FIELD to match the ExpandRel protobuf member, and reject an EXTENSION_SINGLE, EXTENSION_MULTI or EXTENSION_LEAF entry that names no message_types. strpos and logb no longer share a type parameter between their arguments, so strpos over varchars of different lengths now resolves. Closes substrait-io#1191 BREAKING CHANGE: ExpandFieldType.CONSTANT_FIELD is renamed to CONSISTENT_FIELD, and building a SupportedRelation for an extension relation without message types now throws IllegalArgumentException.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: substrait-io/substrait-java/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe dialect adds and renames supported kinds, and extension relation entries now require message types. Tests cover these updates and expect a parameterized ChangesSubstrait v0.103.0 alignment
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Merge Risk: ⚪ Minimal · up to No actionable issue remains in the reviewed changes; normal build and test checks are still appropriate before merging. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The inspected changes primarily affect dialect compatibility and configuration validation. No introduced security vulnerability was established. Consumers must accommodate the renamed enum value and mandatory extension message types; downstream integrations and dependency-provided declarations remain incompletely verified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 9 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bumps the
substrait-packagingartifacts to v0.103.0. The proto change is comment-only; the work is in the dialect schema, which upstream now checks against the protos (substrait-io/substrait#1173).TypeKind.FUNC,RelationKind.TOP_NandExpressionKind.LAMBDA/LAMBDA_INVOCATION, which the schema and itsdialects/tests/*_test.yamlfixtures now list. Without themDialect.loadfails on the updated fixtures.ExpandFieldType.CONSTANT_FIELD→CONSISTENT_FIELD: the schema renamed the value to matchExpandRel.ExpandField.consistent_field;CONSTANT_FIELDnever named a protobuf member.message_types: the schema now requires at least one message type onEXTENSION_SINGLE/EXTENSION_MULTI/EXTENSION_LEAF, soSupportedRelationrejects an extension entry without one via@Value.Checkrather than serializing schema-invalid YAML.strpos/logbno longer share a type parameter between their two arguments (substrait-io/substrait#1186), sostrposover varchars of different lengths now resolves;ParameterizedReturnTypeTestused it as its example of an inconsistent binding and now asserts the opposite (lt:any_anystill covers the inconsistent case).Supersedes the v0.103.0 step of dependabot's #1324, which fails on the dialect fixtures; v0.103.1 (#1307) only changes the
quantilereturn type and can follow separately.Closes #1191
BREAKING CHANGE:
ExpandFieldType.CONSTANT_FIELDis renamed toCONSISTENT_FIELD, and building aSupportedRelationfor an extension relation without message types now throwsIllegalArgumentException.