Skip to content

Commit 9ccd887

Browse files
authored
Support QueryFragment segments (#76)
* Support `QueryFragment` segments The next release of StructuredQueries has improved the query fragment type and the interfaces used by SharingGRDB have been deprecated. Let's consume the latest APIs. * wip
1 parent 21629c7 commit 9ccd887

4 files changed

Lines changed: 9 additions & 9 deletions

File tree

Examples/Examples.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ let package = Package(
3333
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.9.0"),
3434
.package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "1.5.0"),
3535
.package(url: "https://github.com/pointfreeco/swift-sharing", from: "2.3.0"),
36-
.package(url: "https://github.com/pointfreeco/swift-structured-queries", from: "0.4.0"),
36+
.package(url: "https://github.com/pointfreeco/swift-structured-queries", from: "0.7.0"),
3737
],
3838
targets: [
3939
.target(

Sources/StructuredQueriesGRDBCore/QueryCursor.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,12 @@ final class QueryVoidCursor: QueryCursor<Void> {
130130
extension Database {
131131
@inlinable
132132
func prepare(query: QueryFragment) throws -> (GRDB.Statement, SQLiteQueryDecoder) {
133-
let queryString =
134-
query.isEmpty
135-
? "SELECT 1 WHERE 0 -- Empty query generated by StructuredQueries"
136-
: query.string
137-
let statement = try makeStatement(sql: queryString)
138-
statement.arguments = try StatementArguments(query.bindings.map { try $0.databaseValue })
133+
var (sql, bindings) = query.prepare { _ in "?" }
134+
if sql.isEmpty {
135+
sql = "SELECT 1 WHERE 0 -- Empty query generated by StructuredQueries"
136+
}
137+
let statement = try makeStatement(sql: sql)
138+
statement.arguments = try StatementArguments(bindings.map { try $0.databaseValue })
139139
return (
140140
statement,
141141
SQLiteQueryDecoder(statement: statement.sqliteStatement)

0 commit comments

Comments
 (0)