Last Updated: 3/10/2026
- Driver
Interface Driver
A Driver creates and releases database connections and is also responsible for connection pooling (if the dialect supports pooling).
interface Driver {
acquireConnection(): Promise<DatabaseConnection>;
beginTransaction(
connection: DatabaseConnection,
settings: TransactionSettings,
): Promise<void>;
commitTransaction(connection: DatabaseConnection): Promise<void>;
destroy(): Promise<void>;
init(): Promise<void>;
releaseConnection(connection: DatabaseConnection): Promise<void>;
releaseSavepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>;
rollbackToSavepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>;
rollbackTransaction(connection: DatabaseConnection): Promise<void>;
savepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>;
}
Implemented by
Index
Methods
acquireConnection beginTransaction commitTransaction destroy init releaseConnection releaseSavepoint? rollbackToSavepoint? rollbackTransaction savepoint?
Methods
acquireConnection
-
acquireConnection(): Promise<DatabaseConnection>
Acquires a new connection from the pool.
Returns Promise<DatabaseConnection>
beginTransaction
-
beginTransaction(
connection: DatabaseConnection,
settings: TransactionSettings,
): Promise<void>Begins a transaction.
Parameters
- connection: DatabaseConnection
- settings: TransactionSettings
Returns Promise<void>
commitTransaction
-
commitTransaction(connection: DatabaseConnection): Promise<void>
Commits a transaction.
Parameters
- connection: DatabaseConnection
Returns Promise<void>
destroy
init
-
init(): Promise<void>
Initializes the driver.
After calling this method the driver should be usable and
acquireConnectionetc. methods should be callable.Returns Promise<void>
releaseConnection
-
releaseConnection(connection: DatabaseConnection): Promise<void>
Releases a connection back to the pool.
Parameters
- connection: DatabaseConnection
Returns Promise<void>
OptionalreleaseSavepoint
-
releaseSavepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>Releases a savepoint within a transaction.
Parameters
- connection: DatabaseConnection
- savepointName: string
- compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery
Returns Promise<void>
OptionalrollbackToSavepoint
-
rollbackToSavepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>Rolls back to a savepoint within a transaction.
Parameters
- connection: DatabaseConnection
- savepointName: string
- compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery
Returns Promise<void>
rollbackTransaction
-
rollbackTransaction(connection: DatabaseConnection): Promise<void>
Rolls back a transaction.
Parameters
- connection: DatabaseConnection
Returns Promise<void>
Optionalsavepoint
-
savepoint?(
connection: DatabaseConnection,
savepointName: string,
compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery,
): Promise<void>Establishses a new savepoint within a transaction.
Parameters
- connection: DatabaseConnection
- savepointName: string
- compileQuery: (node: RootOperationNode, queryId: QueryId) => CompiledQuery
Returns Promise<void>
Settings
Member Visibility
On This Page
Methods
acquireConnectionbeginTransactioncommitTransactiondestroyinitreleaseConnectionreleaseSavepointrollbackToSavepointrollbackTransactionsavepoint