Repository navigation
refactor: run sqb dbt, dbt interop, discovery leftovers, selectors and macro expansion natively - #1104
Merged
Conversation
…el descriptions natively
Port Python-node, unified SQL/Python run and check-exclude selector resolution plus the Python node graph edge, tag and path indexes to sqlbuild-analysis. The node inventory that reads loaded user functions moves to compiler/python_nodes/_helpers/user_inventory.py (user-code).
…xpansion Project macro module loading and the context mappings user macros read move to render/user_macros.py, and the macro bridge and its render-stage runner to macro_bridge/classes/macro_bridge.py, both kept as user-code. Macro expansion now returns MacroExpansionResult natively, the expansion class table is built natively, and find_macro_call_names replaces the raw native call-name scan.
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 (CHI-585), fifth combined PR: the last CLI command family (dbt) and dbt interop internals (CHI-592), Phase 1 (CHI-589) discovery, selectors and macro rendering, and the first Phase 4 (CHI-593) planner slice.
Changes
sqb dbtcommand glue; dbt event-stream parsing; combined graph and selection; dbt argv,dbt lsparsing, routing, config, plan assembly and execution decisions.Intentional differences: when several selection violations exist the first in sorted order is reported; dbt JSON lines with NaN/Infinity are ignored; traceback frames; internal Python APIs removed or renamed.
Verification
sqb dbtCLI runs (33) and build/plan runs (52): identical apart from spinner and traceback frames.make check-ci.