Repository navigation
refactor: write sqb compile output, artifacts and reuse records natively - #1098
Merged
Merged
Conversation
Port the sqb compile report (text, JSON and stopped-compile JSON), the semantic-check notice, compile lineage selection, the static and planned target writers, the SQL-test artifact cache, background artifact preparation and staged publication, and the full-compile reuse recording to Rust. The compile driver calls them directly; the artifact-write recorder is passed explicitly instead of through a global registry. The Python implementations are removed.
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.
Why
Rust-hosted SQLBuild port: Phase 3 (CHI-592) moves the
sqb compilecommand's output and artifact handling into Rust; Phase 1 (CHI-589) continues with discovery.Changes
sqb compiletext and JSON reports, semantic-check notice and diagnostics rendering moved tosqlbuild-core(cli_text).target/writing (compiled/run SQL, manifest, SQL test artifacts and their cache), artifact staging and atomic publish (PreparedCompileArtifacts), and compile-reuse recording are native; the compile driver calls them directly.cli/commands/_helpers/compile/,prepared_compile_artifacts.py,native_artifact_batch.pyand the full-compile recording pieces ofcli/compile_reuse/._.Intentional differences: the artifact-write recorder is passed explicitly per compile instead of a global registry; the header parse cache clears when full instead of evicting LRU; header syntax errors no longer chain their cause.
Verification
make check-ci; hygiene scan.