     // -----------------------------------------------------------------------------------------------------------------
     // MARK:  Schema Items
     
+    /// The entries in the Schema, each describing a table, index, or other structure.
     public let schemaEntries: [SchemaEntry]
     
     // -----------------------------------------------------------------------------------------------------------------
     // MARK:  Tables
     
+    /// All database tables.
     public var tables: [SchemaEntry] {
         return schemaEntries.filter { $0.isTable }
     }
 
+    /// The names of all tables in the database.
     public var tableNames: [String] {
         return tables.map { $0.name }
     }

    // -----------------------------------------------------------------------------------------------------------------
    // MARK:  DROP INDEX
    
    public func dropIndex(indexName:String, ifExists:Bool = false, error:NSErrorPointer = nil) -> Bool {
        var dropIndexSql = "DROP INDEX "
        if ifExists {

    // -----------------------------------------------------------------------------------------------------------------
    // MARK:  Name
    
    /// The name of the table, index, view, or trigger described by this object.
    public let name: String
    
    // -----------------------------------------------------------------------------------------------------------------
    // MARK:  Table Name
    
    /// If this entry describes a table or a view, this is identical to the `name` property. For an index, this is the
    /// name of the table that is indexed by the index. For triggers, this is the name of the table or view that causes
    /// the trigger to fire.
    public let tableName: String
    
    // -----------------------------------------------------------------------------------------------------------------
