Skip to content

Commit 32c9ba2

Browse files
committed
Replace sqlite3_libversion_number() with Database.sqliteLibVersionNumber
and remove SQLite imports that are no longer necessary.
1 parent 0401d44 commit 32c9ba2

18 files changed

+126
-198
lines changed

GRDB/Dump/Database+Dump.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ extension Database {
326326
private func isShadowTable(_ tableName: String) throws -> Bool {
327327
#if GRDBCUSTOMSQLITE || GRDBCIPHER
328328
// Maybe SQLCipher is too old: check actual version
329-
if sqlite3_libversion_number() >= 3037000 {
329+
if Database.sqliteLibVersionNumber >= 3037000 {
330330
guard let table = try table(tableName) else {
331331
// Not a table
332332
return false

GRDB/QueryInterface/SQL/SQLExpression.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
// Import C SQLite functions
2-
#if SWIFT_PACKAGE
3-
import GRDBSQLite
4-
#elseif GRDBCIPHER
5-
import SQLCipher
6-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
7-
import SQLite3
8-
#endif
9-
101
/// An SQL expression.
112
///
123
/// `SQLExpression` is an opaque representation of an SQL expression.
@@ -2129,7 +2120,7 @@ extension SQLExpression {
21292120
case .jsonValue:
21302121
if isJSONValue {
21312122
return self
2132-
} else if sqlite3_libversion_number() >= 3045000 {
2123+
} else if Database.sqliteLibVersionNumber >= 3045000 {
21332124
return .function("JSONB", [self])
21342125
} else {
21352126
return .function("JSON", [self])
@@ -2147,7 +2138,7 @@ extension SQLExpression {
21472138
case .jsonValue:
21482139
if isJSONValue {
21492140
return self
2150-
} else if sqlite3_libversion_number() >= 3045000 {
2141+
} else if Database.sqliteLibVersionNumber >= 3045000 {
21512142
return .function("JSONB", [self])
21522143
} else {
21532144
return .function("JSON", [self])

Tests/GRDBTests/DatabaseConfigurationTests.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
// Import C SQLite functions
2-
#if SWIFT_PACKAGE
3-
import GRDBSQLite
4-
#elseif GRDBCIPHER
5-
import SQLCipher
6-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
7-
import SQLite3
8-
#endif
9-
101
import XCTest
112
import GRDB
123

@@ -139,7 +130,7 @@ class DatabaseConfigurationTests: GRDBTestCase {
139130
let foo = try dbQueue.inDatabase { db in
140131
try String.fetchOne(db, sql: "SELECT \"foo\" FROM player")
141132
}
142-
if sqlite3_libversion_number() >= 3029000 {
133+
if Database.sqliteLibVersionNumber >= 3029000 {
143134
XCTFail("Expected error")
144135
} else {
145136
XCTAssertEqual(foo, "foo")
@@ -154,7 +145,7 @@ class DatabaseConfigurationTests: GRDBTestCase {
154145
try dbQueue.inDatabase { db in
155146
try db.execute(sql: "CREATE INDEX i ON player(\"foo\")")
156147
}
157-
if sqlite3_libversion_number() >= 3029000 {
148+
if Database.sqliteLibVersionNumber >= 3029000 {
158149
XCTFail("Expected error")
159150
}
160151
} catch let error as DatabaseError {

Tests/GRDBTests/DatabaseDumpTests.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
// Import C SQLite functions
2-
#if SWIFT_PACKAGE
3-
import GRDBSQLite
4-
#elseif GRDBCIPHER
5-
import SQLCipher
6-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
7-
import SQLite3
8-
#endif
9-
101
import XCTest
112
import GRDB
123

@@ -1282,7 +1273,7 @@ final class DatabaseDumpTests: GRDBTestCase {
12821273
}
12831274

12841275
func test_dumpSchema_ignores_shadow_tables() throws {
1285-
guard sqlite3_libversion_number() >= 3037000 else {
1276+
guard Database.sqliteLibVersionNumber >= 3037000 else {
12861277
throw XCTSkip("Can't detect shadow tables")
12871278
}
12881279

@@ -1486,7 +1477,7 @@ final class DatabaseDumpTests: GRDBTestCase {
14861477
}
14871478

14881479
func test_dumpContent_ignores_shadow_tables() throws {
1489-
guard sqlite3_libversion_number() >= 3037000 else {
1480+
guard Database.sqliteLibVersionNumber >= 3037000 else {
14901481
throw XCTSkip("Can't detect shadow tables")
14911482
}
14921483

Tests/GRDBTests/DatabaseRegionTests.swift

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
// Import C SQLite functions
2-
#if SWIFT_PACKAGE
3-
import GRDBSQLite
4-
#elseif GRDBCIPHER
5-
import SQLCipher
6-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
7-
import SQLite3
8-
#endif
9-
101
import XCTest
112
@testable import GRDB
123

@@ -565,7 +556,7 @@ class DatabaseRegionTests : GRDBTestCase {
565556
//
566557
// See also testRowIdNameInUpdateStatement
567558

568-
guard sqlite3_libversion_number() < 3019003 else {
559+
guard Database.sqliteLibVersionNumber < 3019003 else {
569560
// This test fails on SQLite 3.19.3 (iOS 11.2) and SQLite 3.21.0 (custom build),
570561
// but succeeds on SQLite 3.16.0 (iOS 10.3.1).
571562
// TODO: evaluate the consequences

Tests/GRDBTests/DatabaseWriterTests.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
// Import C SQLite functions
2-
#if SWIFT_PACKAGE
3-
import GRDBSQLite
4-
#elseif GRDBCIPHER
5-
import SQLCipher
6-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
7-
import SQLite3
8-
#endif
9-
101
import XCTest
112
import GRDB
123

@@ -208,7 +199,7 @@ class DatabaseWriterTests : GRDBTestCase {
208199
throw XCTSkip("VACUUM INTO is not available")
209200
}
210201
// Prevent SQLCipher failures
211-
guard sqlite3_libversion_number() >= 3027000 else {
202+
guard Database.sqliteLibVersionNumber >= 3027000 else {
212203
throw XCTSkip("VACUUM INTO is not available")
213204
}
214205

@@ -373,7 +364,7 @@ class DatabaseWriterTests : GRDBTestCase {
373364
@available(iOS 14, macOS 10.16, tvOS 14, *) // async + vacuum into
374365
func testAsyncAwait_vacuumInto() async throws {
375366
// Prevent SQLCipher failures
376-
guard sqlite3_libversion_number() >= 3027000 else {
367+
guard Database.sqliteLibVersionNumber >= 3027000 else {
377368
throw XCTSkip("VACUUM INTO is not available")
378369
}
379370

Tests/GRDBTests/FTS5TableBuilderTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ class FTS5TableBuilderTests: GRDBTestCase {
338338
// Regression test for <https://github.com/groue/GRDB.swift/issues/1390>
339339
func testIssue1390() throws {
340340
#if GRDBCUSTOMSQLITE || GRDBCIPHER
341-
guard sqlite3_libversion_number() >= 3035000 else {
341+
guard Database.sqliteLibVersionNumber >= 3035000 else {
342342
throw XCTSkip("UPSERT is not available")
343343
}
344344
#else

Tests/GRDBTests/FTS5TokenizerTests.swift

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
11
#if SQLITE_ENABLE_FTS5
2-
// Import C SQLite functions
3-
#if SWIFT_PACKAGE
4-
import GRDBSQLite
5-
#elseif GRDBCIPHER
6-
import SQLCipher
7-
#elseif !GRDBCUSTOMSQLITE && !GRDBCIPHER
8-
import SQLite3
9-
#endif
10-
112
import XCTest
123
import GRDB
134

@@ -212,7 +203,7 @@ class FTS5TokenizerTests: GRDBTestCase {
212203
// They were introduced on 2018-07-13 in https://sqlite.org/src/info/80d2b9e635e3100f
213204
// Next version is 3.25.0.
214205
// So we assume support for categories was introduced in SQLite 3.25.0.
215-
guard sqlite3_libversion_number() >= 3025000 else {
206+
guard Database.sqliteLibVersionNumber >= 3025000 else {
216207
throw XCTSkip("FTS5 unicode61 tokenizer categories are not available")
217208
}
218209

@@ -372,7 +363,7 @@ class FTS5TokenizerTests: GRDBTestCase {
372363
// They were introduced on 2018-07-13 in https://sqlite.org/src/info/80d2b9e635e3100f
373364
// Next version is 3.25.0.
374365
// So we assume support for categories was introduced in SQLite 3.25.0.
375-
guard sqlite3_libversion_number() >= 3025000 else {
366+
guard Database.sqliteLibVersionNumber >= 3025000 else {
376367
throw XCTSkip("FTS5 unicode61 tokenizer categories are not available")
377368
}
378369

Tests/GRDBTests/JSONColumnTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ final class JSONColumnTests: GRDBTestCase {
55
func test_JSONColumn_derived_from_CodingKey() throws {
66
#if GRDBCUSTOMSQLITE || GRDBCIPHER
77
// Prevent SQLCipher failures
8-
guard sqlite3_libversion_number() >= 3038000 else {
8+
guard Database.sqliteLibVersionNumber >= 3038000 else {
99
throw XCTSkip("JSON support is not available")
1010
}
1111
#else
@@ -47,7 +47,7 @@ final class JSONColumnTests: GRDBTestCase {
4747
func test_JSON_EXTRACT() throws {
4848
#if GRDBCUSTOMSQLITE || GRDBCIPHER
4949
// Prevent SQLCipher failures
50-
guard sqlite3_libversion_number() >= 3038000 else {
50+
guard Database.sqliteLibVersionNumber >= 3038000 else {
5151
throw XCTSkip("JSON_EXTRACT is not available")
5252
}
5353
#else
@@ -79,7 +79,7 @@ final class JSONColumnTests: GRDBTestCase {
7979
func test_extraction_operators() throws {
8080
#if GRDBCUSTOMSQLITE || GRDBCIPHER
8181
// Prevent SQLCipher failures
82-
guard sqlite3_libversion_number() >= 3038000 else {
82+
guard Database.sqliteLibVersionNumber >= 3038000 else {
8383
throw XCTSkip("JSON operators are not available")
8484
}
8585
#else

0 commit comments

Comments
 (0)