resolvedEngine property

  1. @internal
DatabaseConnectionUser get resolvedEngine
inherited

A, potentially more specific, database engine based on the Zone context.

Inside a transaction block, drift will replace this resolvedEngine with an engine specific to the transaction. All other methods on this class implicitly use the resolvedEngine to run their SQL statements. This lets users call methods on their top-level database or dao class but run them in a transaction-specific executor.

Implementation

@internal
DatabaseConnectionUser get resolvedEngine {
  final fromZone = Zone.current[_zoneRootUserKey] as DatabaseConnectionUser?;

  if (fromZone != null && fromZone.attachedDatabase == attachedDatabase) {
    return fromZone;
  } else {
    return this;
  }
}