sqlite3 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7072ef601e918956fb58ac179ce3f2a0c15c902f351a4c481aa96de1d914737
4
- data.tar.gz: ef4ebff5ce7115c648328b15d4fef3815ef87d758a88f75efa312bd02f2a0985
3
+ metadata.gz: 587b8c3fba9ab76be92347be3c241505f2c09d0093145dce98a5eedd9015e2a8
4
+ data.tar.gz: a8d01d3ab6899819b2835122913498af86c0de2d535d08b40fb04755e50242cf
5
5
  SHA512:
6
- metadata.gz: ee54dbf7fa2f6c323e7d98203f2e60ea41b1369ba758a0e58334d75e867b232e77fdedd3e9348d35a53716f996c1ce3cabe6dd776d468ab971ee24ee94f30714
7
- data.tar.gz: 98389cc2e59650e1963ee24bdaaf5d13f1bfb10da4b333a2dbba4beb55f219ffbe65fa512086f206b9ed29471f5ab1e646c5e4e34dc9882aff682378d73274ed
6
+ metadata.gz: 87a6d40f2ce8a425c0d0862c6e89cbee7ce0de85f4ac4538993a4dadc6e18bc8a6b72d584b609bbb5a489c80b6db625e2f74b6dd8383e3d20898d303e3225c20
7
+ data.tar.gz: a555066e5fce69ec409658c3ea8ffdf558d57ec3413d1fb21a002472c350527c303329a0a4c32c26814faa758640233abf9e71f8febf111922f8c4702ad52fb9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # sqlite3-ruby Changelog
2
2
 
3
+ ## 2.4.1 / 2024-12-08
4
+
5
+ ### Dependencies
6
+
7
+ - Vendored sqlite is updated to [v3.47.2](https://sqlite.org/releaselog/3_47.2.html) #593 @flavorjones
8
+
9
+ The description from the upstream maintainers is:
10
+
11
+ > SQLite version 3.47.2, now available, fixes an important bug that first appeared in the 3.47.0
12
+ > release. In SQLite versions 3.47.0 and 3.47.1, if you try to convert a string into a
13
+ > floating-point value and the first 16 significant digits of the value are exactly
14
+ > "1844674407370955", then the floating-point number generated might be incorrect. The problem
15
+ > only affects x64 and i386 CPUs, so it does not affect you if you are running on ARM. And it only
16
+ > affects releases 3.47.0 and 3.47.1. **If you are running SQLite versions 3.47.0 or 3.47.1, then
17
+ > upgrading is recommended.**
18
+
19
+ Saving you a click, you should upgrade if you're running sqlite3-ruby v2.1.1 or later.
20
+
21
+
22
+ ### Fixed
23
+
24
+ - Prevent unnecessary "Invalid Reference" warnings from the `ForkSafety` module when GC runs during the "after fork" hook. #592 @flavorjones
25
+
26
+
3
27
  ## 2.4.0 / 2024-12-03
4
28
 
5
29
  ### Added
data/README.md CHANGED
@@ -9,20 +9,20 @@ Note that this module is only compatible with SQLite 3.6.16 or newer.
9
9
  * Source code: https://github.com/sparklemotion/sqlite3-ruby
10
10
  * Mailing list: http://groups.google.com/group/sqlite3-ruby
11
11
  * Download: http://rubygems.org/gems/sqlite3
12
- * Documentation: http://www.rubydoc.info/gems/sqlite3
12
+ * Documentation: https://sparklemotion.github.io/sqlite3-ruby/
13
13
 
14
14
  [![Test suite](https://github.com/sparklemotion/sqlite3-ruby/actions/workflows/ci.yml/badge.svg)](https://github.com/sparklemotion/sqlite3-ruby/actions/workflows/ci.yml)
15
15
 
16
16
 
17
17
  ## Quick start
18
18
 
19
- For help understanding the SQLite3 Ruby API, please read the [FAQ](./FAQ.md) and the [full API documentation](https://rubydoc.info/gems/sqlite3).
19
+ For help understanding the SQLite3 Ruby API, please read the [FAQ](./FAQ.md) and the [full API documentation](https://sparklemotion.github.io/sqlite3-ruby/).
20
20
 
21
21
  A few key classes whose APIs are often-used are:
22
22
 
23
- - SQLite3::Database ([rdoc](https://rubydoc.info/gems/sqlite3/SQLite3/Database))
24
- - SQLite3::Statement ([rdoc](https://rubydoc.info/gems/sqlite3/SQLite3/Statement))
25
- - SQLite3::ResultSet ([rdoc](https://rubydoc.info/gems/sqlite3/SQLite3/ResultSet))
23
+ - SQLite3::Database ([rdoc](https://sparklemotion.github.io/sqlite3-ruby/SQLite3/Database.html))
24
+ - SQLite3::Statement ([rdoc](https://sparklemotion.github.io/sqlite3-ruby/SQLite3/Statement.html))
25
+ - SQLite3::ResultSet ([rdoc](https://sparklemotion.github.io/sqlite3-ruby/SQLite3/ResultSet.html))
26
26
 
27
27
  If you have any questions that you feel should be addressed in the FAQ, please send them to [the mailing list](http://groups.google.com/group/sqlite3-ruby) or open a [discussion thread](https://github.com/sparklemotion/sqlite3-ruby/discussions/categories/q-a).
28
28
 
data/dependencies.yml CHANGED
@@ -1,13 +1,13 @@
1
1
  sqlite3:
2
2
  # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
3
- # c6c1756fbeb1e34e0ee31f8609bfc1fd4630b3faadde71a28ad3a55df259d854
3
+ # 52cd4a2304b627abbabe1a438ba853d0f6edb8e2774fcb5773c7af11077afe94
4
4
  #
5
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3470100.tar.gz
6
- # c6c1756fbeb1e34e0ee31f8609bfc1fd4630b3faadde71a28ad3a55df259d854 ports/archives/sqlite-autoconf-3470100.tar.gz
5
+ # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3470200.tar.gz
6
+ # 52cd4a2304b627abbabe1a438ba853d0f6edb8e2774fcb5773c7af11077afe94 ports/archives/sqlite-autoconf-3470200.tar.gz
7
7
  #
8
- # $ sha256sum ports/archives/sqlite-autoconf-3470100.tar.gz
9
- # 416a6f45bf2cacd494b208fdee1beda509abda951d5f47bc4f2792126f01b452 ports/archives/sqlite-autoconf-3470100.tar.gz
10
- version: "3.47.1"
8
+ # $ sha256sum ports/archives/sqlite-autoconf-3470200.tar.gz
9
+ # f1b2ee412c28d7472bc95ba996368d6f0cdcf00362affdadb27ed286c179540b ports/archives/sqlite-autoconf-3470200.tar.gz
10
+ version: "3.47.2"
11
11
  files:
12
- - url: "https://sqlite.org/2024/sqlite-autoconf-3470100.tar.gz"
13
- sha256: "416a6f45bf2cacd494b208fdee1beda509abda951d5f47bc4f2792126f01b452"
12
+ - url: "https://sqlite.org/2024/sqlite-autoconf-3470200.tar.gz"
13
+ sha256: "f1b2ee412c28d7472bc95ba996368d6f0cdcf00362affdadb27ed286c179540b"
@@ -74,6 +74,15 @@ module SQLite3
74
74
  # #enable_load_extension; however it is still necessary to call #enable_load_extensions before any
75
75
  # subsequently invocations of #load_extension on the initialized Database object.
76
76
  #
77
+ # You can load extensions in a Rails application by using the +extensions:+ configuration option:
78
+ #
79
+ # # config/database.yml
80
+ # development:
81
+ # adapter: sqlite3
82
+ # extensions:
83
+ # - .sqlpkg/nalgeon/crypto/crypto.so # a filesystem path
84
+ # - <%= SQLean::UUID.to_path %> # or ruby code returning a path
85
+ #
77
86
  class Database
78
87
  attr_reader :collations
79
88
 
@@ -35,17 +35,21 @@ module SQLite3
35
35
  @databases.each do |db|
36
36
  next unless db.weakref_alive?
37
37
 
38
- unless db.closed? || db.readonly?
39
- unless warned
40
- # If you are here, you may want to read
41
- # https://github.com/sparklemotion/sqlite3-ruby/pull/558
42
- warn("Writable sqlite database connection(s) were inherited from a forked process. " \
43
- "This is unsafe and the connections are being closed to prevent possible data " \
44
- "corruption. Please close writable sqlite database connections before forking.",
45
- uplevel: 0)
46
- warned = true
38
+ begin
39
+ unless db.closed? || db.readonly?
40
+ unless warned
41
+ # If you are here, you may want to read
42
+ # https://github.com/sparklemotion/sqlite3-ruby/pull/558
43
+ warn("Writable sqlite database connection(s) were inherited from a forked process. " \
44
+ "This is unsafe and the connections are being closed to prevent possible data " \
45
+ "corruption. Please close writable sqlite database connections before forking.",
46
+ uplevel: 0)
47
+ warned = true
48
+ end
49
+ db.close
47
50
  end
48
- db.close
51
+ rescue WeakRef::RefError
52
+ # GC may run while this method is executing, and that's OK
49
53
  end
50
54
  end
51
55
  @databases.clear
@@ -1,4 +1,4 @@
1
1
  module SQLite3
2
2
  # (String) the version of the sqlite3 gem, e.g. "2.1.1"
3
- VERSION = "2.4.0"
3
+ VERSION = "2.4.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-12-03 00:00:00.000000000 Z
14
+ date: 2024-12-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: mini_portile2
@@ -77,14 +77,14 @@ files:
77
77
  - lib/sqlite3/value.rb
78
78
  - lib/sqlite3/version.rb
79
79
  - lib/sqlite3/version_info.rb
80
- - ports/archives/sqlite-autoconf-3470100.tar.gz
80
+ - ports/archives/sqlite-autoconf-3470200.tar.gz
81
81
  homepage: https://github.com/sparklemotion/sqlite3-ruby
82
82
  licenses:
83
83
  - BSD-3-Clause
84
84
  metadata:
85
85
  homepage_uri: https://github.com/sparklemotion/sqlite3-ruby
86
86
  bug_tracker_uri: https://github.com/sparklemotion/sqlite3-ruby/issues
87
- documentation_uri: https://www.rubydoc.info/gems/sqlite3
87
+ documentation_uri: https://sparklemotion.github.io/sqlite3-ruby/
88
88
  changelog_uri: https://github.com/sparklemotion/sqlite3-ruby/blob/master/CHANGELOG.md
89
89
  source_code_uri: https://github.com/sparklemotion/sqlite3-ruby
90
90
  msys2_mingw_dependencies: sqlite3