@breautek/storm
Version:
Object-Oriented REST API framework
38 lines (37 loc) • 1.33 kB
TypeScript
import { Readable } from 'stream';
import { IQueryable } from './IQueryable';
import { IsolationLevel } from './IsolationLevel';
import { IDatabasePosition } from './IDatabasePosition';
import { TransactionAccessLevel } from './TransactionAccessLevel';
export interface IDatabaseConnection {
setInstantiationStack(stack: string): void;
getInstantiationStack(): string;
getAPI(): any;
isReadOnly(): boolean;
isMaster(): boolean;
isReplication(): boolean;
hasReplicationEnabled(): boolean;
setTimeout(timeout: number): void;
getTimeout(): number;
query(query: IQueryable<any>, params?: any): Promise<any>;
/**
* @deprecated - Streaming queries does not support post processing, creating a confusing API
*/
stream(query: IQueryable<any>, params?: any, streamOptions?: any): Readable;
close(forceClose?: boolean): Promise<void>;
isClosed(): boolean;
startTransaction(level?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
isTransaction(): boolean;
commit(): Promise<void>;
rollback(): Promise<void>;
/**
* @since 8.4.0
* @param query
* @param params
*/
formatQuery(query: IQueryable<any>): string;
/**
* @since 8.1.0
*/
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
}