         // swiftlint:enable comma
         
         private func column(forKey key: Key) -> String {
-            decoder.keyDecodingStrategy.column(forKey: key)
+            decoder.columnDecodingStrategy.column(forKey: key)
         }
         
         func decodeIfPresent<T>(_ type: T.Type, forKey key: Key) throws -> T? where T: Decodable {

    init() { }
    
    func decode<T: FetchableRecord & Decodable>(_ type: T.Type = T.self, from row: Row) throws -> T {
        let decoder = _RowDecoder<T>(row: row, codingPath: [], keyDecodingStrategy: T.databaseColumnDecodingStrategy)
        return try T(from: decoder)
    }
}

    
    mutating func decode<T>(_ type: T.Type) throws -> T where T: Decodable {
        defer { currentIndex += 1 }
        
        let columnDecodingStrategy: DatabaseColumnDecodingStrategy
        if let type = T.self as? FetchableRecord.Type {
            columnDecodingStrategy = type.databaseColumnDecodingStrategy
        } else {
            columnDecodingStrategy = .useDefaultKeys
        }
        
        let decoder = _RowDecoder<R>(
            row: rows[currentIndex],
            codingPath: codingPath,
            columnDecodingStrategy: columnDecodingStrategy)
        return try T(from: decoder)
    }
    
