You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -91,7 +92,9 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
91
92
92
93
---
93
94
94
-
## Next Release
95
+
## 5.25.0
96
+
97
+
Released June 11, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v5.24.1...v5.25.0)
95
98
96
99
- **New**: [#1226](https://github.com/groue/GRDB.swift/pull/1226) by [@naveensrinivasan](https://github.com/naveensrinivasan): Included githubactions in the dependabot config
97
100
- **New**: [#1228](https://github.com/groue/GRDB.swift/pull/1228) by [@naveensrinivasan](https://github.com/naveensrinivasan): Set permissions for GitHub actions
let pattern =FTS3Pattern(matchingAnyTokenIn: "*") // nil
305
305
```
306
306
307
-
FTS3Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
307
+
FTS3Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html):
let pattern =FTS5Pattern(matchingAnyTokenIn: "*") // nil
588
588
```
589
589
590
-
FTS5Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
590
+
FTS5Pattern are regular [values](../README.md#values). You can use them as query [arguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html):
| Swift 5.2 |[v5.12.0](https://github.com/groue/GRDB.swift/tree/v5.12.0)|
22
22
| Swift 5.1 |[v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0)|
23
23
| Swift 5 |[v4.14.0](https://github.com/groue/GRDB.swift/tree/v4.14.0)|
@@ -321,7 +321,7 @@ Documentation
321
321
322
322
#### Reference
323
323
324
-
-[GRDB Reference](http://groue.github.io/GRDB.swift/docs/5.24/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
324
+
-[GRDB Reference](http://groue.github.io/GRDB.swift/docs/5.25/index.html) (generated by [Jazzy](https://github.com/realm/jazzy))
325
325
326
326
#### Getting Started
327
327
@@ -617,7 +617,7 @@ do {
617
617
>
618
618
> :warning:**Warning**: The SQLite version that ships with old operating systems (prior to OSX 10.12, tvOS 10.0, and watchOS 3.0) outputs statement arguments in the [trace events](#how-do-i-print-a-request-as-sql), regardless of the `publicStatementArguments` flag.
619
619
620
-
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html) for more details and configuration options.
620
+
See [Configuration](http://groue.github.io/GRDB.swift/docs/5.25/Structs/Configuration.html) for more details and configuration options.
621
621
622
622
623
623
SQLite API
@@ -674,7 +674,7 @@ try dbQueue.write { db in
674
674
}
675
675
```
676
676
677
-
The `?` and colon-prefixed keys like `:score` in the SQL query are the **statements arguments**. You pass arguments with arrays or dictionaries, as in the example above. See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
677
+
The `?` and colon-prefixed keys like `:score` in the SQL query are the **statements arguments**. You pass arguments with arrays or dictionaries, as in the example above. See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
678
678
679
679
You can also embed query arguments right into your SQL queries, with the `literal` argument label, as in the example below. See [SQL Interpolation] for more details.
680
680
@@ -932,7 +932,7 @@ try dbQueue.read { db in
932
932
let dictionary =tryDictionary(uniqueKeysWithValues: cursor)
933
933
```
934
934
935
-
-**Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/Cursor.html) protocol, which looks a lot like standard [lazy sequences](https://developer.apple.com/reference/swift/lazysequenceprotocol) of Swift.** As such, cursors come with many convenience methods: `compactMap`, `contains`, `dropFirst`, `dropLast`, `drop(while:)`, `enumerated`, `filter`, `first`, `flatMap`, `forEach`, `joined`, `joined(separator:)`, `max`, `max(by:)`, `min`, `min(by:)`, `map`, `prefix`, `prefix(while:)`, `reduce`, `reduce(into:)`, `suffix`:
935
+
-**Cursors adopt the [Cursor](http://groue.github.io/GRDB.swift/docs/5.25/Protocols/Cursor.html) protocol, which looks a lot like standard [lazy sequences](https://developer.apple.com/reference/swift/lazysequenceprotocol) of Swift.** As such, cursors come with many convenience methods: `compactMap`, `contains`, `dropFirst`, `dropLast`, `drop(while:)`, `enumerated`, `filter`, `first`, `flatMap`, `forEach`, `joined`, `joined(separator:)`, `max`, `max(by:)`, `min`, `min(by:)`, `map`, `prefix`, `prefix(while:)`, `reduce`, `reduce(into:)`, `suffix`:
936
936
937
937
```swift
938
938
// Prints all Github links
@@ -1011,7 +1011,7 @@ let rows = try Row.fetchAll(db,
1011
1011
arguments: ["name":"Arthur"])
1012
1012
```
1013
1013
1014
-
See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
1014
+
See [Values](#values) for more information on supported arguments types (Bool, Int, String, Date, Swift enums, etc.), and [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html) for a detailed documentation of SQLite arguments.
1015
1015
1016
1016
Unlike row arrays that contain copies of the database rows, row cursors are close to the SQLite metal, and require a little care:
1017
1017
@@ -1296,7 +1296,7 @@ GRDB ships with built-in support for the following value types:
1296
1296
1297
1297
- Generally speaking, all types that adopt the [DatabaseValueConvertible](#custom-value-types) protocol.
1298
1298
1299
-
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
1299
+
Values can be used as [statement arguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html):
1300
1300
1301
1301
```swift
1302
1302
let url: URL =...
@@ -1767,7 +1767,7 @@ try dbQueue.inDatabase { db in // or dbPool.writeWithoutTransaction
1767
1767
}
1768
1768
```
1769
1769
1770
-
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html) configuration flag:
1770
+
Transactions can't be left opened unless you set the [allowsUnsafeTransactions](http://groue.github.io/GRDB.swift/docs/5.25/Structs/Configuration.html) configuration flag:
1771
1771
1772
1772
```swift
1773
1773
// fatal error: A transaction has been left opened at the end of a database access
@@ -1879,7 +1879,7 @@ try dbQueue.write { db in
1879
1879
}
1880
1880
```
1881
1881
1882
-
The `?` and colon-prefixed keys like `:name` in the SQL query are the statement arguments. You set them with arrays or dictionaries (arguments are actually of type [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
1882
+
The `?` and colon-prefixed keys like `:name` in the SQL query are the statement arguments. You set them with arrays or dictionaries (arguments are actually of type [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html), which happens to adopt the ExpressibleByArrayLiteral and ExpressibleByDictionaryLiteral protocols).
See [fetching methods](#fetching-methods) for information about the `fetchCursor`, `fetchAll`, `fetchSet` and `fetchOne` methods. See [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html) for more information about the query arguments.
2708
+
See [fetching methods](#fetching-methods) for information about the `fetchCursor`, `fetchAll`, `fetchSet` and `fetchOne` methods. See [StatementArguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html) for more information about the query arguments.
2709
2709
2710
2710
>:point_up:**Note**:for performance reasons, the same row argument to `init(row:)` is reused during the iteration of a fetch query. If you want to keep the row for later use, make sure to store a copy: `self.row = row.copy()`.
2711
2711
@@ -3145,7 +3145,7 @@ protocol EncodableRecord {
3145
3145
}
3146
3146
```
3147
3147
3148
-
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
3148
+
See [DatabaseColumnDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseColumnDecodingStrategy.html) and [DatabaseColumnEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseColumnEncodingStrategy.html) to learn about all available strategies.
3149
3149
3150
3150
3151
3151
### Date and UUID Coding Strategies
@@ -3167,7 +3167,7 @@ protocol EncodableRecord {
3167
3167
}
3168
3168
```
3169
3169
3170
-
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.24/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
3170
+
See [DatabaseDateDecodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseDateDecodingStrategy.html), [DatabaseDateEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseDateEncodingStrategy.html), and [DatabaseUUIDEncodingStrategy](https://groue.github.io/GRDB.swift/docs/5.25/Enums/DatabaseUUIDEncodingStrategy.html) to learn about all available strategies.
3171
3171
3172
3172
There is no customization of uuid decoding, because UUID can already decode all its encoded variants (16-bytes blobs and uuid strings, both uppercase and lowercase).
3173
3173
@@ -4692,7 +4692,7 @@ Player // SELECT * FROM player
4692
4692
```
4693
4693
4694
4694
4695
-
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.24/Structs/StatementArguments.html):
4695
+
Raw SQL snippets are also accepted, with eventual [arguments](http://groue.github.io/GRDB.swift/docs/5.25/Structs/StatementArguments.html):
4696
4696
4697
4697
```swift
4698
4698
// SELECT DATE(creationDate), COUNT(*) FROM player WHERE name = 'Arthur' GROUP BY date(creationDate)
- The `adapted(_:)` method eases the consumption of complex rows with [row adapters](#row-adapters). See [Joined Queries Support](#joined-queries-support) for some sample code that uses this method.
5600
5600
5601
-
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.24/Structs/AnyFetchRequest.html): a type-erased request.
5601
+
- [AnyFetchRequest](http://groue.github.io/GRDB.swift/docs/5.25/Structs/AnyFetchRequest.html): a type-erased request.
For example, if you observe the region of `Player.select(max(Column("score")))`, then you'll get be notified of all changes performed on the `score` column of the `player` table (updates, insertions and deletions), even if they do not modify the value of the maximum score. However, you will not get any notification for changes performed on other database tables, or updates to other columns of the player table.
6902
6902
6903
-
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.24/Structs/DatabaseRegion.html).
6903
+
For more details, see the [reference](https://groue.github.io/GRDB.swift/docs/5.25/Structs/DatabaseRegion.html).
6904
6904
6905
6905
6906
6906
#### The DatabaseRegionConvertible Protocol
@@ -8240,7 +8240,7 @@ When this is the case, there are two possible explanations:
8240
8240
try db.execute(sql: "UPDATE player SET name = ?", arguments: [name])
8241
8241
```
8242
8242
8243
-
For more information, see [Double-quoted String Literals Are Accepted](https://sqlite.org/quirks.html#dblquote), and [Configuration.acceptsDoubleQuotedStringLiterals](http://groue.github.io/GRDB.swift/docs/5.24/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
8243
+
For more information, see [Double-quoted String Literals Are Accepted](https://sqlite.org/quirks.html#dblquote), and [Configuration.acceptsDoubleQuotedStringLiterals](http://groue.github.io/GRDB.swift/docs/5.25/Structs/Configuration.html#/s:4GRDB13ConfigurationV33acceptsDoubleQuotedStringLiteralsSbvp).
8244
8244
8245
8245
8246
8246
@@ -8381,7 +8381,7 @@ This chapter has [moved](Documentation/Concurrency.md#database-snapshots).
8381
8381
8382
8382
#### DatabaseWriter and DatabaseReader Protocols
8383
8383
8384
-
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/5.24/Protocols/DatabaseWriter.html).
8384
+
This chapter was removed. See the references of [DatabaseReader](http://groue.github.io/GRDB.swift/docs/5.25/Protocols/DatabaseReader.html) and [DatabaseWriter](http://groue.github.io/GRDB.swift/docs/5.25/Protocols/DatabaseWriter.html).
8385
8385
8386
8386
#### Asynchronous APIs
8387
8387
@@ -8434,7 +8434,7 @@ This chapter was renamed to [Embedding SQL in Query Interface Requests].
8434
8434
[Sharing a Database]: Documentation/SharingADatabase.md
0 commit comments