UNPKG

rawsql-ts

Version:

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

39 lines (38 loc) 1.73 kB
import { MergeQuery } from '../models/MergeQuery'; import { SimpleSelectQuery } from '../models/SelectQuery'; import { FixtureTableDefinition } from './FixtureCteBuilder'; import type { MissingFixtureStrategy } from './InsertResultSelectConverter'; export interface MergeResultSelectOptions { fixtureTables?: FixtureTableDefinition[]; missingFixtureStrategy?: MissingFixtureStrategy; } export declare class MergeResultSelectConverter { private static readonly DEFAULT_MISSING_FIXTURE_STRATEGY; /** * Converts a MERGE query into a SELECT that counts or models the rows affected by each action. */ static toSelectQuery(mergeQuery: MergeQuery, options?: MergeResultSelectOptions): SimpleSelectQuery; private static buildActionSelects; private static buildSelectForClause; private static buildMatchedSelect; private static buildNotMatchedSelect; private static buildNotMatchedBySourceSelect; private static buildNotExistsExpression; private static buildActionWhereClause; private static combineConditions; private static combineSelects; private static buildLiteralSelectClause; private static buildCountSelectClause; private static buildFixtureCtes; private static collectPhysicalTableReferences; private static filterFixtureTablesForReferences; private static collectReferencedTablesFromWithClause; private static extractTargetTableName; private static buildFixtureTableMap; private static ensureFixtureCoverage; private static collectReferencedTables; private static collectCteNamesFromWithClause; private static getMissingFixtureTables; private static mergeWithClause; private static normalizeIdentifier; }