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
TypeScript
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;
}