Repository navigation
fix(compiler)!: reject unknown schema-change values and follow dialect quoting in compile scanners - #912
Merged
Conversation
… dlt_sources keys Unknown on_schema_change and replay_on_change values fell back to the default policy, and dlt_sources groups and resources accepted any key. They now fail compilation: MODEL headers and [defaults]/[path_defaults] name the value, list the valid ones and show a valid header or TOML line; dlt keys get the nearest supported key as help. bounded-<duration> must carry a positive duration. The planner no longer maps unknown values to a default. BREAKING CHANGE: unknown on_schema_change or replay_on_change values and unknown dlt_sources keys now fail compilation. Refs: CHI-465
Reference extraction, SQL test and scenario CTE scanning, assertion target detection, scope relationships and native SQL test planning now honour the active adapter's lexical syntax (backslash escapes, escape and raw string prefixes, triple quotes, dialect line comments and nested block comments) instead of generic SQL rules. Cache keys include the lexical syntax. Refs: CHI-466
…binding When a relation carries exact (quoted) column names, such as a source table read from the warehouse, binding encodes every identifier. JOIN USING columns were encoded twice, once through the SELECT and once through the JOIN node, so valid joins failed with B002 "JOIN USING column must exist on both sides". The capped microbatch dependency fixtures read a real source table again. Refs: CHI-467
… an error When compile raised an error, such as a header parse failure, --json wrote nothing to stdout. It now prints one JSON document with has_errors, stopped, and the error's code, message and help, matching the stderr text. The exit code is unchanged and progress stays on stderr. Refs: CHI-470
…tead of sleeping The concurrent microbatch test relied on a 50 ms sleep for three delta stagings to overlap and saw two under load. After each model's serial first batch, the tracking adapter now holds stagings until three are active, with a 30 s timeout that fails the test with a clear message. Refs: CHI-468
…sion Local development builds shared one SQLBuild version, so the Rules cache under target/rules-cache reused results from older builds until it was cleared. A build script now hashes the native crate sources and lockfile, and the ruleset fingerprint, model and custom-rule cache identities, and the SQL rule cache use the version plus that hash. Released builds keep a stable identity. Refs: CHI-471
kvlonge
enabled auto-merge (squash)
October 2, 2026 18:25
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
Several small correctness gaps: unknown
on_schema_change/replay_on_changevalues silently fell back to defaults anddlt_sourcesaccepted unknown keys (CHI-465); compile-step SQL scanners ignored dialect string escapes (CHI-466); quoted source columns caused a false B002 onJOIN USING(CHI-467);compile --jsonprinted nothing when compile stopped on an error (CHI-470); a microbatch overlap test was timing-flaky (CHI-468); the Rules cache reused stale results on development builds (CHI-471).Changes
on_schema_change/replay_on_changevalues fail in headers (P001) and[defaults]/[path_defaults](D001); unknowndlt_sourceskeys fail (D006). The planner no longer falls back silently.JOIN USINGcolumns are encoded once, so quoted source columns no longer trigger B002; capped microbatch fixtures read real source tables again.compile --jsonprints one JSON document withstopped: trueand the error when compile raises.Cargo.lock.Verification
make test,make check-ci; one independent review (no high or medium findings; low items fixed or tracked in CHI-477).