UNPKG

lupdo

Version:

Database Abstraction Layer for Node js

63 lines (62 loc) 3.04 kB
import { PdoAffectingData } from '../types/pdo-affecting-data'; import { PdoAttributes } from '../types/pdo-attributes'; import { PdoColumnData } from '../types/pdo-column-data'; import { PoolConnection, PoolI } from '../types/pdo-pool'; import { Params, ValidBindings, ValidBindingsSingle } from '../types/pdo-prepared-statement'; import { PdoRawConnectionI } from '../types/pdo-raw-connection'; import { PdoRowData } from '../types/pdo-raw-data'; export declare abstract class PdoRawConnection implements PdoRawConnectionI { protected readonly pool: PoolI<PoolConnection>; protected attributes: PdoAttributes; protected connection: PoolConnection | null; protected inTransaction: boolean; protected statements: Map<string, any>; constructor(pool: PoolI<PoolConnection>); protected abstract doBeginTransaction(connection: PoolConnection): Promise<void>; protected abstract doCommit(connection: PoolConnection): Promise<void>; protected abstract doRollback(connection: PoolConnection): Promise<void>; protected abstract doQuery(connection: PoolConnection, sql: string): Promise<[ PdoAffectingData, PdoRowData[][] | PdoRowData[], PdoColumnData[][] | PdoColumnData[] ]>; protected abstract doExec(connection: PoolConnection, sql: string): Promise<PdoAffectingData>; protected abstract getStatement(sql: string, connection: PoolConnection): Promise<any>; protected abstract executeStatement(statement: any, bindings: Params, connection: PoolConnection): Promise<[ string, PdoAffectingData, PdoRowData[][] | PdoRowData[], PdoColumnData[][] | PdoColumnData[] ]>; protected abstract closeStatement(statement: any, connection: PoolConnection): Promise<void>; protected abstract adaptBindValue(value: ValidBindingsSingle): ValidBindingsSingle; beginTransaction(): Promise<void>; commit(): Promise<void>; rollback(): Promise<void>; prepare(sql: string): Promise<any>; bindValue(value: ValidBindings): ValidBindings; execute(sql: string, params: Params | null): Promise<[ string, PdoAffectingData, PdoRowData[][] | PdoRowData[], PdoColumnData[][] | PdoColumnData[] ]>; exec(sql: string): Promise<number>; query(sql: string): Promise<[ PdoAffectingData, PdoRowData[][] | PdoRowData[], PdoColumnData[][] | PdoColumnData[] ]>; lastInsertId({ affectingResults, }: { affectingResults: PdoAffectingData; }): Promise<string | number | null>; close(): Promise<void>; getAttribute(attribute: string): string | number; setAttribute(attribute: string, value: number | string): boolean; setAttributes(attributes: PdoAttributes): void; protected release(): Promise<void>; protected generateStatement(sql: string): Promise<[string, any]>; protected generateOrReuseConnection(): Promise<PoolConnection>; protected generateConnection(): Promise<PoolConnection>; } export default PdoRawConnection;