Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GRDB 7 #1642

Merged
merged 181 commits into from
Sep 29, 2024
Merged

GRDB 7 #1642

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
8caf312
[BREAKING] Xcode 16+, Swift 6+
groue Aug 24, 2024
29eb04c
[BREAKING] iOS 12+
groue Aug 24, 2024
509cbb9
[BREAKING] tvOS 12+
groue Aug 24, 2024
79cb862
[BREAKING] watchOS 7+
groue Aug 24, 2024
6895164
CI: use Xcode 16.1
groue Aug 24, 2024
0240ab5
Fix compiler warnings
groue Aug 24, 2024
4ecc1ec
Merge pull request #1598 from groue/dev/GRDB7-requirements
groue Aug 24, 2024
31be178
Makefile: document TOOLCHAIN
groue Aug 24, 2024
e210616
GRDB7 TODO
groue Aug 24, 2024
6157a40
Fix DocC warnings
groue Aug 24, 2024
38e867c
Bump minimum targets in Package.swift
groue Aug 24, 2024
81cf93f
Bump iOS version on GitHub CI
groue Aug 24, 2024
cd4e853
[BREAKING] insertAndFetch, saveAndFetch, and updateAndFetch no longer…
groue Feb 10, 2024
867f824
Merge pull request #1599 from groue/dev/GRDB7-non-optional-fetch
groue Aug 24, 2024
be708ee
TODO
groue Aug 24, 2024
9cd1d84
[BREAKING] Stop exporting SQLite
groue Mar 30, 2024
9e1ff42
[BREAKING] Rename CSQLite to GRDBSQLite
groue Jun 23, 2024
3245eb8
Merge pull request #1600 from groue/dev/GRDB7-stop-exporting-SQLite
groue Aug 24, 2024
ad10d88
Fix deprecation warning in Package.swift
groue Aug 24, 2024
451a9eb
[BREAKING] Remove Configuration.defaultTransactionKind
groue Mar 30, 2024
d96dc2d
Aim at debugging failing CI test
groue Aug 25, 2024
1c368ed
Skip flaky test with SQLCipher 3
groue Aug 25, 2024
1a0403a
Merge pull request #1602 from groue/dev/GRDB7-remove-default-transact…
groue Aug 25, 2024
1de32c2
[BREAKING] Remove DatabaseFuture and concurrentRead
groue Mar 30, 2024
5af0bc6
Merge pull request #1603 from groue/dev/GRDB7-remove-DatabaseFuture
groue Aug 25, 2024
e72a37d
Rename LockedBox to Mutex
groue Feb 11, 2024
490b4e5
Merge pull request #1604 from groue/dev/GRDB7-Mutex
groue Aug 25, 2024
b2286aa
DatabaseCursor has a primary associated type
groue Aug 25, 2024
5025ecc
Merge pull request #1605 from groue/dev/GRDB7-DatabaseCursor-primary-…
groue Aug 25, 2024
c4507c5
.editorconfig
groue Aug 25, 2024
1fe4df9
[BREAKING] databaseDataEncodingStrategy depends on the column
groue Jul 28, 2024
7a8a9a9
[BREAKING] databaseDateEncodingStrategy depends on the column
groue Jul 28, 2024
bcd6e03
[BREAKING] databaseUUIDEncodingStrategy depends on the column
groue Jul 28, 2024
95ca9f5
[BREAKING] databaseDataDecodingStrategy depends on the column
groue Jul 28, 2024
7747211
[BREAKING] databaseDateDecodingStrategy depends on the column
groue Jul 30, 2024
a7fe896
Merge pull request #1606 from groue/dev/GRDB7-strategies
groue Aug 25, 2024
ad74526
BusyCallback and BusyMode are Sendable
groue Aug 25, 2024
0457a62
TransactionClock is Sendable
groue Mar 30, 2024
8e860e6
Configuration is Sendable
groue Mar 30, 2024
876a087
Coding strategies are Sendable
groue Mar 30, 2024
b752229
DatabaseFunction is Sendable
groue Feb 10, 2024
300e5fe
DatabaseFunction is Identifiable
groue Aug 25, 2024
a5806a0
[BREAKING] DatabaseFunction is no longer Hashable
groue Aug 25, 2024
405312f
DatabaseCollation is Sendable
groue Feb 10, 2024
eedd165
DatabaseCollation is Identifiable
groue Aug 25, 2024
c1f59df
[BREAKING] DatabaseCollation is no longer Hashable
groue Aug 25, 2024
55cdb4e
DatabaseMigrator is Sendable
groue Feb 11, 2024
961f6c4
FilterCursor can't be made Sendable
groue Mar 30, 2024
7aff0b9
RowAdapter is Sendable
groue Mar 30, 2024
5333dbe
LogErrorFunction is Sendable
groue Mar 30, 2024
e93e4c5
ReadWriteBox is Sendable
groue Feb 11, 2024
b587afb
Pool is Sendable
groue Feb 11, 2024
b0c5725
OnDemandFuture fulfill is Sendable
groue Mar 31, 2024
1036371
DatabasePromise is Sendable
groue Aug 25, 2024
0fdd910
⚠️ Make TableAlias Sendable even if it is not yet.
groue Mar 31, 2024
56e2ab8
SQLAssociationCondition is Sendable
groue Apr 24, 2024
30569ab
OrderedDictionary is conditionally Sendable
groue Apr 23, 2024
aff662c
SQL is Sendable
groue Mar 31, 2024
cc5798c
WALSnapshotTransaction is Sendable
groue Mar 31, 2024
47aa1f5
TODO
groue Aug 26, 2024
4222854
DatabaseRegionConvertible is Sendable
groue Aug 27, 2024
c56b529
DatabaseCancellable is Sendable
groue Aug 27, 2024
aac8720
DatabaseRegionObservation is Sendable
groue Aug 27, 2024
849bba2
Refactor ValueReducer for Swift concurrency
groue Aug 27, 2024
c08b1fa
ValueObservationScheduler is Sendable
groue Aug 31, 2024
b1424d1
[BREAKING] PersistenceContainer is Sendable
groue Aug 31, 2024
bdccd11
Merge pull request #1607 from groue/dev/GRDB7-Sendable
groue Aug 31, 2024
e9d0d38
Fix concurrency warning with DispatchQueue.mainKey
groue Aug 31, 2024
b85121d
Database support for cancellation
groue Jun 16, 2024
40140af
SerializedDatabase support for async db access with support for Task …
groue Jun 16, 2024
5ecf9f6
Vendor AsyncSemaphore
groue Sep 1, 2024
fa54b74
[BREAKING] DatabaseWriter async methods support Task cancellation
groue Sep 1, 2024
d6b91ee
[BREAKING] DatabaseReader async methods support Task cancellation
groue Sep 1, 2024
cb1bd83
Document that async methods can throw CancellationError
groue Sep 1, 2024
5b4b8a9
Async database accesses check for cancellation before returning
groue Sep 1, 2024
71f5554
Test cancellation handling from AnyDatabaseReader and AnyDatabaseWriter
groue Sep 1, 2024
a02601c
Merge pull request #1610 from groue/dev/GRDB7-cancellable-database-ac…
groue Sep 1, 2024
9357198
TODO
groue Sep 5, 2024
0e6ffeb
Merge branch 'master' into GRDB7
groue Sep 8, 2024
110d931
Exclude products folder from GRDBTests target
groue Sep 8, 2024
6a29d6c
[BREAKING] Prefer Collection over Sequence for filter(keys:) and deri…
groue Sep 8, 2024
24576c9
Merge pull request #1617 from groue/dev/GRDB7-collection-over-sequence
groue Sep 8, 2024
8409768
TODO
groue Sep 8, 2024
ea4d208
Rename ReadWriteBox to ReadWriteLock
groue Sep 8, 2024
7084c95
TODO
groue Sep 8, 2024
a7a9c75
Place `@escaping` before `@Sendable`
groue Sep 8, 2024
0b6ac87
[SENDING REGRET] ValueObservationScheduler requires Sendable closures
groue Sep 8, 2024
55560cc
[SENDING REGRET] Pool async methods require Sendable closures
groue Sep 8, 2024
6371dc0
OnDemandFuture closure is Sendable
groue Sep 8, 2024
c122872
[SENDING REGRET] SerializedDatabase.async requires a Sendable closure
groue Sep 8, 2024
b3ac63b
[SENDING REGRET] DatabaseMigrator.asyncMigrate requires a Sendable cl…
groue Sep 8, 2024
e35fb79
DatabaseRegionObservation callbacks are Sendable
groue Sep 8, 2024
62d96ec
[SENDING REGRET] Async database accesses require Sendable closures
groue Sep 8, 2024
5585e47
Database publishers require Sendable closures
groue Sep 8, 2024
28faa97
Database.afterNextTransaction callbacks are Sendable
groue Sep 8, 2024
5f384a4
ValueObservation is Sendable
groue Sep 8, 2024
ec5b7d9
SharedValueObservation is Sendable
groue Sep 8, 2024
2f240fd
[SENDING REGRET] Async database access methods return Sendable results
groue Sep 8, 2024
4b5ec4f
Enable InferSendableFromCaptures upcoming feature
groue Sep 8, 2024
945f398
Fix Sendable warnings in tests
groue Sep 8, 2024
4f1587a
Merge pull request #1618 from groue/dev/GRDB7-Sendable-database-access
groue Sep 14, 2024
c221907
TODO
groue Sep 14, 2024
9501d1f
Fix compiler warnings about SchedulingWatchdog concurrency
groue Sep 14, 2024
b079136
Fix compiler warnings about ISO8601DateFormatter concurrency
groue Sep 14, 2024
01308c6
Fix compiler warnings about NSCache concurrency
groue Sep 14, 2024
d3e62dc
Fix compiler warnings about default Inflections
groue Sep 14, 2024
461db6c
Feed database promises with Sendable values
groue Sep 15, 2024
630daaf
Fix compiler warnings about StatementArgumentsSink for literal arguments
groue Sep 15, 2024
e68a207
Fix compiler warnings when building the request for an association
groue Sep 15, 2024
473b06e
Fix compiler warnings about SQLQualifiedRelation
groue Sep 15, 2024
d489178
Improve ValueObservation tests debuggability
groue Sep 14, 2024
29f8aa3
Fix compiler warnings in ValueObservation observers
groue Sep 15, 2024
3728628
Association is Sendable
groue Sep 15, 2024
d11f509
Record is not Sendable
groue Sep 15, 2024
157dbef
TODO
groue Sep 15, 2024
e307e9c
Improve CaseInsensitiveIdentifier documentation
groue Apr 24, 2024
9e9bee8
TODO
groue Sep 15, 2024
2845570
Fix DocC warnings
groue Sep 15, 2024
7707bbd
Fix Swiftlint warning
groue Sep 21, 2024
e7a95cf
Enable GlobalActorIsolatedTypesUsability
groue Sep 21, 2024
dd28d97
Fix GlobalActorIsolatedTypesUsability
groue Sep 21, 2024
e1a3840
[BREAKING] Async sequences built from ValueObservation schedule value…
groue Sep 15, 2024
bdb7d84
[BREAKING] ValueObservation MainActor scheduling
groue Sep 16, 2024
58a2e04
Mark ValueObservation starting methods as @preconcurrency
groue Sep 21, 2024
1649636
TODO
groue Sep 21, 2024
f794d98
Merge pull request #1633 from groue/dev/GRDB7-ValueObservation-async-…
groue Sep 21, 2024
8c40592
[BREAKING] iOS 13+
groue Sep 21, 2024
e4a4735
[BREAKING] tvOS 13+
groue Sep 21, 2024
46e1561
[BREAKING] macOS 10.15+
groue Sep 21, 2024
23842d8
Merge pull request #1634 from groue/dev/GRDB7-bump-requirements
groue Sep 21, 2024
900180d
[BREAKING] Prefer any DatabaseReader and DatabaseWriter
groue Sep 21, 2024
c149d11
Merge pull request #1635 from groue/dev/GRDB7-any-database
groue Sep 21, 2024
173f363
TableRecord.databaseSelection should be declared as a computed property
groue Sep 21, 2024
e4e3da3
TODO
groue Sep 21, 2024
22d43b6
New demo app
groue Sep 21, 2024
6c83b1c
README
groue Sep 21, 2024
9ca2f6e
New manual install test app
groue Sep 21, 2024
d985314
Replace the demo apps
groue Sep 21, 2024
be3bce9
Fix GRDBTests target
groue Sep 21, 2024
4463374
Merge pull request #1636 from groue/dev/GRDB7-demo
groue Sep 21, 2024
0af8415
GRDBDemo cleanup
groue Sep 21, 2024
938ad7a
Prefer Data over NSData
groue Sep 22, 2024
1be6762
TODO
groue Sep 22, 2024
cc0b401
StrictConcurrency: FetchableRecord.databaseDecodingUserInfo must be d…
groue Apr 27, 2024
89aa353
StrictConcurrency: databaseDecodingUserInfo and databaseEncodingUserI…
groue Apr 27, 2024
972aa33
Avoid optionals in JSON Data to String conversions
groue Sep 22, 2024
f7d85b0
Fixits
groue Sep 22, 2024
ef2251e
Test access to SQLite C functions
groue Sep 22, 2024
2800530
Improve documentation of PersistenceContainer subscript getter
groue Sep 22, 2024
48cb4cf
GRDB 7 migration guide
groue Sep 22, 2024
7f1a3fd
Swift Concurrency Guide WIP
groue Sep 22, 2024
aa7c528
Swift Concurrency Guide: GlobalActorIsolatedTypesUsability
groue Sep 22, 2024
5d44fc7
TODO
groue Sep 23, 2024
e7e5956
SwiftConcurrency.md
groue Sep 23, 2024
ebe313c
GRDB7MigrationGuide.md
groue Sep 23, 2024
bc98fdb
SwiftConcurrency.md
groue Sep 24, 2024
521d784
More GRDB 7 migration and Swift concurrency documentation
groue Sep 25, 2024
cb001cb
SwiftConcurrency.md
groue Sep 26, 2024
9b6a3b9
SwiftConcurrency.md
groue Sep 26, 2024
8dbce53
SwiftConcurrency.md
groue Sep 27, 2024
d003601
TODO
groue Sep 27, 2024
b389547
Code dump for Swift6Migration test app
groue Sep 27, 2024
ebdd1f1
Fix SPM CI tests
groue Sep 28, 2024
1cd7806
Merge pull request #1638 from groue/dev/GRDB7-migration-guide
groue Sep 28, 2024
20818ee
Remove the Record class from the documentation
groue Sep 28, 2024
c404e2d
Merge pull request #1640 from groue/dev/GRDB7-hide-record-class
groue Sep 28, 2024
6b2cceb
AsyncValueObservation is Sendable
groue Sep 28, 2024
dc20709
Merge pull request #1639 from groue/dev/GRDB7-sendable-async-sequence
groue Sep 28, 2024
8850057
TODO
groue Sep 28, 2024
073682c
Remove the experimental flag on stabilized apis
groue Sep 28, 2024
d68e55c
Cleanup demo app, and add tests for the view model
groue Sep 28, 2024
3c586cb
Update link to the migration guide
groue Sep 28, 2024
bb712a6
Rewrite the "Choosing between Synchronous and Asynchronous Database A…
groue Sep 28, 2024
f675489
CHANGELOG
groue Sep 28, 2024
47fa6ef
Extract GRDBTests.xcconfig
groue Sep 28, 2024
030121e
Swift 6 language mode on GRDB targets
groue Sep 28, 2024
9302925
Fix Swiftlint warnings
groue Sep 28, 2024
c8ec149
CHANGELOG
groue Sep 29, 2024
625c529
Remove the documentation paragraph about the Xcode bug with CSQLite
groue Sep 29, 2024
4132d02
Merge pull request #1641 from groue/dev/GRDB7-Swift-6-language-mode
groue Sep 29, 2024
e0eca34
Demo app cleanup
groue Sep 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[*.swift]
indent_style = space
indent_size = 4
tab_width = 4
end_of_line = lf
insert_final_newline = true
max_line_length = 76
trim_trailing_whitespace = true
93 changes: 24 additions & 69 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md

name: "GRDB CI"

Expand Down Expand Up @@ -40,42 +40,18 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
destination: "platform=macOS"
name: "macOS"
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
destination: "OS=16.4,name=iPhone 14 Pro"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
destination: "OS=18.1,name=iPhone 15 Pro"
name: "iOS"
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
destination: "OS=16.4,name=Apple TV"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
destination: "OS=18.0,name=Apple TV"
name: "tvOS"
- xcode: "Xcode_14.2.app"
runsOn: macOS-13
destination: "platform=macOS"
name: "macOS"
- xcode: "Xcode_14.2.app"
runsOn: macOS-13
destination: "OS=16.2,name=iPhone 14"
name: "iOS"
- xcode: "Xcode_14.1.app"
runsOn: macOS-13
destination: "platform=macOS"
name: "macOS"
- xcode: "Xcode_14.1.app"
runsOn: macOS-13
destination: "OS=16.1,name=iPhone 14"
name: "iOS"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
destination: "platform=macOS"
name: "macOS"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
destination: "OS=16.0,name=iPhone 14"
name: "iOS"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand All @@ -90,18 +66,9 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
name: "Xcode 14.3.1"
- xcode: "Xcode_14.2.app"
runsOn: macOS-13
name: "Xcode 14.2"
- xcode: "Xcode_14.1.app"
runsOn: macOS-13
name: "Xcode 14.1"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
name: "Xcode 14.0.1"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
name: "Xcode 16.1"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand All @@ -116,12 +83,9 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
name: "Xcode 14.3.1"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
name: "Xcode 14.0.1"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
name: "Xcode 16.1"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand All @@ -136,12 +100,9 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
name: "Xcode 14.3.1"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
name: "Xcode 14.0.1"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
name: "Xcode 16.1"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand All @@ -156,12 +117,9 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
name: "Xcode 14.3.1"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
name: "Xcode 14.0.1"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
name: "Xcode 16.1"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand All @@ -176,12 +134,9 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: "Xcode_14.3.1.app"
runsOn: macOS-13
name: "Xcode 14.3.1"
- xcode: "Xcode_14.0.1.app"
runsOn: macOS-12
name: "Xcode 14.0.1"
- xcode: "Xcode_16.1.app"
runsOn: macOS-14
name: "Xcode 16.1"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
Expand Down
134 changes: 0 additions & 134 deletions .swiftpm/xcode/xcshareddata/xcschemes/GRDB-Package.xcscheme

This file was deleted.

19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,25 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:

---

## Next Release

- **Breaking Change**: Bump requirements by [@groue](https://github.com/groue) in [#1598](https://github.com/groue/GRDB.swift/pull/1598) and [#1634](https://github.com/groue/GRDB.swift/pull/1634)
- **Breaking Change**: Enhance ergonomics of record methods that insert/save/upsert and fetch by [@groue](https://github.com/groue) in [#1599](https://github.com/groue/GRDB.swift/pull/1599)
- **Breaking Change**: Rename the CSQLite module to GRDBSQLite, and stop exporting the C SQLite functions by [@groue](https://github.com/groue) in [#1600](https://github.com/groue/GRDB.swift/pull/1600)
- **Breaking Change**: Perform all writes with immediate transactions by default by [@groue](https://github.com/groue) in [#1602](https://github.com/groue/GRDB.swift/pull/1602)
- **Breaking Change**: Remove DatabasePool.concurrentRead by [@groue](https://github.com/groue) in [#1603](https://github.com/groue/GRDB.swift/pull/1603)
- **Breaking Change**: Coding strategies depend on the column by [@groue](https://github.com/groue) in [#1606](https://github.com/groue/GRDB.swift/pull/1606)
- **Breaking Change**: Add missing Sendable conformances by [@groue](https://github.com/groue) in [#1607](https://github.com/groue/GRDB.swift/pull/1607) and [#1639](https://github.com/groue/GRDB.swift/pull/1639)
- **Breaking Change**: Async database accesses honor Task cancellation by [@groue](https://github.com/groue) in [#1610](https://github.com/groue/GRDB.swift/pull/1610)
- **Breaking Change**: Prefer Collection over Sequence for filter(keys:) and related APIs by [@groue](https://github.com/groue) in [#1617](https://github.com/groue/GRDB.swift/pull/1617)
- **Breaking Change**: MainActor ValueObservation scheduling by [@groue](https://github.com/groue) in [#1633](https://github.com/groue/GRDB.swift/pull/1633)
- **Breaking Change**: Prefer any DatabaseReader and DatabaseWriter by [@groue](https://github.com/groue) in [#1635](https://github.com/groue/GRDB.swift/pull/1635)
- **New**: Sendable database accesses by [@groue](https://github.com/groue) in [#1618](https://github.com/groue/GRDB.swift/pull/1618)
- **New**: DatabaseCursor has a primary associated type by [@groue](https://github.com/groue) in [#1605](https://github.com/groue/GRDB.swift/pull/1605)
- **Documentation Update**: [Migrating From GRDB 6 to GRDB 7](Documentation/GRDB7MigrationGuide.md) describes in detail how to bump the GRDB version in your application.
- **Documentation Update**: The new [Swift Concurrency and GRDB](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/swiftconcurrency) guide explains how to best integrate GRDB and Swift Concurrency.
- **Documentation Update**: The [demo app](Documentation/DemoApps/) was rewritten from scratch in a brand new Xcode 16 project.

## 6.29.3

Released September 7, 2024
Expand Down
5 changes: 1 addition & 4 deletions Documentation/AssociationsBasics.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,7 @@ Before we dive in, please remember that associations can not generate all possib

**Associations are available on types that adopt the necessary supporting protocols.**

When your record type is a subclass of the [Record class], all necessary protocols are already setup and ready: you can skip this chapter.

Generally speaking, associations use the [TableRecord], [FetchableRecord], and [EncodableRecord] protocols:
Associations are based on the [TableRecord], [FetchableRecord], and [EncodableRecord] protocols:

- **[TableRecord]** is the protocol that lets you declare associations between record types:

Expand Down Expand Up @@ -3005,7 +3003,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
[TableRecord]: ../README.md#tablerecord-protocol
[Recommended Practices for Designing Record Types]: https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/recordrecommendedpractices
[regular aggregating methods]: ../README.md#fetching-aggregated-values
[Record class]: ../README.md#record-class
[EncodableRecord]: ../README.md#persistablerecord-protocol
[PersistableRecord]: ../README.md#persistablerecord-protocol
[Codable Records]: ../README.md#codable-records
Expand Down
Loading