IOdbcRepository class abstract
Repository interface for ODBC database operations.
Defines the contract for all ODBC operations including connection management, query execution, transactions, prepared statements, connection pooling, and catalog queries.
Implementations should handle errors and return Result types
for type-safe error handling.
- Implementers
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
asyncCancel(
int requestId) → Future< Result< Unit> > - Requests cancellation of async query request.
-
asyncFree(
int requestId) → Future< Result< Unit> > - Frees async query request resources.
-
asyncGetResult(
int requestId, {int? maxBufferBytes}) → Future< Result< QueryResult> > - Retrieves async query result payload and parses it as QueryResult.
-
asyncPoll(
int requestId) → Future< Result< int> > - Polls async query request status.
-
beginTransaction(
String connectionId, IsolationLevel isolationLevel) → Future< Result< int> > - Begins a new transaction with the specified isolation level.
-
bulkInsert(
String connectionId, String table, List< String> columns, List<int> dataBuffer, int rowCount) → Future<Result< int> > - Performs a bulk insert operation.
-
bulkInsertParallel(
int poolId, String table, List< String> columns, List<int> dataBuffer, int rowCount, {int parallelism = 0}) → Future<Result< int> > - Performs parallel bulk insert using a pool.
-
cancelStatement(
String connectionId, int stmtId) → Future< Result< Unit> > - Attempts to cancel an executing prepared statement.
-
cancelStream(
int streamId) → Future< Result< Unit> > -
Attempts to cancel an active low-level stream by
streamId. -
catalogColumns(
String connectionId, String table) → Future< Result< QueryResult> > - Queries the database catalog for column information.
-
catalogForeignKeys(
String connectionId, String table) → Future< Result< QueryResult> > - Queries the database catalog for foreign key information.
-
catalogIndexes(
String connectionId, String table) → Future< Result< QueryResult> > - Queries the database catalog for index information.
-
catalogPrimaryKeys(
String connectionId, String table) → Future< Result< QueryResult> > - Queries the database catalog for primary key information.
-
catalogTables(
String connectionId, {String catalog = '', String schema = ''}) → Future< Result< QueryResult> > - Queries the database catalog for table information.
-
catalogTypeInfo(
String connectionId) → Future< Result< QueryResult> > - Queries the database catalog for data type information.
-
clearAuditEvents(
) → Future< Result< Unit> > - Clears all native audit events.
-
clearMetadataCache(
) → Future< Result< Unit> > - Clears all metadata cache entries.
-
clearStatementCache(
) → Future< Result< Unit> > - Clears all cached prepared statements.
-
closeStatement(
String connectionId, int stmtId) → Future< Result< Unit> > - Closes and releases a prepared statement.
-
commitTransaction(
String connectionId, int txnId) → Future< Result< Unit> > - Commits a transaction.
-
connect(
String connectionString, {ConnectionOptions? options}) → Future< Result< Connection> > - Establishes a new database connection.
-
createSavepoint(
String connectionId, int txnId, String name) → Future< Result< Unit> > - Creates a savepoint within an active transaction.
-
detectDriver(
String connectionString) → Future< String?> - Detects the database driver from a connection string.
-
disconnect(
String connectionId) → Future< Result< Unit> > - Closes and disconnects a connection.
-
executeAsyncStart(
String connectionId, String sql) → Future< Result< int> > - Starts async query request lifecycle and returns request ID.
-
executePrepared(
String connectionId, int stmtId, List? params, StatementOptions? options) → Future< Result< QueryResult> > - Executes a prepared statement with optional parameters.
-
executePreparedNamed(
String connectionId, int stmtId, Map< String, Object?> namedParams, StatementOptions? options) → Future<Result< QueryResult> > - Executes a prepared statement using named parameters.
-
executeQuery(
String connectionId, String sql) → Future< Result< QueryResult> > - Executes a SQL query and returns the result set.
-
executeQueryMulti(
String connectionId, String sql) → Future< Result< QueryResult> > - Executes a SQL query that returns multiple result sets.
-
executeQueryMultiFull(
String connectionId, String sql) → Future< Result< QueryResultMulti> > - Executes a SQL query and returns all multi-result items.
-
executeQueryNamed(
String connectionId, String sql, Map< String, Object?> namedParams) → Future<Result< QueryResult> > - Executes a SQL query with named parameters.
-
executeQueryParams(
String connectionId, String sql, List params) → Future< Result< QueryResult> > - Executes a SQL query with parameters.
-
getAuditEvents(
{int limit = 0}) → Future< Result< List< >Map< >String, Object?> > - Returns native audit events payload.
-
getAuditStatus(
) → Future< Result< Map< >String, Object?> > - Returns current native audit status as key/value payload.
-
getDriverCapabilities(
String connectionString) → Future< Result< Map< >String, Object?> > -
Returns driver capability payload for
connectionString. -
getMetrics(
) → Future< Result< OdbcMetrics> > - Gets performance and operational metrics.
-
getPreparedStatementsMetrics(
) → Future< Result< PreparedStatementMetrics> > - Gets metrics for prepared statement cache and execution.
-
getVersion(
) → Future< Result< Map< >String, String> > -
Returns engine version payload (
apiandabi). -
initialize(
) → Future< Result< Unit> > - Initializes the ODBC environment.
-
isInitialized(
) → bool - Checks if the ODBC environment has been initialized.
-
metadataCacheEnable(
{required int maxEntries, required int ttlSeconds}) → Future< Result< Unit> > - Enables or reconfigures metadata cache.
-
metadataCacheStats(
) → Future< Result< Map< >String, Object?> > - Returns metadata cache statistics as a JSON-like map.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
poolClose(
int poolId) → Future< Result< Unit> > - Closes the connection pool and releases all connections.
-
poolCreate(
String connectionString, int maxSize) → Future< Result< int> > - Creates a new connection pool.
-
poolGetConnection(
int poolId) → Future< Result< Connection> > - Gets a connection from the pool.
-
poolGetState(
int poolId) → Future< Result< PoolState> > - Gets the current state of the connection pool.
-
poolGetStateDetailed(
int poolId) → Future< Result< Map< >String, Object?> > - Gets detailed pool telemetry payload.
-
poolHealthCheck(
int poolId) → Future< Result< bool> > - Performs a health check on the connection pool.
-
poolReleaseConnection(
String connectionId) → Future< Result< Unit> > - Releases a connection back to the pool.
-
prepare(
String connectionId, String sql, {int timeoutMs = 0}) → Future< Result< int> > - Prepares a SQL statement for execution.
-
prepareNamed(
String connectionId, String sql, {int timeoutMs = 0}) → Future< Result< int> > - Prepares a SQL statement with named parameters.
-
releaseSavepoint(
String connectionId, int txnId, String name) → Future< Result< Unit> > - Releases a savepoint. The transaction remains active.
-
rollbackToSavepoint(
String connectionId, int txnId, String name) → Future< Result< Unit> > - Rolls back to a savepoint. The transaction remains active.
-
rollbackTransaction(
String connectionId, int txnId) → Future< Result< Unit> > - Rolls back a transaction.
-
setAuditEnabled(
{required bool enabled}) → Future< Result< Unit> > - Enables/disables native audit collection.
-
streamPollAsync(
int streamId) → Future< Result< int> > - Polls async stream status.
-
streamQuery(
String connectionId, String sql) → Stream< Result< QueryResult> > - Executes a SQL query as an incremental stream of chunks.
-
streamStartAsync(
String connectionId, String sql, {int fetchSize = 1000, int chunkSize = 64 * 1024}) → Future< Result< int> > - Starts async stream lifecycle and returns stream ID.
-
toString(
) → String -
A string representation of this object.
inherited
-
validateConnectionString(
String connectionString) → Future< Result< Unit> > - Validates connection string format without opening a connection.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited