     
     /// :param:   tableName The name of a table
     /// :returns: Descriptions of each index for the given table.
-    public func indexesOnTable(tableName: String) -> [SchemaEntry] {
+    public func indexesOnTable(tableName: String) -> [SchemaEntryInfo] {
         return schemaEntries.filter { $0.isIndex && $0.tableName == tableName }
     }
     

    // MARK:  Indexes
    
    /// All database indexes.
    public var indexes: [SchemaEntry] {
        return schemaEntries.filter { $0.isIndex }
    }
    

    // MARK:  Schema Introspection
    
    /// The database schema. If an error occurs, an empty Schema object is returned.
    public var schema: SchemaInfo {
        var schemaEntries = [SchemaEntryInfo]()
        
        do {
            let statement = try prepareStatement("SELECT * FROM sqlite_master")
            while try statement.next() {
                let SchemaEntryInfo = SchemaEntryInfo(type:     statement.stringValue("type"),
                                              name:     statement.stringValue("name"),
                                              tableName:statement.stringValue("tbl_name"),
                                              rootPage: statement.intValue("rootpage"),
                                              sql:      statement.stringValue("sql"))
                
                schemaEntries.append(SchemaEntryInfo)
            }
        } catch let error {
            NSLog("Error preparing statement to read database schema: \(error)")
            return SchemaInfo()
        }
        
        return SchemaInfo(schemaEntries: schemaEntries)
    }
    
    /// Fetches details about a table in the database.
