Skip to main content

Module column_edges

Module column_edges 

Source
Expand description

Column-level edge extraction.

Consumes a populated SqlStatementModel (SQLSEM-002 tables plus SQLSEM-003 columns) and emits typed column-granular dependency edges. Five edge kinds, picked from the column’s ColumnResolution and whether its table is known:

  • ReadsColumn — resolved read of a specific column.
  • WritesColumn — resolved write of a specific column.
  • DerivesColumn — the column feeds a projection expression or star expansion (the value is derived, not a direct column-to-column dependency).
  • ReadsUnknownColumnOfTable — read of an unresolved column while the table is known (bare column, multi-table scope).
  • WritesUnknownColumnOfTable — same, on the write side.

This is the typed counterpart to SQLSEM-004’s string-encoded ReadsColumn:<marker> facts; lineage consumes these enums directly without re-parsing the marker.

§/oracle evidence

  • DATABASE-REFERENCE.md PL/SQL Language Reference — the column reference + projection grammar.
  • LOW-LEVEL-CATALOGS.md Data Dictionary View Families — ALL_TAB_COLUMNS resolves an Unknown* edge into a concrete ReadsColumn / WritesColumn once the catalog is available (the unknown-of-table variant preserves the table so that upgrade is possible).

Structs§

ColumnEdge
One column-granular dependency edge.

Enums§

ColumnEdgeKind

Functions§

extract_column_edges
Extract typed column edges from one statement model.
extract_column_edges_for_model
Extract column edges for every statement in a model.