@operativa/verse-oracle
Version:
Verse is a modern, fast, object/relational mapper for TypeScript inspired by Entity Framework Core. It features LINQ-style queries, unit of work updates, and a powerful convention-based mapping system. It supports SQLite, Postgres, MySQL, SQL Server and O
28 lines (27 loc) • 1.58 kB
TypeScript
import { DateAsTimestampWithTimeZone } from "@operativa/verse/conventions/database";
import { Driver, DriverInfo, ExecuteResult, ExecuteStatement, IsolationLevel } from "@operativa/verse/db/driver";
import { SqlNode } from "@operativa/verse/db/sql";
import { Model } from "@operativa/verse/model/model";
import { Logger } from "@operativa/verse/utils/logging";
import { List } from "immutable";
import { ConnectionAttributes } from "oracledb";
export declare function oracle(connectionAttributes: ConnectionAttributes, adminAttributes?: ConnectionAttributes): OracleDriver;
export declare class OracleDriver implements Driver, AsyncDisposable {
#private;
readonly connectionAttributes: ConnectionAttributes;
readonly adminAttributes?: ConnectionAttributes | undefined;
constructor(connectionAttributes: ConnectionAttributes, adminAttributes?: ConnectionAttributes | undefined);
get info(): DriverInfo;
get conventions(): List<DateAsTimestampWithTimeZone>;
validate(model: Model): void;
set logger(logger: Logger | undefined);
private pool;
rows(sql: SqlNode): (args: unknown[]) => AsyncIterable<readonly unknown[]>;
execute(statements: readonly ExecuteStatement[], isolation?: IsolationLevel, onCommit?: (results: readonly ExecuteResult[]) => void): Promise<ExecuteResult[]>;
script(statements: readonly ExecuteStatement[]): string[];
exists(): Promise<boolean>;
tableExists(name: string): Promise<boolean>;
create(): Promise<void>;
drop(): Promise<void>;
[Symbol.asyncDispose](): Promise<void | undefined>;
}