func insertMultiples()

in AmazonChimeSDK/AmazonChimeSDK/internal/ingestion/database/SQLiteDatabaseManager.swift [45:64]


    func insertMultiples(tableName: String, contentValues: [[String: Any]]) -> Bool {
        if contentValues.isEmpty {
            return true
        }
        var values: [String] = []
        var params: [Any?] = []

        // We are creating INSER INTO (column1...) VALUES (?, ?, ?), (?, ?, ?) ...
        let keys = Array(contentValues[0].keys)

        // http://www.sqlite.org/releaselog/3_7_11.html
        contentValues.forEach { (contentValue) in
            values.append("(\(contentValue.map { _ in "?" }.joined(separator: ",")))")
            for key in keys {
                params.append(contentValue[key])
            }
        }

        return sqliteClient.write(statement: "INSERT INTO \(tableName) (\(keys.joined(separator: ","))) VALUES \(values.joined(separator: ","));", params: params)
    }