database-builder
Version:
Library to assist in creating and maintaining SQL commands.
108 lines (107 loc) • 3.18 kB
TypeScript
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;
}