   }
 
   // MARK: - Raw Queries
+  
   func fetchRows(_ stmt     : OpaquePointer?,
                  _ optAttrs : [ Attribute ]? = nil,
                  cb         : ( AdaptorRecord ) throws -> Void) throws

    var stmt : OpaquePointer? = nil
    
    let rc = sqlite3_prepare_v2(handle, sqlexpr.statement, -1, &stmt, nil)
    guard rc == SQLITE_OK else {
      throw Error.CannotPrepareSQL(rc, message(for: rc))
    }
    defer { if let stmt = stmt { sqlite3_finalize(stmt) } }


  // MARK: - Transactions
  
  private(set) public var isTransactionInProgress : Bool = false
  
  public func begin() throws {
    guard !isTransactionInProgress
