Repository navigation
feat(embedding): add native C ABI and lifecycle foundation - #14
Merged
aunjgr merged 2 commits intoSep 16, 2026
Merged
Conversation
16 tasks done
aunjgr
marked this pull request as ready for review
September 16, 2026 08:46
4 tasks done
zuyu
pushed a commit
that referenced
this pull request
Oct 14, 2026
* feat(embedding): add native C ABI and lifecycle foundation * fix(embedding): enforce execution deadlines and complete foundation validation
zuyu
pushed a commit
that referenced
this pull request
Oct 21, 2026
* feat(embedding): add native C ABI and lifecycle foundation * fix(embedding): enforce execution deadlines and complete foundation validation
zuyu
pushed a commit
that referenced
this pull request
Oct 22, 2026
* feat(embedding): add native C ABI and lifecycle foundation * fix(embedding): enforce execution deadlines and complete foundation validation
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.
Summary
Refs matrixorigin/matrixone#28966, migration stage 3 (native foundation).
Based on merged Sirius #13 (
93df6a80).This PR completes the stage 3 control/library foundation needed to embed Sirius
without giving foreign callers ownership of DuckDB's thread-affine execution
window. It is independently reviewable; the four-stage native round is not yet
complete. This branch advertises ENGINE_CONTROL only. The production query factory intentionally returns
UNSUPPORTED until stages 4-6 connect bounded MO input, TAE bindings and results.
It does not call the eager Arrow/materialized-result FFI as a substitute.
Implemented
option layout checks and non-clobbering create/close ownership.
Sirius::embedtarget and a verified build-tree CMake SDK/linkermanifest generated from the actual successful C consumer link command.
destruction. Cancellation bypasses its command queue; live handles and
waiting requests are bounded. Wait timeout is distinct from query deadline.
completes cleanup. SDK export reruns when its generator or public header changes.
and asynchronous ownership, without an oversized-request escape hatch.
disables automatic extension loading to avoid a duplicate Sirius runtime.
promise. Workers notify; the query owner seals health and drains. Unprovable
native cleanup retains unsafe owners and refuses reuse/destruction.
See
docs/embedding-c-api.mdfor API behavior, current limitations and build commands.Validation
313 assertions in 21 cases passed.
cancellation, duplicate-runtime rejection, and shutdown/recreation with the
default two GPU workers followed by one worker.
and passed its actual GPU runtime smoke test without access to internal
DuckDB/cuDF/C++ headers.
Follow-up PRs (outside this foundation PR)
capacity checks across the actual data path.
MO CGo wiring, numeric compatibility and Flight retirement remain outside this round.