sqlite3 2.4.0 → 2.4.1

Sign up to get free protection for your applications and to get access to all the features.
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