SQLiteKit is a library providing an SQLKit driver for SQLiteNIO.
Note
The [FluentKit] driver for SQLite is provided by the FluentSQLiteDriver package.
Handle JSON better by @gwynne in #107
This fixes an issue that arose with the release of SQLite 3.45.0, which includes support for a new “JSONB” internal representation. As a side effect, textual JSON data presented to SQLite as a BLOB is incorrectly treated as JSONB by the database, resulting in inexplicable errors when attempts are made to read the JSON back out again. Since we should always have been sending JSON to the database as TEXT in the first place, this is considered a general bugfix rather than purely a compatibility update.
Unblocks vapor/sqlite-nio#62.
Thanks to the reviewers for their help:
Full Changelog: 4.4.1...4.4.2
SQLiteKit is a library providing an SQLKit driver for SQLiteNIO.
Note
The [FluentKit] driver for SQLite is provided by the FluentSQLiteDriver package.
{ "name": "sqlite-kit", "path": "/usr/src/package", "targets": [ { "name": "SQLiteKitTests", "path": "Tests/SQLiteKitTests", "type": "test", "c99name": "SQLiteKitTests", "sources": [ "SQLiteKitTests.swift" ], "module_type": "SwiftTarget", "target_dependencies": [ "SQLiteKit" ], "product_dependencies": [ "SQLKitBenchmark" ] }, { "name": "SQLiteKit", "path": "Sources/SQLiteKit", "type": "library", "c99name": "SQLiteKit", "sources": [ "Exports.swift", "SQLiteConfiguration.swift", "SQLiteConnection+SQLKit.swift", "SQLiteConnectionSource.swift", "SQLiteDataDecoder.swift", "SQLiteDataEncoder.swift", "SQLiteDialect.swift", "SQLiteRow+SQLRow.swift" ], "module_type": "SwiftTarget", "product_memberships": [ "SQLiteKit" ], "product_dependencies": [ "NIOFoundationCompat", "AsyncKit", "SQLiteNIO", "SQLKit" ] } ], "products": [ { "name": "SQLiteKit", "type": { "library": [ "automatic" ] }, "targets": [ "SQLiteKit" ] } ], "platforms": [ { "name": "macos", "version": "10.15" }, { "name": "ios", "version": "13.0" }, { "name": "watchos", "version": "6.0" }, { "name": "tvos", "version": "13.0" } ], "dependencies": [ { "url": "https://github.com/apple/swift-nio.git", "type": "sourceControl", "identity": "swift-nio", "requirement": { "range": [ { "lower_bound": "2.62.0", "upper_bound": "3.0.0" } ] } }, { "url": "https://github.com/vapor/sqlite-nio.git", "type": "sourceControl", "identity": "sqlite-nio", "requirement": { "range": [ { "lower_bound": "1.8.4", "upper_bound": "2.0.0" } ] } }, { "url": "https://github.com/vapor/sql-kit.git", "type": "sourceControl", "identity": "sql-kit", "requirement": { "range": [ { "lower_bound": "3.28.0", "upper_bound": "4.0.0" } ] } }, { "url": "https://github.com/vapor/async-kit.git", "type": "sourceControl", "identity": "async-kit", "requirement": { "range": [ { "lower_bound": "1.19.0", "upper_bound": "2.0.0" } ] } } ], "tools_version": "5.9", "manifest_display_name": "sqlite-kit" }
{ "name": "sqlite-kit", "targets": [ { "name": "SQLiteKit", "type": "regular", "exclude": [], "settings": [ { "kind": { "enableUpcomingFeature": { "_0": "ExistentialAny" } }, "tool": "swift" }, { "kind": { "enableExperimentalFeature": { "_0": "StrictConcurrency=complete" } }, "tool": "swift" } ], "resources": [], "dependencies": [ { "product": [ "NIOFoundationCompat", "swift-nio", null, null ] }, { "product": [ "AsyncKit", "async-kit", null, null ] }, { "product": [ "SQLiteNIO", "sqlite-nio", null, null ] }, { "product": [ "SQLKit", "sql-kit", null, null ] } ], "packageAccess": true }, { "name": "SQLiteKitTests", "type": "test", "exclude": [], "settings": [ { "kind": { "enableUpcomingFeature": { "_0": "ExistentialAny" } }, "tool": "swift" }, { "kind": { "enableExperimentalFeature": { "_0": "StrictConcurrency=complete" } }, "tool": "swift" } ], "resources": [], "dependencies": [ { "product": [ "SQLKitBenchmark", "sql-kit", null, null ] }, { "target": [ "SQLiteKit", null ] } ], "packageAccess": true } ], "products": [ { "name": "SQLiteKit", "type": { "library": [ "automatic" ] }, "targets": [ "SQLiteKit" ] } ], "pkgConfig": null, "platforms": [ { "options": [], "version": "10.15", "platformName": "macos" }, { "options": [], "version": "13.0", "platformName": "ios" }, { "options": [], "version": "6.0", "platformName": "watchos" }, { "options": [], "version": "13.0", "platformName": "tvos" } ], "providers": null, "packageKind": { "root": [ "/usr/src/package" ] }, "dependencies": [ { "sourceControl": [ { "identity": "swift-nio", "location": { "remote": [ { "urlString": "https://github.com/apple/swift-nio.git" } ] }, "requirement": { "range": [ { "lowerBound": "2.62.0", "upperBound": "3.0.0" } ] }, "productFilter": null } ] }, { "sourceControl": [ { "identity": "sqlite-nio", "location": { "remote": [ { "urlString": "https://github.com/vapor/sqlite-nio.git" } ] }, "requirement": { "range": [ { "lowerBound": "1.8.4", "upperBound": "2.0.0" } ] }, "productFilter": null } ] }, { "sourceControl": [ { "identity": "sql-kit", "location": { "remote": [ { "urlString": "https://github.com/vapor/sql-kit.git" } ] }, "requirement": { "range": [ { "lowerBound": "3.28.0", "upperBound": "4.0.0" } ] }, "productFilter": null } ] }, { "sourceControl": [ { "identity": "async-kit", "location": { "remote": [ { "urlString": "https://github.com/vapor/async-kit.git" } ] }, "requirement": { "range": [ { "lowerBound": "1.19.0", "upperBound": "2.0.0" } ] }, "productFilter": null } ] } ], "toolsVersion": { "_version": "5.9.0" }, "cLanguageStandard": null, "cxxLanguageStandard": null, "swiftLanguageVersions": null }
{ "url": "/usr/src/package", "name": "sqlite-kit", "path": "/usr/src/package", "version": "unspecified", "identity": "package", "dependencies": [ { "url": "https://github.com/apple/swift-nio.git", "name": "swift-nio", "path": "/usr/src/package/.build/checkouts/swift-nio", "version": "2.64.0", "identity": "swift-nio", "dependencies": [ { "url": "https://github.com/apple/swift-atomics.git", "name": "swift-atomics", "path": "/usr/src/package/.build/checkouts/swift-atomics", "version": "1.2.0", "identity": "swift-atomics", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] }, { "url": "https://github.com/apple/swift-system.git", "name": "swift-system", "path": "/usr/src/package/.build/checkouts/swift-system", "version": "1.2.1", "identity": "swift-system", "dependencies": [] } ] }, { "url": "https://github.com/vapor/sqlite-nio.git", "name": "sqlite-nio", "path": "/usr/src/package/.build/checkouts/sqlite-nio", "version": "1.8.7", "identity": "sqlite-nio", "dependencies": [ { "url": "https://github.com/apple/swift-nio.git", "name": "swift-nio", "path": "/usr/src/package/.build/checkouts/swift-nio", "version": "2.64.0", "identity": "swift-nio", "dependencies": [ { "url": "https://github.com/apple/swift-atomics.git", "name": "swift-atomics", "path": "/usr/src/package/.build/checkouts/swift-atomics", "version": "1.2.0", "identity": "swift-atomics", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] }, { "url": "https://github.com/apple/swift-system.git", "name": "swift-system", "path": "/usr/src/package/.build/checkouts/swift-system", "version": "1.2.1", "identity": "swift-system", "dependencies": [] } ] }, { "url": "https://github.com/apple/swift-log.git", "name": "swift-log", "path": "/usr/src/package/.build/checkouts/swift-log", "version": "1.5.4", "identity": "swift-log", "dependencies": [] } ] }, { "url": "https://github.com/vapor/sql-kit.git", "name": "sql-kit", "path": "/usr/src/package/.build/checkouts/sql-kit", "version": "3.29.0", "identity": "sql-kit", "dependencies": [ { "url": "https://github.com/apple/swift-nio.git", "name": "swift-nio", "path": "/usr/src/package/.build/checkouts/swift-nio", "version": "2.64.0", "identity": "swift-nio", "dependencies": [ { "url": "https://github.com/apple/swift-atomics.git", "name": "swift-atomics", "path": "/usr/src/package/.build/checkouts/swift-atomics", "version": "1.2.0", "identity": "swift-atomics", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] }, { "url": "https://github.com/apple/swift-system.git", "name": "swift-system", "path": "/usr/src/package/.build/checkouts/swift-system", "version": "1.2.1", "identity": "swift-system", "dependencies": [] } ] }, { "url": "https://github.com/apple/swift-log.git", "name": "swift-log", "path": "/usr/src/package/.build/checkouts/swift-log", "version": "1.5.4", "identity": "swift-log", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] } ] }, { "url": "https://github.com/vapor/async-kit.git", "name": "async-kit", "path": "/usr/src/package/.build/checkouts/async-kit", "version": "1.19.0", "identity": "async-kit", "dependencies": [ { "url": "https://github.com/apple/swift-nio.git", "name": "swift-nio", "path": "/usr/src/package/.build/checkouts/swift-nio", "version": "2.64.0", "identity": "swift-nio", "dependencies": [ { "url": "https://github.com/apple/swift-atomics.git", "name": "swift-atomics", "path": "/usr/src/package/.build/checkouts/swift-atomics", "version": "1.2.0", "identity": "swift-atomics", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] }, { "url": "https://github.com/apple/swift-system.git", "name": "swift-system", "path": "/usr/src/package/.build/checkouts/swift-system", "version": "1.2.1", "identity": "swift-system", "dependencies": [] } ] }, { "url": "https://github.com/apple/swift-log.git", "name": "swift-log", "path": "/usr/src/package/.build/checkouts/swift-log", "version": "1.5.4", "identity": "swift-log", "dependencies": [] }, { "url": "https://github.com/apple/swift-collections.git", "name": "swift-collections", "path": "/usr/src/package/.build/checkouts/swift-collections", "version": "1.1.0", "identity": "swift-collections", "dependencies": [] }, { "url": "https://github.com/apple/swift-algorithms.git", "name": "swift-algorithms", "path": "/usr/src/package/.build/checkouts/swift-algorithms", "version": "1.2.0", "identity": "swift-algorithms", "dependencies": [ { "url": "https://github.com/apple/swift-numerics.git", "name": "swift-numerics", "path": "/usr/src/package/.build/checkouts/swift-numerics", "version": "1.0.2", "identity": "swift-numerics", "dependencies": [] } ] } ] } ] }