UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

108 lines (107 loc) 3.18 kB
import { DatabaseResult } from "../definitions/database-definition"; import { SqlCompilable } from "../crud/sql-compilable"; import { SqlExecutable } from "../crud/sql-executable"; import { SingleTransactionManager } from "./single-transaction-manager"; import { Observable } from "rxjs"; /** * Manages better and homogeneous transaction between providers */ export declare class ManagedTransaction { private _database; private _singleTransactionManager; private _idTransaction; private _status; private _stack; /** * return transaction id */ get id(): string; /** * Set transaction status */ private set status(value); constructor(_database: { sqlBatch(sqlStatements: Array<(string | string[] | any)>): Promise<DatabaseResult[]>; executeSql(statement: string, params: any): Promise<DatabaseResult>; }, _singleTransactionManager: SingleTransactionManager); /** * Add command statement in transaction * @param statement command to apply * @param params command params */ addStatement(statement: string, params: any[]): void; /** * Add command compilable in transaction * @param compilable command compilable for add in transaction */ add(compilable: SqlCompilable & { __allowInTransaction: boolean; }): void; /** * @deprecated Será removido, pois não tem utilidade real e não funciona de forma homegenea entre providers * @param executable */ executeImmediate(executable: SqlExecutable): Promise<DatabaseResult[]>; /** * Commit a transaction */ commit(): Observable<boolean>; /** * Rollback in current transaction */ rollback(): Promise<boolean>; private sqlBatch; private executeSql; /** * Commit a transaction */ private commitExecuteObservable; /** * Commit a transaction */ private commitExecute; /** * Execute stack in Database */ private executeStack; private checkParametersAllowedInTransaction; /** * check transaction is active (open, stated, released) and throw error if inactive */ private checkTransactionActive; /** * return true if transaction is active (open, stated, released) */ private isTransactionActive; /** * Finish transaction and set status * @param status Status for finished transaction */ private finishTransaction; /** * Clear stack transaction */ private clearStackTransaction; /** * Convert Array commands for SqlBatch format * @param compiled Array commands */ private buildSqlBatch; /** * Convert Array commands for SqlExecute format * @param compiled Array commands */ private buildSqlExecute; /** * Begin transaction */ private beginTransaction; /** * Command commit transaction */ private commandCommitTransaction; /** * Command roolback transaction */ private commandRollbackTransaction; }