diff --git a/Sources/SharingGRDBCore/FetchAll.swift b/Sources/SharingGRDBCore/FetchAll.swift index 7f5b50c4..8168cf39 100644 --- a/Sources/SharingGRDBCore/FetchAll.swift +++ b/Sources/SharingGRDBCore/FetchAll.swift @@ -511,7 +511,10 @@ extension FetchAll: Equatable where Element: Equatable { #endif private struct FetchAllStatementValueRequest: StatementKeyRequest { - let statement: any StructuredQueriesCore.Statement + let statement: SQLQueryExpression + init(statement: some StructuredQueriesCore.Statement) { + self.statement = SQLQueryExpression(statement) + } func fetch(_ db: Database) throws -> [Value.QueryOutput] { try statement.fetchAll(db) } diff --git a/Sources/SharingGRDBCore/FetchOne.swift b/Sources/SharingGRDBCore/FetchOne.swift index 14012d3d..4c04605a 100644 --- a/Sources/SharingGRDBCore/FetchOne.swift +++ b/Sources/SharingGRDBCore/FetchOne.swift @@ -1201,9 +1201,9 @@ extension FetchOne: Equatable where Value: Equatable { #endif private struct FetchOneStatementValueRequest: StatementKeyRequest { - let statement: any StructuredQueriesCore.Statement - init(statement: any StructuredQueriesCore.Statement) { - self.statement = statement + let statement: SQLQueryExpression + init(statement: some StructuredQueriesCore.Statement) { + self.statement = SQLQueryExpression(statement) } func fetch(_ db: Database) throws -> Value.QueryOutput { guard let result = try statement.fetchOne(db) @@ -1215,7 +1215,10 @@ private struct FetchOneStatementValueRequest: Stateme private struct FetchOneStatementOptionalValueRequest: StatementKeyRequest { - let statement: any StructuredQueriesCore.Statement + let statement: SQLQueryExpression + init(statement: some StructuredQueriesCore.Statement) { + self.statement = SQLQueryExpression(statement) + } func fetch(_ db: Database) throws -> Value.QueryOutput? { try statement.fetchOne(db) } @@ -1224,7 +1227,10 @@ private struct FetchOneStatementOptionalValueRequest: private struct FetchOneStatementOptionalProtocolRequest< Value: QueryRepresentable & _OptionalProtocol >: StatementKeyRequest where Value.QueryOutput: _OptionalProtocol { - let statement: any StructuredQueriesCore.Statement + let statement: SQLQueryExpression + init(statement: some StructuredQueriesCore.Statement) { + self.statement = SQLQueryExpression(statement) + } func fetch(_ db: Database) throws -> Value.QueryOutput { try statement.fetchOne(db) ?? ._none } diff --git a/Sources/SharingGRDBCore/Internal/Deprecations.swift b/Sources/SharingGRDBCore/Internal/Deprecations.swift index cbf78730..96df088e 100644 --- a/Sources/SharingGRDBCore/Internal/Deprecations.swift +++ b/Sources/SharingGRDBCore/Internal/Deprecations.swift @@ -277,7 +277,10 @@ extension FetchAll { @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) private struct FetchAllStatementPackRequest: 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) } @@ -540,7 +543,10 @@ extension FetchOne { @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) private struct FetchOneStatementPackRequest: 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() } diff --git a/Sources/SharingGRDBCore/Internal/StatementKey.swift b/Sources/SharingGRDBCore/Internal/StatementKey.swift index 2942ac2f..ff974ff8 100644 --- a/Sources/SharingGRDBCore/Internal/StatementKey.swift +++ b/Sources/SharingGRDBCore/Internal/StatementKey.swift @@ -1,6 +1,6 @@ protocol StatementKeyRequest: FetchKeyRequest { associatedtype QueryValue - var statement: any StructuredQueriesCore.Statement { get } + var statement: SQLQueryExpression { get } } extension StatementKeyRequest {