     /// Part of the RowAdapter protocol
     public func concreteRowAdapter(with statement: SelectStatement) throws -> ConcreteRowAdapter {
         GRDBPrecondition(index <= statement.columnCount, "Column index is out of range")
-        return AdaptedColumnsDescription(columns: statement.columnNames.suffixFrom(index).enumerate().map { ($0 + index, $1) })
+        return ConcreteColumnMapping(columns: statement.columnNames.suffixFrom(index).enumerate().map { ($0 + index, $1) })
     }
 }
 

    }
}

/// AdaptedColumnsDescription adopts ConcreteRowAdapter
extension AdaptedColumnsDescription : ConcreteRowAdapter {
    /// Part of the ConcreteRowAdapter protocol; returns self.
    public var adaptedColumnsDescription: AdaptedColumnsDescription {
        return self
    }
    

    }
}

/// ConcreteRowAdapter is a protocol that supports the RowAdapter protocol.
///
/// GRBD ships with a ready-made type that adopts this protocol:
/// ConcreteColumnMapping.
///
/// It is unlikely that you need to write your custom type that adopts
/// this protocol.
public protocol ConcreteRowAdapter {
    /// A ConcreteColumnMapping that defines how to map a column name to a
    /// column in an original row.
    var concreteColumnMapping: ConcreteColumnMapping { get }
    
    /// A dictionary of scopes
    var scopes: [String: ConcreteRowAdapter] { get }
}

