OdbcRepositoryImpl class

Thin façade over capability-focused runners implementing IOdbcRepository.

Implemented types
Available extensions

Constructors

OdbcRepositoryImpl(Object native, {ResultEncoding defaultResultEncoding = ResultEncoding.rowMajor})
OdbcRepositoryImpl.fromBackend(OdbcBackend backend, {ResultEncoding defaultResultEncoding = ResultEncoding.rowMajor})

Properties

defaultResultEncoding ResultEncoding
Default wire encoding for columnar APIs (executeQueryColumnar*, streamQueryColumnar*) when the repository was built with a server profile. QueryResult-returning APIs ignore this and always use forQueryResultWire (row-major).
no setter
events Stream<OdbcEvent>
no setteroverride
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>>
override
asyncFree(int requestId) Future<Result<Unit>>
override
asyncGetResult(int requestId, {int? maxBufferBytes}) Future<Result<QueryResult>>
override
asyncPoll(int requestId) Future<Result<int>>
override
beginTransaction(String connectionId, IsolationLevel isolationLevel, {SavepointDialect savepointDialect = SavepointDialect.auto, TransactionAccessMode accessMode = TransactionAccessMode.readWrite, Duration? lockTimeout}) Future<Result<int>>
override
beginTransactionFor(Connection conn, {IsolationLevel? isolationLevel, SavepointDialect? savepointDialect, TransactionAccessMode? accessMode, Duration? lockTimeout}) Future<Result<int>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTransactionExtensions extension

beginTransactionWithDefaults overload that accepts a connection.
beginTransactionWithDefaults(String connectionId, {IsolationLevel? isolationLevel, SavepointDialect? savepointDialect, TransactionAccessMode? accessMode, Duration? lockTimeout}) Future<Result<int>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTransactionExtensions extension

beginTransaction with optional isolation and access-mode defaults.
bulkInsert(String connectionId, String table, List<String> columns, List<int> dataBuffer, int rowCount) Future<Result<int>>
override
bulkInsertParallel(int poolId, String table, List<String> columns, List<int> dataBuffer, int rowCount, {int parallelism = 0}) Future<Result<int>>
override
cancelStatement(String connectionId, int stmtId) Future<Result<Unit>>
override
cancelStream(int streamId) Future<Result<Unit>>
override
catalogColumns(String connectionId, String table) Future<Result<QueryResult>>
override
catalogForeignKeys(String connectionId, String table) Future<Result<QueryResult>>
override
catalogIndexes(String connectionId, String table) Future<Result<QueryResult>>
override
catalogPrimaryKeys(String connectionId, String table) Future<Result<QueryResult>>
override
catalogTables(String connectionId, {String catalog = '', String schema = ''}) Future<Result<QueryResult>>
override
catalogTypeInfo(String connectionId) Future<Result<QueryResult>>
override
clearAllStatements() Future<Result<Unit>>
override
clearAuditEvents() Future<Result<Unit>>
override
clearMetadataCache() Future<Result<Unit>>
override
clearStatementCache() Future<Result<Unit>>
override
closeStatement(String connectionId, int stmtId) Future<Result<Unit>>
override
commitTransaction(String connectionId, int txnId) Future<Result<Unit>>
override
connect(String connectionString, {ConnectionOptions? options}) Future<Result<Connection>>
override
createSavepoint(String connectionId, int txnId, String name) Future<Result<Unit>>
override
dartSideMetrics() DartSideMetrics
detectDriver(String connectionString) Future<String?>
override
disconnect(String connectionId) Future<Result<Unit>>
override
dispose() → void
override
executeAsyncStart(String connectionId, String sql) Future<Result<int>>
override
executePreparedNamed(String connectionId, int stmtId, Map<String, Object?> namedParams, StatementOptions? options) Future<Result<QueryResult>>
override
executePreparedParamValues(String connectionId, int stmtId, List<ParamValue>? params, StatementOptions? options) Future<Result<QueryResult>>
override
executePreparedParamValuesFromObjects(String connectionId, int stmtId, List<Object?>? params, StatementOptions? options) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTypedParamExtensions extension

Prepared positional execute with automatic ParamValue conversion.
executePreparedParamValuesFromObjectsFor(Connection conn, int stmtId, List<Object?>? params, StatementOptions? options) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executePreparedParamValuesFromObjects overload for a Connection.
executeQuery(String connectionId, String sql) Future<Result<QueryResult>>
override
executeQueryColumnarFromObjects(String connectionId, String sql, {List<Object?>? params}) Future<Result<TypedColumnarResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryQueryExtensions extension

Converts untyped positional values to ParamValue tags before execute.
executeQueryColumnarFromObjectsFor(Connection conn, String sql, {List<Object?>? params}) Future<Result<TypedColumnarResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryColumnarFromObjects overload that accepts a Connection.
executeQueryColumnarParamValues(String connectionId, String sql, List<ParamValue> params) Future<Result<TypedColumnarResult>>
Typed columnar execute using columnar v2 wire and direct decode.
override
executeQueryColumnarParamValuesFor(Connection conn, String sql, {List<ParamValue>? params}) Future<Result<TypedColumnarResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryColumnarParamValues overload that accepts a Connection.
executeQueryDirectedParams(String connectionId, String sql, List<DirectedParam> params) Future<Result<QueryResult>>
override
executeQueryDirectedParamsFor(Connection conn, String sql, List<DirectedParam> params) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryDirectedParams overload that accepts a Connection.
executeQueryFor(Connection conn, String sql) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQuery overload that accepts a Connection.
executeQueryMulti(String connectionId, String sql) Future<Result<QueryResult>>
override
executeQueryMultiFull(String connectionId, String sql) Future<Result<QueryResultMulti>>
override
executeQueryMultiParamValues(String connectionId, String sql, List<ParamValue> params) Future<Result<QueryResultMulti>>
override
executeQueryMultiParamValuesFromObjects(String connectionId, String sql, List<Object?> params) Future<Result<QueryResultMulti>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTypedParamExtensions extension

Multi-result positional execute with automatic ParamValue conversion.
executeQueryMultiParamValuesFromObjectsFor(Connection conn, String sql, List<Object?> params) Future<Result<QueryResultMulti>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryMultiParamValuesFromObjects overload for a Connection.
executeQueryNamed(String connectionId, String sql, Map<String, Object?> namedParams) Future<Result<QueryResult>>
override
executeQueryNamedFor(Connection conn, String sql, Map<String, Object?> namedParams) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryNamed overload that accepts a Connection.
executeQueryParamBuffer(String connectionId, String sql, Uint8List? paramBuffer, {ResultEncoding? resultEncoding}) Future<Result<QueryResult>>
override
executeQueryParamValues(String connectionId, String sql, List<ParamValue> params, {ResultEncoding? resultEncoding}) Future<Result<QueryResult>>
override
executeQueryParamValuesFor(Connection conn, String sql, List<ParamValue> params, {ResultEncoding? resultEncoding}) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryParamValues overload that accepts a Connection.
executeQueryParamValuesFromObjects(String connectionId, String sql, List<Object?> params, {ResultEncoding? resultEncoding}) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTypedParamExtensions extension

Positional execute with automatic ParamValue conversion.
executeQueryParamValuesFromObjectsFor(Connection conn, String sql, List<Object?> params, {ResultEncoding? resultEncoding}) Future<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

executeQueryParamValuesFromObjects overload that accepts a Connection.
getAuditEvents({int limit = 0}) Future<Result<List<Map<String, Object?>>>>
override
getAuditStatus() Future<Result<Map<String, Object?>>>
override
getConnectionDbmsInfo(String connectionId) Future<Result<DbmsInfo>>
override
getDriverCapabilities(String connectionString) Future<Result<Map<String, Object?>>>
override
getMetrics() Future<Result<OdbcMetrics>>
override
getPreparedStatementsMetrics() Future<Result<PreparedStatementMetrics>>
override
getVersion() Future<Result<Map<String, String>>>
override
getWorkerPoolStats() Future<AsyncWorkerPoolStats?>
override
initialize() Future<Result<Unit>>
override
isInitialized() bool
override
metadataCacheEnable({required int maxEntries, required int ttlSeconds}) Future<Result<Unit>>
override
metadataCacheStats() Future<Result<Map<String, Object?>>>
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
poolClose(int poolId) Future<Result<Unit>>
override
poolCreate(String connectionString, int maxSize, {PoolOptions? options, ConnectionOptions? connectionOptions}) Future<Result<int>>
override
poolGetConnection(int poolId, {ConnectionOptions? options}) Future<Result<Connection>>
override
poolGetState(int poolId) Future<Result<PoolState>>
override
poolGetStateDetailed(int poolId) Future<Result<Map<String, Object?>>>
override
poolHealthCheck(int poolId) Future<Result<bool>>
override
poolReleaseConnection(String connectionId) Future<Result<Unit>>
override
poolSetSize(int poolId, int newMaxSize) Future<Result<Unit>>
override
prepare(String connectionId, String sql, {int timeoutMs = 0}) Future<Result<int>>
override
prepareNamed(String connectionId, String sql, {int timeoutMs = 0}) Future<Result<int>>
override
releaseSavepoint(String connectionId, int txnId, String name) Future<Result<Unit>>
override
rollbackToSavepoint(String connectionId, int txnId, String name) Future<Result<Unit>>
override
rollbackTransaction(String connectionId, int txnId) Future<Result<Unit>>
override
runInTransaction<T extends Object>(String connectionId, Future<Result<T>> action(int txnId), {IsolationLevel? isolationLevel, SavepointDialect? savepointDialect, TransactionAccessMode? accessMode, Duration? lockTimeout}) Future<Result<T>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTransactionExtensions extension

Runs action inside a freshly opened transaction with automatic commit-on-success / rollback-on-failure semantics.
runInTransactionFor<T extends Object>(Connection conn, Future<Result<T>> action(int txnId), {IsolationLevel? isolationLevel, SavepointDialect? savepointDialect, TransactionAccessMode? accessMode, Duration? lockTimeout}) Future<Result<T>>

Available on IOdbcRepository, provided by the IOdbcRepositoryTransactionExtensions extension

runInTransaction overload that accepts a Connection.
setAuditEnabled({required bool enabled}) Future<Result<Unit>>
override
setLogLevel(int level) Future<Result<Unit>>
override
streamPollAsync(int streamId) Future<Result<int>>
override
streamQuery(String connectionId, String sql, {int fetchSize = 1000, int? chunkSize}) Stream<Result<QueryResult>>
override
streamQueryColumnar(String connectionId, String sql, {int fetchSize = 1000, int? chunkSize}) Stream<Result<TypedColumnarResult>>
override
streamQueryColumnarFor(Connection conn, String sql, {int fetchSize = 1000, int? chunkSize}) Stream<Result<TypedColumnarResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

streamQueryColumnar overload that accepts a Connection.
streamQueryColumnarNative(String connectionId, String sql) Stream<Result<TypedColumnarResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryQueryExtensions extension

Explicit alias for streamQueryColumnar when callers want to stress the native columnar wire path (odbc_stream_start_batched_options).
streamQueryFor(Connection conn, String sql, {int fetchSize = 1000, int? chunkSize}) Stream<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

streamQuery overload that accepts a Connection.
streamQueryMulti(String connectionId, String sql, {int fetchSize = 1000, int? chunkSize}) Stream<Result<QueryResultMultiItem>>
override
streamQueryNamed(String connectionId, String sql, Map<String, Object?> namedParams, {int fetchSize = 1000, int? chunkSize}) Stream<Result<QueryResult>>
override
streamQueryNamedFor(Connection conn, String sql, Map<String, Object?> namedParams, {int fetchSize = 1000, int? chunkSize}) Stream<Result<QueryResult>>

Available on IOdbcRepository, provided by the IOdbcRepositoryConnectionOverloads extension

streamQueryNamed overload that accepts a Connection.
streamStartAsync(String connectionId, String sql, {int fetchSize = 1000, int? chunkSize}) Future<Result<int>>
override
toString() String
A string representation of this object.
inherited
validateConnectionString(String connectionString) Future<Result<Unit>>
override
xaRecover(String connectionId) Future<Result<List<Xid>>>
override
xaResumePrepared(String connectionId, Xid xid) Future<Result<XaTransactionHandle>>
override
xaStart(String connectionId, Xid xid) Future<Result<XaTransactionHandle>>
override

Operators

operator ==(Object other) bool
The equality operator.
inherited