sqlite3 2.6.0-arm-linux-gnu → 2.7.1-arm-linux-gnu
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 +11 -1
- data/CONTRIBUTING.md +1 -1
- data/dependencies.yml +8 -8
- data/ext/sqlite3/aggregator.c +2 -2
- data/lib/sqlite3/3.1/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.2/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.3/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.4/sqlite3_native.so +0 -0
- data/lib/sqlite3/database.rb +2 -1
- data/lib/sqlite3/pragmas.rb +63 -14
- data/lib/sqlite3/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9bc8ac3e1f599e9a9a2c0362dc73a1e4272f0b9ee91fffafc29ae30fe22cbd3
|
4
|
+
data.tar.gz: 7f4ab75b601578ad20c528c46c44f468a8e7895ab48aada41b474baaa799e581
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6baa5cf1c9111f7f20a3e7709331fa4bb088e123a1f038b79a771e13766d00d684555705d94228e45f21a4c6493df1ee0ad9109ce6c6a590815b42b74ceee8e2
|
7
|
+
data.tar.gz: 0a532de86aaebc27ae053da142990d906a0beee323545e4af6f7aea94c780330ef15dc726ce2994d531fa064d94da9b78eb10259ea2bbf19b8a569bed7ef69a8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# sqlite3-ruby Changelog
|
2
2
|
|
3
|
+
## 2.7.1 / 2025-06-30
|
4
|
+
|
5
|
+
- Vendored sqlite is updated to [v3.50.2](https://sqlite.org/releaselog/3_50_2.html) (from v3.50.1). #633 @flavorjones
|
6
|
+
|
7
|
+
|
8
|
+
## 2.7.0 / 2025-06-09
|
9
|
+
|
10
|
+
- Vendored sqlite is updated to [v3.50.1](https://sqlite.org/releaselog/3_50_1.html) (from v3.49.1). #630 @flavorjones
|
11
|
+
|
12
|
+
|
3
13
|
## 2.6.0 / 2025-02-20
|
4
14
|
|
5
15
|
### Dependencies
|
@@ -609,7 +619,7 @@ You can opt-out of the packaged version of sqlite (and use your system-installed
|
|
609
619
|
|
610
620
|
## 1.4.1
|
611
621
|
|
612
|
-
* Don't mandate dl functions for the
|
622
|
+
* Don't mandate dl functions for the extension build
|
613
623
|
* bumping version
|
614
624
|
|
615
625
|
|
data/CONTRIBUTING.md
CHANGED
@@ -19,7 +19,7 @@ The `@connection` instance variable on the `Statement` handle keeps the database
|
|
19
19
|
connection alive.
|
20
20
|
|
21
21
|
We use `sqlite3_close_v2` in `Database#close` since v2.1.0 which defers _actually_ closing the
|
22
|
-
connection and freeing the underlying memory until all open
|
22
|
+
connection and freeing the underlying memory until all open statements are closed; though the
|
23
23
|
`Database` object will immediately behave as though it's been fully closed. If a Database is not
|
24
24
|
explicitly closed, it will be closed when it is GCed.
|
25
25
|
|
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
|
+
# e4d2b4332988f479ec032ccff00963a9bbd24a3a0f0222b4e249653fa680b4c0
|
4
4
|
#
|
5
|
-
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-
|
6
|
-
#
|
5
|
+
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-3500200.tar.gz
|
6
|
+
# e4d2b4332988f479ec032ccff00963a9bbd24a3a0f0222b4e249653fa680b4c0 ports/archives/sqlite-autoconf-3500200.tar.gz
|
7
7
|
#
|
8
|
-
# $ sha256sum ports/archives/sqlite-autoconf-
|
9
|
-
#
|
10
|
-
version: "3.
|
8
|
+
# $ sha256sum ports/archives/sqlite-autoconf-3500200.tar.gz
|
9
|
+
# 84a616ffd31738e4590b65babb3a9e1ef9370f3638e36db220ee0e73f8ad2156 ports/archives/sqlite-autoconf-3500200.tar.gz
|
10
|
+
version: "3.50.2"
|
11
11
|
files:
|
12
|
-
- url: "https://sqlite.org/2025/sqlite-autoconf-
|
13
|
-
sha256: "
|
12
|
+
- url: "https://sqlite.org/2025/sqlite-autoconf-3500200.tar.gz"
|
13
|
+
sha256: "84a616ffd31738e4590b65babb3a9e1ef9370f3638e36db220ee0e73f8ad2156"
|
data/ext/sqlite3/aggregator.c
CHANGED
@@ -60,7 +60,7 @@ rb_sqlite3_aggregate_instance(sqlite3_context *ctx)
|
|
60
60
|
VALUE *inst_ptr = sqlite3_aggregate_context(ctx, (int)sizeof(VALUE));
|
61
61
|
|
62
62
|
if (!inst_ptr) {
|
63
|
-
rb_fatal("SQLite is out-of-
|
63
|
+
rb_fatal("SQLite is out-of-memory");
|
64
64
|
}
|
65
65
|
|
66
66
|
inst = *inst_ptr;
|
@@ -174,7 +174,7 @@ rb_sqlite3_aggregator_final(sqlite3_context *ctx)
|
|
174
174
|
|
175
175
|
/* call-seq: define_aggregator2(aggregator)
|
176
176
|
*
|
177
|
-
* Define an
|
177
|
+
* Define an aggregate function according to a factory object (the "handler")
|
178
178
|
* that knows how to obtain to all the information. The handler must provide
|
179
179
|
* the following class methods:
|
180
180
|
*
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
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
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.1
|
5
5
|
platform: arm-linux-gnu
|
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: 2025-
|
13
|
+
date: 2025-06-30 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: |
|
16
16
|
Ruby library to interface with the SQLite3 database engine (http://www.sqlite.org). Precompiled
|