UNPKG

rawsql-ts

Version:

[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

59 lines (58 loc) 1.57 kB
import { SelectQuery } from "../models/SelectQuery"; /** * CTE dependency tree node for visualization */ export interface CTENode { name: string; columns: string[]; dependencies: string[]; dependents: string[]; query: SelectQuery; level: number; } /** * CTE dependency graph for debugging complex queries */ export interface CTEGraph { nodes: Map<string, CTENode>; rootNodes: string[]; leafNodes: string[]; } /** * Debug utility for visualizing CTE dependencies and column search paths */ export declare class CTEDependencyTracer { private columnCollector; private silent; constructor(options?: { silent?: boolean; }); /** * Build complete CTE dependency graph */ buildGraph(query: SelectQuery): CTEGraph; /** * Trace column search path through CTE dependencies */ traceColumnSearch(query: SelectQuery, columnName: string): { searchPath: string[]; foundIn: string[]; notFoundIn: string[]; graph: CTEGraph; }; /** * Print visual representation of CTE dependency graph */ printGraph(graph: CTEGraph): void; /** * Print column search trace */ printColumnTrace(columnName: string, trace: ReturnType<typeof this.traceColumnSearch>): void; /** * Find CTEs that are actually referenced in the given query. * Uses TableSourceCollector to properly identify table references from the AST. */ private findReferencedCTEs; private calculateLevels; private getSearchOrder; }