rawsql-ts
Version:
High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
23 lines (22 loc) • 894 B
TypeScript
import { SelectQuery } from "../models/SelectQuery";
import { SqlComponentFormatOptions } from "./SqlComponentFormatter";
export interface ConditionDeduplicationApplied {
kind: "dedupe_condition";
conditionSql: string;
scopeId: string;
reason: string;
}
export interface ConditionDeduplicationResult {
/** API output shape review: this phase mutates and returns the model only; ConditionOptimization remains responsible for compatibility sql output. */
query: SelectQuery | null;
applied: readonly ConditionDeduplicationApplied[];
}
export declare class ConditionDeduplicationOptimizer {
private visited;
private applied;
optimize(query: SelectQuery | null, options: SqlComponentFormatOptions): ConditionDeduplicationResult;
private visitSelectQuery;
private visitSourceExpression;
private visitValueComponent;
private dedupeCondition;
}