rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
33 lines (32 loc) • 1.04 kB
TypeScript
import { FromClause } from '../../models/Clause';
import { DataFlowGraph } from '../models/DataFlowGraph';
import { DataSourceHandler } from './DataSourceHandler';
/**
* Handles the processing of JOIN operations
*/
export declare class JoinHandler {
private graph;
private dataSourceHandler;
private joinIdCounter;
constructor(graph: DataFlowGraph, dataSourceHandler: DataSourceHandler);
/**
* Resets the join ID counter for deterministic IDs
*/
resetJoinCounter(): void;
/**
* Gets the next join ID
*/
private getNextJoinId;
/**
* Processes a FROM clause with JOINs and returns the final node ID
*/
processFromClause(fromClause: FromClause, cteNames: Set<string>, queryProcessor: (query: any, context: string, cteNames: Set<string>) => string): string;
/**
* Processes a series of JOINs sequentially
*/
private processJoins;
/**
* Gets nullability labels for JOIN edges based on JOIN type
*/
private getJoinNullabilityLabels;
}