@breautek/storm
Version:
Object-Oriented REST API framework
44 lines (43 loc) • 1.71 kB
TypeScript
import { IDatabaseConnection } from './IDatabaseConnection';
import { Readable } from 'stream';
import { Query } from './Query';
import { IsolationLevel } from './IsolationLevel';
import { IDatabasePosition } from './IDatabasePosition';
import { IQueryable } from './IQueryable';
import { TransactionAccessLevel } from './TransactionAccessLevel';
export declare class ManagedDatabaseConnection implements IDatabaseConnection {
private $connection;
/**
* When true, this class will not close the connection or
* allow transaction starts or ends. Methods for these actions
* will be a no-op.
*/
private $managed;
private $requiresWrite;
private $instantionStack;
constructor(requiresWrite?: boolean);
isMaster(): boolean;
isReplication(): boolean;
hasReplicationEnabled(): boolean;
formatQuery(query: IQueryable<any>): string;
setConnection(connection: IDatabaseConnection): void;
isClosed(): boolean;
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
isWriteRequired(): boolean;
isManaged(): boolean;
hasConnection(): boolean;
setInstantiationStack(stack: string): void;
getInstantiationStack(): string;
isReadOnly(): boolean;
setTimeout(timeout: number): void;
getTimeout(): number;
query(query: Query, params?: any): Promise<any>;
stream(query: Query, params?: any, streamOptions?: any): Readable;
close(forceClose?: boolean): Promise<void>;
startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
isTransaction(): boolean;
commit(): Promise<void>;
rollback(): Promise<void>;
private $getConnection;
getAPI(): any;
}