Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Sources/SharingGRDBCore/FetchAll.swift
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,10 @@ extension FetchAll: Equatable where Element: Equatable {
#endif

private struct FetchAllStatementValueRequest<Value: QueryRepresentable>: StatementKeyRequest {
let statement: any StructuredQueriesCore.Statement<Value>
let statement: SQLQueryExpression<Value>
init(statement: some StructuredQueriesCore.Statement<Value>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> [Value.QueryOutput] {
try statement.fetchAll(db)
}
Expand Down
16 changes: 11 additions & 5 deletions Sources/SharingGRDBCore/FetchOne.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1201,9 +1201,9 @@ extension FetchOne: Equatable where Value: Equatable {
#endif

private struct FetchOneStatementValueRequest<Value: QueryRepresentable>: StatementKeyRequest {
let statement: any StructuredQueriesCore.Statement<Value>
init(statement: any StructuredQueriesCore.Statement<Value>) {
self.statement = statement
let statement: SQLQueryExpression<Value>
init(statement: some StructuredQueriesCore.Statement<Value>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> Value.QueryOutput {
guard let result = try statement.fetchOne(db)
Expand All @@ -1215,7 +1215,10 @@ private struct FetchOneStatementValueRequest<Value: QueryRepresentable>: Stateme
private struct FetchOneStatementOptionalValueRequest<Value: QueryRepresentable>:
StatementKeyRequest
{
let statement: any StructuredQueriesCore.Statement<Value>
let statement: SQLQueryExpression<Value>
init(statement: some StructuredQueriesCore.Statement<Value>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> Value.QueryOutput? {
try statement.fetchOne(db)
}
Expand All @@ -1224,7 +1227,10 @@ private struct FetchOneStatementOptionalValueRequest<Value: QueryRepresentable>:
private struct FetchOneStatementOptionalProtocolRequest<
Value: QueryRepresentable & _OptionalProtocol
>: StatementKeyRequest where Value.QueryOutput: _OptionalProtocol {
let statement: any StructuredQueriesCore.Statement<Value>
let statement: SQLQueryExpression<Value>
init(statement: some StructuredQueriesCore.Statement<Value>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> Value.QueryOutput {
try statement.fetchOne(db) ?? ._none
}
Expand Down
10 changes: 8 additions & 2 deletions Sources/SharingGRDBCore/Internal/Deprecations.swift
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,10 @@ extension FetchAll {

@available(iOS 17, macOS 14, tvOS 17, watchOS 10, *)
private struct FetchAllStatementPackRequest<each Value: QueryRepresentable>: StatementKeyRequest {
let statement: any StructuredQueriesCore.Statement<(repeat each Value)>
let statement: SQLQueryExpression<(repeat each Value)>
init(statement: some StructuredQueriesCore.Statement<(repeat each Value)>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> [(repeat (each Value).QueryOutput)] {
try statement.fetchAll(db)
}
Expand Down Expand Up @@ -540,7 +543,10 @@ extension FetchOne {

@available(iOS 17, macOS 14, tvOS 17, watchOS 10, *)
private struct FetchOneStatementPackRequest<each Value: QueryRepresentable>: StatementKeyRequest {
let statement: any StructuredQueriesCore.Statement<(repeat each Value)>
let statement: SQLQueryExpression<(repeat each Value)>
init(statement: some StructuredQueriesCore.Statement<(repeat each Value)>) {
self.statement = SQLQueryExpression(statement)
}
func fetch(_ db: Database) throws -> (repeat (each Value).QueryOutput) {
guard let result = try statement.fetchOne(db)
else { throw NotFound() }
Expand Down
2 changes: 1 addition & 1 deletion Sources/SharingGRDBCore/Internal/StatementKey.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
protocol StatementKeyRequest<QueryValue>: FetchKeyRequest {
associatedtype QueryValue
var statement: any StructuredQueriesCore.Statement<QueryValue> { get }
var statement: SQLQueryExpression<QueryValue> { get }
}

extension StatementKeyRequest {
Expand Down