Skip to content

Commit 2ac5c77

Browse files
committed
Merge branch 'development'
2 parents aaf3efe + 2a849d3 commit 2ac5c77

File tree

26 files changed

+380
-166
lines changed

26 files changed

+380
-166
lines changed

.github/workflows/CI.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
macOS:
2525
name: macOS
2626
runs-on: ${{ matrix.runsOn }}
27-
timeout-minutes: 40
27+
timeout-minutes: 60
2828
strategy:
2929
fail-fast: false
3030
matrix:
@@ -60,7 +60,7 @@ jobs:
6060
iOS:
6161
name: iOS
6262
runs-on: ${{ matrix.runsOn }}
63-
timeout-minutes: 40
63+
timeout-minutes: 60
6464
strategy:
6565
fail-fast: false
6666
matrix:
@@ -80,7 +80,7 @@ jobs:
8080
SPM:
8181
name: SPM
8282
runs-on: ${{ matrix.runsOn }}
83-
timeout-minutes: 40
83+
timeout-minutes: 60
8484
strategy:
8585
fail-fast: false
8686
matrix:
@@ -132,7 +132,7 @@ jobs:
132132
CustomSQLite:
133133
name: CustomSQLite
134134
runs-on: ${{ matrix.runsOn }}
135-
timeout-minutes: 40
135+
timeout-minutes: 60
136136
strategy:
137137
fail-fast: false
138138
matrix:
@@ -152,7 +152,7 @@ jobs:
152152
XCFramework:
153153
name: XCFramework
154154
runs-on: ${{ matrix.runsOn }}
155-
timeout-minutes: 40
155+
timeout-minutes: 60
156156
strategy:
157157
fail-fast: false
158158
matrix:

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
77

88
#### 5.x Releases
99

10-
- `5.24.x` Releases - [5.24.0](#5240)
10+
- `5.24.x` Releases - [5.24.0](#5240) | [5.24.1](#5241)
1111
- `5.23.x` Releases - [5.23.0](#5230)
1212
- `5.22.x` Releases - [5.22.0](#5220) | [5.22.1](#5221) | [5.22.2](#5222)
1313
- `5.21.x` Releases - [5.21.0](#5210)
@@ -91,6 +91,13 @@ GRDB adheres to [Semantic Versioning](https://semver.org/), with one exception:
9191

9292
---
9393

94+
## 5.24.1
95+
96+
Released May 26, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v5.24.0...v5.24.1)
97+
98+
- **Fixed**: [#1217](https://github.com/groue/GRDB.swift/pull/1217) by [@GetToSet](https://github.com/GetToSet): Fix doc issue on TableRequest.filter(keys:).
99+
- **Fixed**: [#1225](https://github.com/groue/GRDB.swift/pull/1225) by [@groue](https://github.com/groue): Prevent heavy DatabasePool concurrent reads from creating too many threads
100+
94101
## 5.24.0
95102

96103
Released May 1, 2022 • [diff](https://github.com/groue/GRDB.swift/compare/v5.23.0...v5.24.0)

GRDB.swift.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'GRDB.swift'
3-
s.version = '5.24.0'
3+
s.version = '5.24.1'
44

55
s.license = { :type => 'MIT', :file => 'LICENSE' }
66
s.summary = 'A toolkit for SQLite databases, with a focus on application development.'

GRDB.xcodeproj/project.pbxproj

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -924,6 +924,9 @@
924924
56F5ABDA1D814330001F60CB /* NSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5657AAB81D107001006283EF /* NSData.swift */; };
925925
56F5ABDC1D814330001F60CB /* URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5657AB0E1D10899D006283EF /* URL.swift */; };
926926
56F5ABDD1D814330001F60CB /* UUID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56A8C22F1D1914540096E9D4 /* UUID.swift */; };
927+
56F61DD5283D344E00AF9884 /* getThreadsCount.c in Sources */ = {isa = PBXBuildFile; fileRef = 56F61DD4283D344E00AF9884 /* getThreadsCount.c */; };
928+
56F61DD6283D344E00AF9884 /* getThreadsCount.c in Sources */ = {isa = PBXBuildFile; fileRef = 56F61DD4283D344E00AF9884 /* getThreadsCount.c */; };
929+
56F61DD7283D344E00AF9884 /* getThreadsCount.c in Sources */ = {isa = PBXBuildFile; fileRef = 56F61DD4283D344E00AF9884 /* getThreadsCount.c */; };
927930
56FBFED92210731A00945324 /* SQLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56FBFED82210731A00945324 /* SQLRequest.swift */; };
928931
56FBFEDA2210731A00945324 /* SQLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56FBFED82210731A00945324 /* SQLRequest.swift */; };
929932
56FBFEDB2210731A00945324 /* SQLRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56FBFED82210731A00945324 /* SQLRequest.swift */; };
@@ -1646,6 +1649,9 @@
16461649
56F34FB924B094B6007513FC /* SQLExpressionIsConstantTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SQLExpressionIsConstantTests.swift; sourceTree = "<group>"; };
16471650
56F34FC124B0A0B7007513FC /* SQLIdentifyingColumnsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SQLIdentifyingColumnsTests.swift; sourceTree = "<group>"; };
16481651
56F3E7481E66F83A00BF0F01 /* ResultCodeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResultCodeTests.swift; sourceTree = "<group>"; };
1652+
56F61DD0283D344D00AF9884 /* GRDBTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "GRDBTests-Bridging-Header.h"; path = "GRDBTests/GRDBTests-Bridging-Header.h"; sourceTree = "<group>"; };
1653+
56F61DD3283D344E00AF9884 /* getThreadsCount.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = getThreadsCount.h; sourceTree = "<group>"; };
1654+
56F61DD4283D344E00AF9884 /* getThreadsCount.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = getThreadsCount.c; sourceTree = "<group>"; };
16491655
56FBFED82210731A00945324 /* SQLRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SQLRequest.swift; sourceTree = "<group>"; };
16501656
56FDECE11BB32DFD009AD709 /* RowFromStatementTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RowFromStatementTests.swift; sourceTree = "<group>"; };
16511657
56FEB8F6248402E10081AF83 /* DatabaseTraceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseTraceTests.swift; sourceTree = "<group>"; };
@@ -1796,6 +1802,8 @@
17961802
569531361C919DF700CF1A2B /* DatabasePoolFunctionTests.swift */,
17971803
56EA869D1C932597002BB4DF /* DatabasePoolReadOnlyTests.swift */,
17981804
563C67B224628BEA00E94EDC /* DatabasePoolTests.swift */,
1805+
56F61DD3283D344E00AF9884 /* getThreadsCount.h */,
1806+
56F61DD4283D344E00AF9884 /* getThreadsCount.c */,
17991807
);
18001808
name = DatabasePool;
18011809
sourceTree = "<group>";
@@ -2502,6 +2510,7 @@
25022510
DC37740319C8CBB3004FCF85 /* Supporting Files */ = {
25032511
isa = PBXGroup;
25042512
children = (
2513+
56F61DD0283D344D00AF9884 /* GRDBTests-Bridging-Header.h */,
25052514
DC37740419C8CBB3004FCF85 /* Info.plist */,
25062515
);
25072516
name = "Supporting Files";
@@ -2752,17 +2761,18 @@
27522761
};
27532762
56E5D7D21B4D3FEE00430942 = {
27542763
CreatedOnToolsVersion = 7.0;
2755-
LastSwiftMigration = 1130;
2764+
LastSwiftMigration = 1340;
27562765
ProvisioningStyle = Manual;
27572766
};
27582767
56E5D7F81B4D422D00430942 = {
27592768
CreatedOnToolsVersion = 7.0;
2760-
LastSwiftMigration = 1020;
2769+
LastSwiftMigration = 1340;
27612770
};
27622771
AAA4DC75230F1E0600C74B15 = {
27632772
ProvisioningStyle = Manual;
27642773
};
27652774
AAA4DD07230F262000C74B15 = {
2775+
LastSwiftMigration = 1340;
27662776
ProvisioningStyle = Manual;
27672777
};
27682778
DC3773F219C8CBB3004FCF85 = {
@@ -3432,6 +3442,7 @@
34323442
56A2383A1B9C74A90082EB20 /* DatabaseQueueInMemoryTests.swift in Sources */,
34333443
56A5E40A1BA2BCF900707640 /* RecordWithColumnNameManglingTests.swift in Sources */,
34343444
56677C1A241D217F0050755D /* ValueObservationRecorderTests.swift in Sources */,
3445+
56F61DD6283D344E00AF9884 /* getThreadsCount.c in Sources */,
34353446
5653EAF520944B4F00F46237 /* AssociationParallelSQLTests.swift in Sources */,
34363447
563B06BE2185CCD300B38F35 /* ValueObservationTests.swift in Sources */,
34373448
56FF455A1D2CDA5200F21EF9 /* RecordUniqueIndexTests.swift in Sources */,
@@ -3667,6 +3678,7 @@
36673678
56DF001D228DDBA300D611F3 /* AssociationPrefetchingCodableRecordTests.swift in Sources */,
36683679
5653EAD820944B4F00F46237 /* AssociationBelongsToRowScopeTests.swift in Sources */,
36693680
562205F11E420E47005860AC /* DatabasePoolReleaseMemoryTests.swift in Sources */,
3681+
56F61DD5283D344E00AF9884 /* getThreadsCount.c in Sources */,
36703682
56677C19241D217F0050755D /* ValueObservationRecorderTests.swift in Sources */,
36713683
5653EAF420944B4F00F46237 /* AssociationParallelSQLTests.swift in Sources */,
36723684
563B06BD2185CCD300B38F35 /* ValueObservationTests.swift in Sources */,
@@ -4038,6 +4050,7 @@
40384050
AAA4DDC0230F262000C74B15 /* DatabaseQueueInMemoryTests.swift in Sources */,
40394051
AAA4DDC1230F262000C74B15 /* RecordWithColumnNameManglingTests.swift in Sources */,
40404052
56677C1B241D217F0050755D /* ValueObservationRecorderTests.swift in Sources */,
4053+
56F61DD7283D344E00AF9884 /* getThreadsCount.c in Sources */,
40414054
AAA4DDC2230F262000C74B15 /* AssociationParallelSQLTests.swift in Sources */,
40424055
AAA4DDC3230F262000C74B15 /* ValueObservationTests.swift in Sources */,
40434056
AAA4DDC4230F262000C74B15 /* RecordUniqueIndexTests.swift in Sources */,
@@ -4382,6 +4395,7 @@
43824395
isa = XCBuildConfiguration;
43834396
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
43844397
buildSettings = {
4398+
CLANG_ENABLE_MODULES = YES;
43854399
CLANG_ENABLE_OBJC_WEAK = YES;
43864400
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
43874401
CODE_SIGN_STYLE = Manual;
@@ -4400,13 +4414,17 @@
44004414
PROVISIONING_PROFILE_SPECIFIER = "";
44014415
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
44024416
SDKROOT = iphoneos;
4417+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
4418+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
4419+
SWIFT_VERSION = 5.0;
44034420
};
44044421
name = Debug;
44054422
};
44064423
56E5D7E01B4D3FEE00430942 /* Release */ = {
44074424
isa = XCBuildConfiguration;
44084425
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
44094426
buildSettings = {
4427+
CLANG_ENABLE_MODULES = YES;
44104428
CLANG_ENABLE_OBJC_WEAK = YES;
44114429
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
44124430
CODE_SIGN_STYLE = Manual;
@@ -4427,14 +4445,17 @@
44274445
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
44284446
SDKROOT = iphoneos;
44294447
SWIFT_COMPILATION_MODE = wholemodule;
4448+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
44304449
SWIFT_OPTIMIZATION_LEVEL = "-O";
4450+
SWIFT_VERSION = 5.0;
44314451
};
44324452
name = Release;
44334453
};
44344454
56E5D8021B4D422E00430942 /* Debug */ = {
44354455
isa = XCBuildConfiguration;
44364456
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
44374457
buildSettings = {
4458+
CLANG_ENABLE_MODULES = YES;
44384459
CLANG_ENABLE_OBJC_WEAK = YES;
44394460
COMBINE_HIDPI_IMAGES = YES;
44404461
DEBUG_INFORMATION_FORMAT = dwarf;
@@ -4449,13 +4470,17 @@
44494470
PRODUCT_BUNDLE_IDENTIFIER = com.github.groue.GRDBOSXTests;
44504471
PRODUCT_NAME = "$(TARGET_NAME)";
44514472
SDKROOT = macosx;
4473+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
4474+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
4475+
SWIFT_VERSION = 5.0;
44524476
};
44534477
name = Debug;
44544478
};
44554479
56E5D8031B4D422E00430942 /* Release */ = {
44564480
isa = XCBuildConfiguration;
44574481
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
44584482
buildSettings = {
4483+
CLANG_ENABLE_MODULES = YES;
44594484
CLANG_ENABLE_OBJC_WEAK = YES;
44604485
COMBINE_HIDPI_IMAGES = YES;
44614486
COPY_PHASE_STRIP = NO;
@@ -4472,7 +4497,9 @@
44724497
PRODUCT_NAME = "$(TARGET_NAME)";
44734498
SDKROOT = macosx;
44744499
SWIFT_COMPILATION_MODE = wholemodule;
4500+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
44754501
SWIFT_OPTIMIZATION_LEVEL = "-O";
4502+
SWIFT_VERSION = 5.0;
44764503
};
44774504
name = Release;
44784505
};
@@ -4544,6 +4571,7 @@
45444571
isa = XCBuildConfiguration;
45454572
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
45464573
buildSettings = {
4574+
CLANG_ENABLE_MODULES = YES;
45474575
CLANG_ENABLE_OBJC_WEAK = YES;
45484576
CODE_SIGN_IDENTITY = "iPhone Developer";
45494577
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -4562,13 +4590,17 @@
45624590
PRODUCT_NAME = "$(TARGET_NAME)";
45634591
PROVISIONING_PROFILE_SPECIFIER = "";
45644592
SDKROOT = appletvos;
4593+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
4594+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
4595+
SWIFT_VERSION = 5.0;
45654596
};
45664597
name = Debug;
45674598
};
45684599
AAA4DDD3230F262000C74B15 /* Release */ = {
45694600
isa = XCBuildConfiguration;
45704601
baseConfigurationReference = 56C494401ED7255500CC72AF /* GRDBDeploymentTarget.xcconfig */;
45714602
buildSettings = {
4603+
CLANG_ENABLE_MODULES = YES;
45724604
CLANG_ENABLE_OBJC_WEAK = YES;
45734605
CODE_SIGN_IDENTITY = "iPhone Developer";
45744606
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
@@ -4589,7 +4621,9 @@
45894621
PROVISIONING_PROFILE_SPECIFIER = "";
45904622
SDKROOT = appletvos;
45914623
SWIFT_COMPILATION_MODE = wholemodule;
4624+
SWIFT_OBJC_BRIDGING_HEADER = "Tests/GRDBTests/GRDBTests-Bridging-Header.h";
45924625
SWIFT_OPTIMIZATION_LEVEL = "-O";
4626+
SWIFT_VERSION = 5.0;
45934627
};
45944628
name = Release;
45954629
};

GRDB/Core/Configuration.swift

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,11 @@ public struct Configuration {
248248
/// Default: .default
249249
public var qos: DispatchQoS = .default
250250

251+
/// The quality of service of read accesses
252+
var readQoS: DispatchQoS {
253+
targetQueue?.qos ?? self.qos
254+
}
255+
251256
/// A target queue for database accesses.
252257
///
253258
/// Database connections which are not read-only will prefer
@@ -316,17 +321,4 @@ public struct Configuration {
316321
return DispatchQueue(label: label, qos: qos)
317322
}
318323
}
319-
320-
/// Creates a DispatchQueue which has the quality of service of
321-
/// read accesses.
322-
///
323-
/// The returned queue has no target queue, and won't create deadlocks when
324-
/// used synchronously from a database access.
325-
func makeDispatchQueue(label: String) -> DispatchQueue {
326-
if let targetQueue = targetQueue {
327-
return DispatchQueue(label: label, qos: targetQueue.qos)
328-
} else {
329-
return DispatchQueue(label: label, qos: qos)
330-
}
331-
}
332324
}

0 commit comments

Comments
 (0)