Repository navigation
feat: add query-scoped extension import handlers - #3
Merged
aunjgr merged 1 commit intoOct 2, 2026
Conversation
aunjgr
merged commit Oct 2, 2026
dd4cab1
into
matrixorigin:feature/26155-substrait-anti-joins
4 of 6 checks passed
This was referenced Oct 8, 2026
1 task done
4 tasks done
zuyu
pushed a commit
that referenced
this pull request
Oct 14, 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.
What this PR does
Add a converter-scoped C++ extension handler for user-defined types, typed NULLs, literals, scalar functions and aggregates. Preserve resolved extension identities, full type/function parameters and declared result types for embedding consumers, without adding numeric coercion or global registrations.
Why
Embedded Sirius needs to preserve MatrixOne's approved exact-decimal semantics rather than let generic DuckDB decimal binding derive different types. This supplies the import boundary; the numeric implementation and capability advertisement remain in Sirius.
Refs matrixorigin/matrixone#28968 and matrixorigin/matrixone#28966. Numeric contract approved in matrixorigin/matrixone#29449, document revision
42a89f09a1d168d02b9583cb3ea7b4de6dbb5634.Compatibility and scope
feature/26155-substrait-anti-joins, the compatible branch pinned by Sirius atb131fd6659fe5fa0c6e39c52059e29ac903b2d59. Importer main has diverged; this PR deliberately does not synchronize dependencies or include unrelated commits.Verification
Built against Sirius's pinned DuckDB using its frozen
moPixi environment. Sirius object/archive build passes. Direct C++ consumer test passes 60 assertions covering complete type parameters, typed NULL, payload identity, full scalar/aggregate signatures, ordinary-import controls and malformed/unhandled extensions. New tests are registered with the importer C++ test target. No Docker image build and no change to DuckDB itself.