ts-sql-query
Version:
Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
26 lines (25 loc) • 1.5 kB
TypeScript
import type { UnwrapPromiseTuple } from "../utils/PromiseProvider";
import { PromiseBasedAbstractQueryRunner } from "./PromiseBasedAbstractQueryRunner";
import type { DatabaseType, QueryRunner } from "./QueryRunner";
import type { Sql, TransactionSql } from 'postgres';
export declare class PostgresQueryRunner extends PromiseBasedAbstractQueryRunner {
database: DatabaseType;
readonly connection: Sql;
transaction?: TransactionSql;
constructor(connection: Sql);
useDatabase(database: DatabaseType): void;
getNativeRunner(): Sql;
getCurrentNativeTransaction(): TransactionSql | undefined;
execute<RESULT>(fn: (connection: unknown, transaction?: unknown) => Promise<RESULT>): Promise<RESULT>;
protected executeQueryReturning(query: string, params: any[]): Promise<any[]>;
protected executeMutation(query: string, params: any[]): Promise<number>;
executeBeginTransaction(): Promise<void>;
executeCommit(): Promise<void>;
executeRollback(): Promise<void>;
isTransactionActive(): boolean;
addParam(params: any[], value: any): string;
executeInTransaction<P extends Promise<any>[]>(fn: () => [...P], outermostQueryRunner: QueryRunner): Promise<UnwrapPromiseTuple<P>>;
executeInTransaction<T>(fn: () => Promise<T>, outermostQueryRunner: QueryRunner): Promise<T>;
executeInTransaction(fn: () => Promise<any>[] | Promise<any>, outermostQueryRunner: QueryRunner): Promise<any>;
lowLevelTransactionManagementSupported(): boolean;
}