node-firebird-driver
Version:
Firebird Driver Interfaces for Node.js
45 lines (44 loc) • 3.17 kB
TypeScript
import { AbstractAttachment } from './attachment';
import { AbstractResultSet } from './resultset';
import { AbstractTransaction } from './transaction';
import { ExecuteOptions, ExecuteQueryOptions, FetchOptions, Statement } from '..';
/** AbstractStatement implementation. */
export declare abstract class AbstractStatement implements Statement {
attachment?: AbstractAttachment | undefined;
resultSet?: AbstractResultSet;
abstract getExecPathText(): Promise<string | undefined>;
/** Gets the query's result columns labels. Returns empty array for queries without result. */
abstract get columnLabels(): Promise<string[]>;
/** When true, query result must be obtained with method executeQuery. */
readonly hasResultSet: boolean;
/** Default query's execute options. */
defaultExecuteOptions: ExecuteOptions;
/** Default query's executeQuery options. */
defaultExecuteQueryOptions: ExecuteQueryOptions;
/** Default result set's fetch options. */
defaultFetchOptions: FetchOptions;
protected constructor(attachment?: AbstractAttachment | undefined);
/** Disposes this statement's resources. */
dispose(): Promise<void>;
/** Executes a prepared statement that uses the SET TRANSACTION command. Returns the new transaction. */
executeTransaction(transaction: AbstractTransaction): Promise<AbstractTransaction>;
/** Executes a prepared statement that has no result set. */
execute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<void>;
/** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
executeSingleton(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
/** Executes a statement that returns a single record as an object. */
executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<T>;
/** Executes a statement that returns a single record as [col1, col2, ..., colN]. */
executeReturning(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
/** Executes a statement that returns a single record as an object. */
executeReturningAsObject<T extends object>(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<T>;
/** Executes a prepared statement that has result set. */
executeQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions): Promise<AbstractResultSet>;
get isValid(): boolean;
private check;
abstract setCursorName(cursorName: string): Promise<void>;
protected abstract internalDispose(): Promise<void>;
protected abstract internalExecuteTransaction(transaction: AbstractTransaction): Promise<AbstractTransaction>;
protected abstract internalExecute(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteOptions): Promise<any[]>;
protected abstract internalExecuteQuery(transaction: AbstractTransaction, parameters?: any[], options?: ExecuteQueryOptions): Promise<AbstractResultSet>;
}