ci: multi-transport SQL E2E (subprocess, http, unix)#7
Merged
Conversation
Parameterize ci/run-integration.sh by TRANSPORT and expand the integration job into an os x transport matrix. The same test/sql/*.test suite now runs over all three transports the vgi extension supports, by varying only the LOCATION the .test files ATTACH (VGI_EVTX_WORKER): subprocess the stdio worker binary DuckDB spawns (current behavior) http evtx-worker --http (auto port, advertises PORT:<n>) unix evtx-worker --unix <sock> (advertises UNIX:<sock>) For the http leg the script starts the worker out-of-band, discovers the port from stdout, and the awk preprocessor injects a signed INSTALL/LOAD httpfs after each LOAD vgi;. The http/unix worker is launched with cwd = the stage dir so the VARCHAR-path overloads of evtx_records() and the scalars resolve the staged test/sql/data/*.evtx fixtures server-side (staging now runs before the worker launch). A fail-on-skip guard rejects the silent auto-skip the sqllogictest runner applies to "HTTP"-containing errors. Cleanup trap preserves the run's exit code. No worker code changes: the evtx_records() producer drains fully within the HTTP init response (the Rust SDK serves producers with producer_batch_limit 0), so the streaming table function works over HTTP unchanged — no externalized-cursor fix required. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5d9a850 to
0dbe528
Compare
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.
Parameterizes
ci/run-integration.shbyTRANSPORTand expands the integration job into an os x transport matrix so the sametest/sql/*.testsuite runs over all three transports the vgi extension supports (subprocess, http, unix).The http/unix worker is launched with cwd = the stage dir so
evtx_records('test/sql/data/...')and the path-input scalars resolve the staged fixtures server-side. Theevtx_records()table function passes over http unchanged (the Rust SDK drains producers fully in the init response — no externalized-cursor fix needed). Verified locally: all three GREEN (59/63/59 assertions).🤖 Generated with Claude Code