groue / GRDB.swift

A toolkit for SQLite databases, with a focus on application development
MIT License
6.61k stars 677 forks source link

Add Sendable conformances and unavailabilities #1510

Closed groue closed 3 months ago

groue commented 3 months ago

This pull request adds or removes Sendable conformance to as many types as possible.

Some types are explicitly non-sendable. For example Database must be used from a database access method such as read or write, and will never become Sendable.

Some other types are left without any explicit annotation. Those will become sendable in GRDB 7. Some apps are able to add @unchecked Sendable conformance to some of them, when mandatory, under some specific conditions that should be checked in this discussion.

groue commented 3 months ago

cc @simba909: this PR completes your #1503 as far as GRDB 6 can go. For the record, I could find the exhaustive list of public types by building the DocC documentation from the GRDB SPM package, and looking for types in the built documentation:

$ find ~/Library/Developer/Xcode/DerivedData/GRDB-dbuvchqinknqzidnxbiauivgvrrm/Build/Products/Debug/GRDB.doccarchive/data/documentation/grdb -type d | sed "s/^.*grdb// | sort"
/adaptedfetchrequest
/aggregatingrequest
/allcolumns
...