Skip to content

Commit f4e5405

Browse files
authored
Merge pull request #605 from sparklemotion/flavorjones-dep-sqlite-3.48.0
dep: update vendored sqlite to 3.49.1
2 parents 53bfe7a + a9733db commit f4e5405

File tree

5 files changed

+33
-15
lines changed

5 files changed

+33
-15
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
### Dependencies
66

7-
- Updated to rake-compiler-dock v1.9.1.
7+
- Vendored sqlite is updated to [v3.49.1](https://sqlite.org/releaselog/3_49_1.html) (from v3.47.2). #605 @flavorjones
8+
- Updated to rake-compiler-dock v1.9.1. #610 @flavorjones
89

910

1011
## 2.5.0 / 2024-12-25

dependencies.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
sqlite3:
22
# checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
3-
# 52cd4a2304b627abbabe1a438ba853d0f6edb8e2774fcb5773c7af11077afe94
3+
# 6cc831c9f588b637e5bd48d9fbf28e58737e08daf825c81085fb8e0a0b8ad14c
44
#
5-
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-3470200.tar.gz
6-
# 52cd4a2304b627abbabe1a438ba853d0f6edb8e2774fcb5773c7af11077afe94 ports/archives/sqlite-autoconf-3470200.tar.gz
5+
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-3490100.tar.gz
6+
# 6cc831c9f588b637e5bd48d9fbf28e58737e08daf825c81085fb8e0a0b8ad14c ports/archives/sqlite-autoconf-3490100.tar.gz
77
#
8-
# $ sha256sum ports/archives/sqlite-autoconf-3470200.tar.gz
9-
# f1b2ee412c28d7472bc95ba996368d6f0cdcf00362affdadb27ed286c179540b ports/archives/sqlite-autoconf-3470200.tar.gz
10-
version: "3.47.2"
8+
# $ sha256sum ports/archives/sqlite-autoconf-3490100.tar.gz
9+
# 106642d8ccb36c5f7323b64e4152e9b719f7c0215acf5bfeac3d5e7f97b59254 ports/archives/sqlite-autoconf-3490100.tar.gz
10+
version: "3.49.1"
1111
files:
12-
- url: "https://sqlite.org/2024/sqlite-autoconf-3470200.tar.gz"
13-
sha256: "f1b2ee412c28d7472bc95ba996368d6f0cdcf00362affdadb27ed286c179540b"
12+
- url: "https://sqlite.org/2025/sqlite-autoconf-3490100.tar.gz"
13+
sha256: "106642d8ccb36c5f7323b64e4152e9b719f7c0215acf5bfeac3d5e7f97b59254"

ext/sqlite3/database.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ load_extension_internal(VALUE self, VALUE file)
789789
}
790790
#endif
791791

792-
#ifdef HAVE_SQLITE3_ENABLE_LOAD_EXTENSION
792+
#if defined(HAVE_SQLITE3_ENABLE_LOAD_EXTENSION) && defined(HAVE_SQLITE3_LOAD_EXTENSION)
793793
/* call-seq: db.enable_load_extension(onoff)
794794
*
795795
* Enable or disable extension loading.
@@ -992,11 +992,11 @@ init_sqlite3_database(void)
992992

993993
#ifdef HAVE_SQLITE3_LOAD_EXTENSION
994994
rb_define_private_method(cSqlite3Database, "load_extension_internal", load_extension_internal, 1);
995-
#endif
996-
997995
#ifdef HAVE_SQLITE3_ENABLE_LOAD_EXTENSION
998996
rb_define_method(cSqlite3Database, "enable_load_extension", enable_load_extension, 1);
999997
#endif
998+
#endif
999+
10001000

10011001
rb_sqlite3_aggregator_init();
10021002
}

ext/sqlite3/extconf.rb

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ def configure_packaged_libraries
5252
recipe.configure_options += [
5353
"--disable-shared",
5454
"--enable-static",
55-
"--disable-tcl",
5655
"--enable-fts5"
5756
]
5857
ENV.to_h.tap do |env|

test/test_database.rb

+20-2
Original file line numberDiff line numberDiff line change
@@ -667,16 +667,25 @@ def test_strict_mode
667667
assert_match(/no such column: "?nope"?/, error.message)
668668
end
669669

670+
def test_load_extension_is_defined_on_expected_platforms
671+
if ::RUBY_PLATFORM =~ /mingw|mswin/ && SQLite3::SQLITE_PACKAGED_LIBRARIES
672+
skip("as of sqlite 3.48.0, the autoconf amalgamation does not reliably find dlopen" \
673+
"on windows when building sqlite from source")
674+
end
675+
assert_respond_to(db, :load_extension)
676+
assert_respond_to(db, :enable_load_extension)
677+
end
678+
670679
def test_load_extension_error_with_nonexistent_path
671-
skip("extensions are not enabled") unless db.respond_to?(:load_extension)
680+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
672681
db.enable_load_extension(true)
673682

674683
assert_raises(SQLite3::Exception) { db.load_extension("/nonexistent/path") }
675684
assert_raises(SQLite3::Exception) { db.load_extension(Pathname.new("nonexistent")) }
676685
end
677686

678687
def test_load_extension_error_with_invalid_argument
679-
skip("extensions are not enabled") unless db.respond_to?(:load_extension)
688+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
680689
db.enable_load_extension(true)
681690

682691
assert_raises(TypeError) { db.load_extension(1) }
@@ -686,6 +695,8 @@ def test_load_extension_error_with_invalid_argument
686695
end
687696

688697
def test_load_extension_with_an_extension_descriptor
698+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
699+
689700
mock_database_load_extension_internal(db)
690701

691702
db.load_extension(Pathname.new("/path/to/ext2"))
@@ -698,7 +709,10 @@ def test_load_extension_with_an_extension_descriptor
698709
end
699710

700711
def test_initialize_extensions_with_extensions_calls_enable_load_extension
712+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
713+
701714
mock_database_load_extension_internal(db)
715+
702716
class << db
703717
attr_accessor :enable_load_extension_called
704718
attr_reader :enable_load_extension_arg
@@ -734,6 +748,8 @@ def enable_load_extension(val)
734748
end
735749

736750
def test_initialize_extensions_object_is_an_extension_specifier
751+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
752+
737753
mock_database_load_extension_internal(db)
738754

739755
db.initialize_extensions([Pathname.new("/path/to/extension")])
@@ -746,6 +762,8 @@ def test_initialize_extensions_object_is_an_extension_specifier
746762
end
747763

748764
def test_initialize_extensions_object_not_an_extension_specifier
765+
skip("extensions are not enabled") unless db.respond_to?(:enable_load_extension)
766+
749767
mock_database_load_extension_internal(db)
750768

751769
db.initialize_extensions(["/path/to/extension"])

0 commit comments

Comments
 (0)