         }
     }
     
-    /// Executes a block in the database queue, and returns its result.
+    /// Synchronously executes a block in the database queue, and returns
+    /// its result.
     ///
     ///     let rows = dbQueue.inDatabase { db in
     ///         db.fetch(...)

    ///
    /// - parameter block: A block that accesses the database.
    /// - throws: The error thrown by the block.
    public func inDatabase<R>(block: (db: Database) throws -> R) rethrows -> R {
        return try inQueue {
            try block(db: self.database)
        }

        database.databaseQueueID = databaseQueueID
    }
    
    private func inQueue<T>(block: () throws -> T) rethrows -> T {
        // IMPLEMENTATION NOTE
        //
        // DatabaseQueue.inDatabase() and DatabaseQueue.inTransaction() are not
