Skip to content

Commit 1c6bc8f

Browse files
committed
Clarified the expectations around new vs existing actor & context and how different contexts are expected to interact.
1 parent 2d02d73 commit 1c6bc8f

File tree

5 files changed

+118
-73
lines changed

5 files changed

+118
-73
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ for person in people {
1616

1717
// Or a background context
1818
Task.detached {
19-
await modelContainer.queryActor().perform { _ in
19+
await modelContainer.createQueryActor().perform { _ in
2020
let people = Query<Person>()
2121
.include(#Predicate { $0.age >= 18 } )
2222
.sortBy(\.age)
@@ -217,7 +217,7 @@ We also expose an async `perform` functions on a SwiftQuery's default actor that
217217
implicitly use `QueryActor` to run queries:
218218

219219
```swift
220-
await modelContainer.queryActor().perform { _ in
220+
await modelContainer.createQueryActor().perform { _ in
221221
let allJills = Person
222222
.include(#Predicate { $0.name == "Jill" })
223223
.results()
@@ -232,7 +232,7 @@ await modelContainer.queryActor().perform { _ in
232232
Or, to return a value:
233233

234234
```swift
235-
let count = await modelContainer.queryActor().perform { _ in
235+
let count = await modelContainer.createQueryActor().perform { _ in
236236
Query<Person>()
237237
.include(#Predicate { $0.age >= 18 } )
238238
.count()

Sources/SwiftQuery/Fetch+Concurrency.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public extension Query {
4747
/// ## Example
4848
/// ```swift
4949
/// // Get the oldest person concurrently
50-
/// await container.queryActor().perform { _ in
50+
/// await container.createQueryActor().perform { _ in
5151
/// let oldest = try Person.sortBy(\.age).last()
5252
/// print("Oldest person: \(oldest?.name ?? "None")")
5353
/// }
@@ -69,7 +69,7 @@ public extension Query {
6969
/// ## Example
7070
/// ```swift
7171
/// // Fetch all adults concurrently
72-
/// await container.queryActor().perform { _ in
72+
/// await container.createQueryActor().perform { _ in
7373
/// let adults = try Person.include(#Predicate { $0.age >= 18 }).results()
7474
/// print("Found \(adults.count) adults")
7575
/// }
@@ -94,7 +94,7 @@ public extension Query {
9494
/// ## Example
9595
/// ```swift
9696
/// // Process large result set in batches concurrently
97-
/// await container.queryActor().perform { _ in
97+
/// await container.createQueryActor().perform { _ in
9898
/// try Person.sortBy(\.name).fetchedResults(batchSize: 50) { results in
9999
/// for person in results.prefix(100) {
100100
/// // Process first 100 results efficiently
@@ -130,7 +130,7 @@ public extension Query {
130130
/// ## Example
131131
/// ```swift
132132
/// // Get count of large result set efficiently
133-
/// let count = try await container.queryActor().perform { _ in
133+
/// let count = try await container.createQueryActor().perform { _ in
134134
/// try Person.sortBy(\.name).fetchedResults { results in
135135
/// results.count
136136
/// }
@@ -158,7 +158,7 @@ public extension Query {
158158
/// ## Example
159159
/// ```swift
160160
/// // Count adults concurrently
161-
/// let adultCount = try await container.queryActor().perform { _ in
161+
/// let adultCount = try await container.createQueryActor().perform { _ in
162162
/// try Person.include(#Predicate { $0.age >= 18 }).count()
163163
/// }
164164
/// ```
@@ -179,7 +179,7 @@ public extension Query {
179179
/// ## Example
180180
/// ```swift
181181
/// // Check if any minors exist concurrently
182-
/// let hasMinors = try await container.queryActor().perform { _ in
182+
/// let hasMinors = try await container.createQueryActor().perform { _ in
183183
/// try !Person.include(#Predicate { $0.age < 18 }).isEmpty()
184184
/// }
185185
/// ```
@@ -202,7 +202,7 @@ public extension Query {
202202
/// ## Example
203203
/// ```swift
204204
/// // Find or create admin user concurrently
205-
/// try await container.queryActor().perform { actor in
205+
/// try await container.createQueryActor().perform { actor in
206206
/// try Person
207207
/// .include(#Predicate { $0.role == "admin" })
208208
/// .findOrCreate(
@@ -242,7 +242,7 @@ public extension Query {
242242
/// ## Example
243243
/// ```swift
244244
/// // Delete inactive users concurrently
245-
/// await container.queryActor().perform { _ in
245+
/// await container.createQueryActor().perform { _ in
246246
/// try Person.include(#Predicate { $0.isInactive }).delete()
247247
/// }
248248
/// ```

Sources/SwiftQuery/QueryActor.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public actor QueryActor: Sendable {
4747

4848
public extension ModelContainer {
4949
/// Creates a `QueryActor` associated with this model container.
50-
func queryActor() -> QueryActor {
50+
func createQueryActor() -> QueryActor {
5151
.init(modelContainer: self)
5252
}
5353
}

0 commit comments

Comments
 (0)