feat: Oracle dialect lineage support#35
Open
DmitriyAlergant wants to merge 1 commit intopondpilot:masterfrom
Open
feat: Oracle dialect lineage support#35DmitriyAlergant wants to merge 1 commit intopondpilot:masterfrom
DmitriyAlergant wants to merge 1 commit intopondpilot:masterfrom
Conversation
Rebased onto origin/master. Merged with upstream name_spans/body_span additions (origin/master commits 4356030, 83b57ee) — Node struct gains name_spans/body_span fields; add_target_column_node initializes them. Also: clippy fixes to pre-existing build.rs warnings (uninlined format args; BTreeSet<&str> to avoid to_string allocation). Adds Oracle SQL fixture corpus (90 files) translated from the sql-parser-service (Dali) Python test cases, covering INSERT, UPDATE, DELETE, MERGE, SELECT, CREATE VIEW, and CTAS. Schema metadata for star expansion at tests/fixtures/schemas/oracle_sample.json. Parsing & lineage improvements: - INSERT...WITH CTE recognition fix - SYSDATE pseudocolumn handling (not a column reference) - DUAL pseudo-table recognition (+ build.rs emits pseudo_tables()) - View column-list renaming for column-level lineage - MERGE SET/INSERT target column nodes + add_target_column_node() - UPDATE SET target column nodes + schema expansion - Shared helpers for target-column normalization Dali compat layer (flowscope-export/src/dali_compat.rs): maps FlowScope AnalyzeResult to Dali JSON contract (transforms, table_lineage, refs). CLI --format dali / dali-compact added. 28 integration tests validate adapter against the Oracle fixture corpus. Also: scripts/xlsx_to_schema.py converts sql-parser-service metadata.xlsx into SchemaMetadata JSON. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
SYSDATEpseudocolumn;DUALpseudo-table (+build.rsemitspseudo_tables()); view column-list renaming; MERGE SET/INSERT target column nodes; UPDATE SET target column nodes; schema expansion; shared helpers for target-column normalization.flowscope-export/src/dali_compat.rs) — maps FlowScopeAnalyzeResultto the sql-parser-service JSON contract (transforms,table_lineage,refs). CLI gains--format daliand--format dali-compact. 28 integration tests validate the adapter.scripts/xlsx_to_schema.pyconverts sql-parser-servicemetadata.xlsxintoSchemaMetadataJSON.Test plan
cargo test -p flowscope-core --test lineage_engine— all Oracle fixtures parse, ~413 lineage engine tests passcargo test -p flowscope-export --test dali_compat_oracle— 28 Dali-compat tests passcargo test -p flowscope-core -p flowscope-export— full core + export suite green, no regressionsflowscope --dialect oracle --format dali < input.sqlproduces the expected JSON shapeflowscope --dialect oracle --format dali --schema oracle_sample.json < input.sql🤖 Generated with Claude Code