sqlite3 2.6.0 → 2.7.0
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/dependencies.yml +8 -8
- data/lib/sqlite3/database.rb +2 -1
- data/lib/sqlite3/pragmas.rb +63 -14
- data/lib/sqlite3/version.rb +1 -1
- data/ports/archives/sqlite-autoconf-3500100.tar.gz +0 -0
- metadata +4 -4
- data/ports/archives/sqlite-autoconf-3490100.tar.gz +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3f581fa0e339580baea01de88c08793788ceb262189571721c6f65ee1e17886
|
4
|
+
data.tar.gz: 4d4850eb320b44437fe4458085a1d81f307265609e08db0849ddd39c1dcd1b09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88c36cc69a4f9b3fd425a99b2b66cbbf8b064ce55a355439140e2b478a9c0c121fe852c62e3e6f9a7c7d55168f8fb016d37331995ff14be2c9853fbad5266b5b
|
7
|
+
data.tar.gz: 6ef877f2998fec24724ffae67000e299053acc721354ae36cac909bc688dd8ac54061037ebd16aca8ad953323a6067c2cf5f86d79d99e189da783310b1414f39
|
data/CHANGELOG.md
CHANGED
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
|
-
#
|
3
|
+
# c12e84ba9772391d41644a0a9be37bad25791fc2a9b9395962e5f83f805e877f
|
4
4
|
#
|
5
|
-
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-
|
6
|
-
#
|
5
|
+
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-3500100.tar.gz
|
6
|
+
# c12e84ba9772391d41644a0a9be37bad25791fc2a9b9395962e5f83f805e877f ports/archives/sqlite-autoconf-3500100.tar.gz
|
7
7
|
#
|
8
|
-
# $ sha256sum ports/archives/sqlite-autoconf-
|
9
|
-
#
|
10
|
-
version: "3.
|
8
|
+
# $ sha256sum ports/archives/sqlite-autoconf-3500100.tar.gz
|
9
|
+
# 00a65114d697cfaa8fe0630281d76fd1b77afcd95cd5e40ec6a02cbbadbfea71 ports/archives/sqlite-autoconf-3500100.tar.gz
|
10
|
+
version: "3.50.1"
|
11
11
|
files:
|
12
|
-
- url: "https://sqlite.org/2025/sqlite-autoconf-
|
13
|
-
sha256: "
|
12
|
+
- url: "https://sqlite.org/2025/sqlite-autoconf-3500100.tar.gz"
|
13
|
+
sha256: "00a65114d697cfaa8fe0630281d76fd1b77afcd95cd5e40ec6a02cbbadbfea71"
|
data/lib/sqlite3/database.rb
CHANGED
@@ -82,6 +82,7 @@ module SQLite3
|
|
82
82
|
# extensions:
|
83
83
|
# - .sqlpkg/nalgeon/crypto/crypto.so # a filesystem path
|
84
84
|
# - <%= SQLean::UUID.to_path %> # or ruby code returning a path
|
85
|
+
# - SQLean::Crypto # Rails 8.1+ accepts the name of a constant that responds to `to_path`
|
85
86
|
#
|
86
87
|
class Database
|
87
88
|
attr_reader :collations
|
@@ -196,7 +197,7 @@ module SQLite3
|
|
196
197
|
#
|
197
198
|
# Fetch the encoding set on this database
|
198
199
|
def encoding
|
199
|
-
|
200
|
+
Encoding.find super
|
200
201
|
end
|
201
202
|
|
202
203
|
# Installs (or removes) a block that will be invoked for every access
|
data/lib/sqlite3/pragmas.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "sqlite3/errors"
|
2
4
|
|
3
5
|
module SQLite3
|
@@ -58,11 +60,20 @@ module SQLite3
|
|
58
60
|
# have duplicate values. See #synchronous, #default_synchronous,
|
59
61
|
# #temp_store, and #default_temp_store for usage examples.
|
60
62
|
def set_enum_pragma(name, mode, enums)
|
61
|
-
match = enums.
|
63
|
+
match = if enums.is_a?(Array)
|
64
|
+
# maybe deprecate this?
|
65
|
+
enums.find { |p| p.find { |i| i.to_s.downcase == mode.to_s.downcase } }
|
66
|
+
elsif mode.is_a?(String)
|
67
|
+
enums.fetch(mode.downcase)
|
68
|
+
else
|
69
|
+
mode
|
70
|
+
end
|
71
|
+
|
62
72
|
unless match
|
63
73
|
raise SQLite3::Exception, "unrecognized #{name} #{mode.inspect}"
|
64
74
|
end
|
65
|
-
|
75
|
+
|
76
|
+
execute("PRAGMA #{name}='#{match}'")
|
66
77
|
end
|
67
78
|
|
68
79
|
# Returns the value of the given pragma as an integer.
|
@@ -77,26 +88,57 @@ module SQLite3
|
|
77
88
|
end
|
78
89
|
|
79
90
|
# The enumeration of valid synchronous modes.
|
80
|
-
SYNCHRONOUS_MODES =
|
91
|
+
SYNCHRONOUS_MODES = {
|
92
|
+
"full" => 2,
|
93
|
+
"normal" => 1,
|
94
|
+
"off" => 0
|
95
|
+
}.freeze
|
81
96
|
|
82
97
|
# The enumeration of valid temp store modes.
|
83
|
-
TEMP_STORE_MODES =
|
98
|
+
TEMP_STORE_MODES = {
|
99
|
+
"default" => 0,
|
100
|
+
"file" => 1,
|
101
|
+
"memory" => 2
|
102
|
+
}.freeze
|
84
103
|
|
85
104
|
# The enumeration of valid auto vacuum modes.
|
86
|
-
AUTO_VACUUM_MODES =
|
105
|
+
AUTO_VACUUM_MODES = {
|
106
|
+
"none" => 0,
|
107
|
+
"full" => 1,
|
108
|
+
"incremental" => 2
|
109
|
+
}.freeze
|
87
110
|
|
88
111
|
# The list of valid journaling modes.
|
89
|
-
JOURNAL_MODES =
|
90
|
-
|
112
|
+
JOURNAL_MODES = {
|
113
|
+
"delete" => "delete",
|
114
|
+
"truncate" => "truncate",
|
115
|
+
"persist" => "persist",
|
116
|
+
"memory" => "memory",
|
117
|
+
"wal" => "wal",
|
118
|
+
"off" => "off"
|
119
|
+
}.freeze
|
91
120
|
|
92
121
|
# The list of valid locking modes.
|
93
|
-
LOCKING_MODES =
|
122
|
+
LOCKING_MODES = {
|
123
|
+
"normal" => "normal",
|
124
|
+
"exclusive" => "exclusive"
|
125
|
+
}.freeze
|
94
126
|
|
95
127
|
# The list of valid encodings.
|
96
|
-
ENCODINGS =
|
128
|
+
ENCODINGS = {
|
129
|
+
"utf-8" => "utf-8",
|
130
|
+
"utf-16" => "utf-16",
|
131
|
+
"utf-16le" => "utf-16le",
|
132
|
+
"utf-16be" => "utf-16be"
|
133
|
+
}.freeze
|
97
134
|
|
98
135
|
# The list of valid WAL checkpoints.
|
99
|
-
WAL_CHECKPOINTS =
|
136
|
+
WAL_CHECKPOINTS = {
|
137
|
+
"passive" => "passive",
|
138
|
+
"full" => "full",
|
139
|
+
"restart" => "restart",
|
140
|
+
"truncate" => "truncate"
|
141
|
+
}.freeze
|
100
142
|
|
101
143
|
def application_id
|
102
144
|
get_int_pragma "application_id"
|
@@ -227,7 +269,7 @@ module SQLite3
|
|
227
269
|
end
|
228
270
|
|
229
271
|
def encoding=(mode)
|
230
|
-
|
272
|
+
set_string_pragma "encoding", mode, ENCODINGS
|
231
273
|
end
|
232
274
|
|
233
275
|
def foreign_key_check(*table, &block) # :yields: row
|
@@ -295,7 +337,7 @@ module SQLite3
|
|
295
337
|
end
|
296
338
|
|
297
339
|
def journal_mode=(mode)
|
298
|
-
|
340
|
+
set_string_pragma "journal_mode", mode, JOURNAL_MODES
|
299
341
|
end
|
300
342
|
|
301
343
|
def journal_size_limit
|
@@ -319,7 +361,7 @@ module SQLite3
|
|
319
361
|
end
|
320
362
|
|
321
363
|
def locking_mode=(mode)
|
322
|
-
|
364
|
+
set_string_pragma "locking_mode", mode, LOCKING_MODES
|
323
365
|
end
|
324
366
|
|
325
367
|
def max_page_count
|
@@ -525,7 +567,7 @@ module SQLite3
|
|
525
567
|
end
|
526
568
|
|
527
569
|
def wal_checkpoint=(mode)
|
528
|
-
|
570
|
+
set_string_pragma "wal_checkpoint", mode, WAL_CHECKPOINTS
|
529
571
|
end
|
530
572
|
|
531
573
|
def writable_schema=(mode)
|
@@ -568,6 +610,13 @@ module SQLite3
|
|
568
610
|
|
569
611
|
private
|
570
612
|
|
613
|
+
def set_string_pragma(pragma_name, value, valid_values)
|
614
|
+
valid_values.fetch(value.to_s.downcase) {
|
615
|
+
raise SQLite3::Exception, "unrecognized #{pragma_name} #{value.inspect}"
|
616
|
+
}
|
617
|
+
set_enum_pragma(pragma_name, value, valid_values)
|
618
|
+
end
|
619
|
+
|
571
620
|
# Compares two version strings
|
572
621
|
def version_compare(v1, v2)
|
573
622
|
v1 = v1.split(".").map { |i| i.to_i }
|
data/lib/sqlite3/version.rb
CHANGED
Binary file
|
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
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
- Mike Dalessio
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mini_portile2
|
@@ -75,7 +75,7 @@ files:
|
|
75
75
|
- lib/sqlite3/value.rb
|
76
76
|
- lib/sqlite3/version.rb
|
77
77
|
- lib/sqlite3/version_info.rb
|
78
|
-
- ports/archives/sqlite-autoconf-
|
78
|
+
- ports/archives/sqlite-autoconf-3500100.tar.gz
|
79
79
|
homepage: https://github.com/sparklemotion/sqlite3-ruby
|
80
80
|
licenses:
|
81
81
|
- BSD-3-Clause
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
requirements: []
|
106
|
-
rubygems_version: 3.6.
|
106
|
+
rubygems_version: 3.6.8
|
107
107
|
specification_version: 4
|
108
108
|
summary: Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org).
|
109
109
|
test_files: []
|
Binary file
|