sqlite3 2.1.0.rc2-x86-linux-gnu → 2.1.0-x86-linux-gnu
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -10
- data/README.md +1 -1
- data/lib/sqlite3/fork_safety.rb +7 -1
- data/lib/sqlite3/version.rb +1 -1
- metadata +2 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a429079650641963cda085bd354f20f2858b9e5a9a8ef079d239cd7fd1808b1
|
4
|
+
data.tar.gz: e3b783ba2fef35ee036d5bcb087e927b44bc446d0078d3f8e4c7a6deb8796a05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55923bd100cb80c9fd49342a6e1ed87f81d915b3f674eba799f0e57c16d28669b7ad41553af6436a01b5d6a9a8cbf5aacf2df72656849f6d87b0e626a5c83f27
|
7
|
+
data.tar.gz: 37f480f6cbe5070f859ccf0b03d78145f0f8c0887f4db7c4c1e29a46b2a0fdff4317329b6e9cac718ac3acdd26f4e565936b61cfc1b022b1c32a2a4f55dacaee
|
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,6 @@
|
|
1
1
|
# sqlite3-ruby Changelog
|
2
2
|
|
3
|
-
##
|
4
|
-
|
5
|
-
### Improved
|
6
|
-
|
7
|
-
- Address a performance regression in 2.1.0.rc1.
|
8
|
-
|
9
|
-
|
10
|
-
## prerelease 2.1.0.rc1 / 2024-09-18
|
3
|
+
## 2.1.0 / 2024-09-24
|
11
4
|
|
12
5
|
### Ruby
|
13
6
|
|
@@ -21,9 +14,9 @@ Sqlite itself is [not fork-safe](https://www.sqlite.org/howtocorrupt.html#_carry
|
|
21
14
|
- All open writable database connections carried across a `fork()` will immediately be closed in the child process to mitigate the risk of corrupting the database file.
|
22
15
|
- These connections will be incompletely closed ("discarded") which will result in a one-time memory leak in the child process.
|
23
16
|
|
24
|
-
If it's at all possible, we strongly recommend that you close writable database connections in the parent before forking.
|
17
|
+
If it's at all possible, we strongly recommend that you close writable database connections in the parent before forking. If absolutely necessary (and you know what you're doing), you may suppress the fork safety warnings by calling `SQLite3::ForkSafety.suppress_warnings!`.
|
25
18
|
|
26
|
-
See the README "Fork Safety" section and `adr/2024-09-fork-safety.md` for more information. [#558] @flavorjones
|
19
|
+
See the README's "Fork Safety" section and `adr/2024-09-fork-safety.md` for more information. [#558, #565, #566] @flavorjones
|
27
20
|
|
28
21
|
|
29
22
|
### Improved
|
@@ -32,6 +25,11 @@ See the README "Fork Safety" section and `adr/2024-09-fork-safety.md` for more i
|
|
32
25
|
- When setting a Database `busy_handler`, fire the write barrier to prevent potential crashes during the GC mark phase. [#556] @jhawthorn
|
33
26
|
|
34
27
|
|
28
|
+
### Documentation
|
29
|
+
|
30
|
+
- The `FAQ.md` has been updated to fix some inaccuracies. [#562] @rickhull
|
31
|
+
|
32
|
+
|
35
33
|
## 2.0.4 / 2024-08-13
|
36
34
|
|
37
35
|
### Dependencies
|
data/README.md
CHANGED
@@ -160,7 +160,7 @@ To help protect users of this gem from accidental corruption due to this lack of
|
|
160
160
|
connections in the child will incur a small one-time memory leak per connection, but that's
|
161
161
|
preferable to potentially corrupting your database.
|
162
162
|
|
163
|
-
Whenever possible, close writable connections in the parent before forking.
|
163
|
+
Whenever possible, close writable connections in the parent before forking. If absolutely necessary (and you know what you're doing), you may suppress the fork safety warnings by calling `SQLite3::ForkSafety.suppress_warnings!`.
|
164
164
|
|
165
165
|
See [./adr/2024-09-fork-safety.md](./adr/2024-09-fork-safety.md) for more information and context.
|
166
166
|
|
data/lib/sqlite3/fork_safety.rb
CHANGED
@@ -17,6 +17,7 @@ module SQLite3
|
|
17
17
|
|
18
18
|
@databases = []
|
19
19
|
@mutex = Mutex.new
|
20
|
+
@suppress = false
|
20
21
|
|
21
22
|
class << self
|
22
23
|
def hook!
|
@@ -30,7 +31,7 @@ module SQLite3
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def discard
|
33
|
-
warned =
|
34
|
+
warned = @suppress
|
34
35
|
@databases.each do |db|
|
35
36
|
next unless db.weakref_alive?
|
36
37
|
|
@@ -49,6 +50,11 @@ module SQLite3
|
|
49
50
|
end
|
50
51
|
@databases.clear
|
51
52
|
end
|
53
|
+
|
54
|
+
# Call to suppress the fork-related warnings.
|
55
|
+
def suppress_warnings!
|
56
|
+
@suppress = true
|
57
|
+
end
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
data/lib/sqlite3/version.rb
CHANGED
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.1.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: x86-linux-gnu
|
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-09-
|
14
|
+
date: 2024-09-24 00:00:00.000000000 Z
|
15
15
|
dependencies: []
|
16
16
|
description: |
|
17
17
|
Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org). Precompiled
|
@@ -90,9 +90,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
90
90
|
version: 3.4.dev
|
91
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - ">"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 1.3.1
|
96
93
|
- - ">="
|
97
94
|
- !ruby/object:Gem::Version
|
98
95
|
version: 3.3.22
|