rawsql-ts
Version:
High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
22 lines (21 loc) • 875 B
TypeScript
import { SelectQuery } from "../models/SelectQuery";
import { SqlComponent } from "../models/SqlComponent";
export type SelectBodyWrapperKind = "create-table-as" | "create-view" | "create-materialized-view" | "insert-select";
export interface SelectBodyExtractionResult {
supported: boolean;
kind: SelectBodyWrapperKind | null;
targetName: string | null;
selectQuery: SelectQuery | null;
reason?: string;
}
export declare class SelectBodyExtractor {
static extract(input: string | SqlComponent): SelectBodyExtractionResult;
private static extractFromSql;
private static extractFromStatement;
private static extractCreateViewFromLexemes;
private static isCreateViewStatement;
private static consumeBalancedParentheses;
private static createTableTargetName;
private static insertTargetName;
private static unsupported;
}