@breautek/storm
Version:
Object-Oriented REST API framework
48 lines (47 loc) • 2 kB
TypeScript
import { DatabaseConnection } from './DatabaseConnection';
import * as MySQL from 'mysql2';
import { Readable } from 'stream';
import { IsolationLevel } from './IsolationLevel';
import { IDatabasePosition } from './IDatabasePosition';
import { IQueryable } from './IQueryable';
import { TransactionAccessLevel } from './TransactionAccessLevel';
import { IGetMySQLVersionResult } from './GetMySQLVersion';
import { IMetricGauge } from './MetricStore';
export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
private $transaction;
private $opened;
private $hasReplicationEnabled;
private $isMasterConnection;
private $version;
private $activeConnectionsGauge;
constructor(connection: MySQL.PoolConnection, instantiationStack: string, isReadOnly?: boolean, activeConnectionsGauge?: IMetricGauge | null);
/**
* @internal - Do not use in application code
*/
__internal_init(): Promise<void>;
getVersion(): Promise<IGetMySQLVersionResult>;
formatQuery(query: IQueryable<any>): string;
/**
* Returns true if this server is the source.
* Will also return true if there is no replication detected.
*/
isMaster(): boolean;
/**
* Returns true if this server is part of a replication cluster.
*/
hasReplicationEnabled(): boolean;
/**
* Returns true if this server is a replication server.
*/
isReplication(): boolean;
isTransaction(): boolean;
isOpen(): boolean;
getCurrentDatabasePosition(): Promise<IDatabasePosition>;
protected _query(query: string, params?: any): Promise<any>;
protected _stream(query: string, params?: any, streamOptions?: any): Readable;
startTransaction(isolationLevel?: IsolationLevel, accessLevel?: TransactionAccessLevel): Promise<void>;
endTransaction(requiresRollback?: boolean): Promise<void>;
rollback(): Promise<void>;
commit(): Promise<void>;
protected _close(forceClose: boolean): Promise<void>;
}