     
     private var sqliteDatabase : COpaquePointer = nil
     
+    /// :returns: true if the database has been opened via '.open(error:)'
     public var isOpen : Bool {
         return sqliteDatabase != nil
     }
     
+    /// Opens the database, allowing statements and queries to be executed against it.
+    ///
+    /// :param:     error   An error pointer to set if an error occurs. May be `nil`.
+    /// :returns:           true if the database was opened, false otherwise. On error, an NSError object will be
+    ///                     provided via the `error` parameter.
+    ///
     public func open(error:NSErrorPointer) -> Bool {
         if isOpen {
             NSException(name: NSInternalInconsistencyException,

        return sqlite3_last_insert_rowid(self.sqliteDatabase)
    }
    
    public var numberOfChangedRows : Int {
        if !isOpen {
            return 0

    // -----------------------------------------------------------------------------------------------------------------
    // MARK:  Path
    
    /// The location of the database on disk. Temporary databases will return an empty string, and in-memory databases
    /// return ':memory:'
    public let path : String
    
    /// :returns: `true` if the Database is stored in memory; `false` otherwise.
    public var isInMemoryDatabase : Bool {
        return path == ":memory:"
    }

    /// :returns: true if the Database is stored in a temporary location; false otherwise.
    public var isTemporaryDatabase : Bool {
        return path == ""
    }
    
    /// :returns: true if the Database is persistent -- not stored in memory or in a temporary location.
    public var isPersistentDatabase : Bool {
        return !(isInMemoryDatabase || isTemporaryDatabase)
    }
