UNPKG

rawsql-ts

Version:

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

54 lines (53 loc) 2.73 kB
import { DeleteQuery } from '../models/DeleteQuery'; import { SimpleSelectQuery } from '../models/SelectQuery'; import { TableDefinitionModel, TableDefinitionRegistry } from '../models/TableDefinitionModel'; import { FixtureTableDefinition } from './FixtureCteBuilder'; import type { MissingFixtureStrategy } from './InsertResultSelectConverter'; /** Options that control how DELETE-to-SELECT conversion resolves metadata and fixtures. */ export interface DeleteResultSelectOptions { /** Optional registry keyed by table name (matching the target table name case). */ tableDefinitions?: TableDefinitionRegistry; /** Optional callback that resolves metadata by table name (useful for schemified targets). */ tableDefinitionResolver?: (tableName: string) => TableDefinitionModel | undefined; /** Optional fixtures that should shadow real tables inside the generated SELECT. */ fixtureTables?: FixtureTableDefinition[]; /** Strategy for how missing fixtures should be tolerated. */ missingFixtureStrategy?: MissingFixtureStrategy; } export declare class DeleteResultSelectConverter { private static readonly DEFAULT_MISSING_FIXTURE_STRATEGY; /** * Converts a DELETE (with optional RETURNING) into a SELECT that mirrors its output rows. */ static toSelectQuery(deleteQuery: DeleteQuery, options?: DeleteResultSelectOptions): SimpleSelectQuery; private static buildReturningSelectClause; private static buildReturningSelectItems; private static isWildcardReturningItem; private static expandReturningWildcard; private static buildDeleteReturningSelectItem; private static buildDeleteColumnReference; private static composeDeleteColumnReference; private static getReturningAlias; private static buildCountSelectClause; private static buildFromClause; private static buildReturningContext; private static buildTableContexts; private static parseReturningColumnName; private static findTableContextForNamespaces; private static ensureColumnExists; private static resolveTableDefinition; private static convertFixtureToTableDefinition; private static buildTableDefinitionMap; private static extractTargetTableName; private static buildFixtureCtes; private static collectPhysicalTableReferences; private static buildFixtureTableMap; private static filterFixtureTablesForReferences; private static collectReferencedTablesFromWithClause; private static ensureFixtureCoverage; private static collectReferencedTables; private static collectCteNamesFromWithClause; private static getMissingFixtureTables; private static mergeWithClause; private static normalizeIdentifier; }