Repository navigation
Conversation
aunjgr
marked this pull request as ready for review
October 8, 2026 05:01
This was referenced Oct 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Embedded MO plans need coefficient width, precision, scale and nullability to survive Substrait import and DuckDB binding independently. This PR carries that descriptor through literals, immutable scalar binding, Sirius AST cloning/reconstruction and GPU evaluation for all 14 exact-decimal scalar operations.
This is Native A in the approved series for matrixorigin/matrixone#28968 and matrixorigin/matrixone#28966, after merged Sirius #25 and importer #4. The semantic contract is the approved MO #29449 document, blob
42a89f09a1d168d02b9583cb3ea7b4de6dbb5634; the delivery sequence is recorded in merged MO #29690. Target:upstream-dev-merge.The scoped importer validates extension/type identities and declared outputs. Private DuckDB carriers preserve all coefficient limbs and typed nullable results without ordinary decimal inference. The SDK exports and fingerprints the canonical literal protobuf. GPU CASE/COALESCE propagate active rows, preserve Decimal256 parent-only validity, and prove stream quiescence before retiring branch owners. Internal numeric errors retain arithmetic/cast classification.
Production embedded admission still rejects the extension and exact-decimal capability mask
16uremains clear. The C ABI is unchanged. Native B owns aggregates, keys, complete preparation validation, public statuses 12/13 and capability advertisement. MO lowering and public SQL acceptance follow that merged increment.The descriptor, binding and scalar execution changes form one end-to-end contract: splitting those paths would leave width/nullability or conditional-error behavior unverified. The larger aggregate/key work is already split into Native B. The change/evidence map documents ownership, exposure and commands.
Validation on the frozen
moenvironment, CUDA 13.3.73 / cuDF-RMM 26.08 / GCC 14.4.0, RTX 3070 / driver 615.71.09:The conditional regression was reproduced before the fix: cuDF STRUCT selection added child masks, violating the canonical Decimal256 carrier. The fix retains the strict shape assertion and verifies a following exact operation, inactive overflow/cast suppression, active typed errors and evaluator recovery. No assertions were weakened or tests skipped.
Raw benchmark repetitions retain the primitive controls and add identical-value ordinary/exact expression controls. Primitive checked medians changed by -0.05% to +3.83% against the recorded #25 local run. These measurements and memcheck do not establish the later SQL, resource or concurrency acceptance gates.