UNPKG

rhombic

Version:

SQL parsing, lineage extraction and manipulation

33 lines 1.21 kB
import { TablePrimary } from ".."; import { Edge, Table } from "../Lineage"; import { QueryStructureVisitor, TableRelation, QueryRelation } from "./QueryStructureVisitor"; /** * Visitor extending #QueryStructureVisitor and implementing #onRelation() and #onColumnReference() * to build column-based SQL lineage. */ export declare class LineageVisitor<TableData, ColumnData> extends QueryStructureVisitor<void> { /** Collected relations (tables). */ tables: { tablePrimary?: TablePrimary; table: Table<TableData, ColumnData>; }[]; /** Collected references (edges). */ edges: Edge[]; constructor(getTable: (table: TablePrimary) => { table: { id: string; data: TableData; }; columns: { id: string; data: ColumnData; }[]; } | undefined, options?: { positionalRefsEnabled?: boolean; }); onColumnReference(tableId: string, columnId?: string): void; onRelation(relation: TableRelation | QueryRelation, alias?: string): void; protected defaultResult(): void; aggregateResult(_aggregate: void, _nextResult: void): void; } //# sourceMappingURL=LineageVisitor.d.ts.map