rawsql-ts
Version:
High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
24 lines (23 loc) • 1.43 kB
TypeScript
import { SqlComponent } from '../models/SqlComponent';
import { InsertResultSelectOptions } from './InsertResultSelectConverter';
import { UpdateResultSelectOptions } from './UpdateResultSelectConverter';
import { DeleteResultSelectOptions } from './DeleteResultSelectConverter';
import { MergeResultSelectOptions } from './MergeResultSelectConverter';
import { SelectResultSelectOptions } from './SelectResultSelectConverter';
export type SimulatedSelectOptions = InsertResultSelectOptions & UpdateResultSelectOptions & DeleteResultSelectOptions & MergeResultSelectOptions & SelectResultSelectOptions;
export declare class SimulatedSelectConverter {
/**
* Converts a SQL statement into a simulated SELECT statement for previewing results.
*
* Rules:
* 1. INSERT/UPDATE/DELETE/MERGE: Converted to SELECT statement showing affected rows.
* 2. SELECT: Preserved as is (with fixtures injected).
* 3. CREATE TEMPORARY TABLE ... AS SELECT: Preserved as is (with fixtures injected into inner SELECT).
* 4. Other DDL (CREATE TABLE, DROP, ALTER, etc.): Ignored (returns null).
*
* @param ast The SQL component to convert
* @param options Options for conversion (fixtures, table definitions, etc.)
* @returns The converted SqlComponent or null if the statement should be ignored.
*/
static convert(ast: SqlComponent, options?: SimulatedSelectOptions): SqlComponent | null;
}