sqlite3 1.5.4-x64-mingw-ucrt → 1.6.0.rc2-x64-mingw-ucrt
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -0
- data/CONTRIBUTING.md +2 -2
- data/README.md +1 -1
- data/dependencies.yml +8 -7
- data/ext/sqlite3/extconf.rb +14 -4
- data/ext/sqlite3/sqlite3.c +1 -0
- data/lib/sqlite3/3.1/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.2/sqlite3_native.so +0 -0
- data/lib/sqlite3/pragmas.rb +3 -3
- data/lib/sqlite3/version.rb +4 -4
- data/test/test_pragmas.rb +22 -0
- metadata +26 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0496a06290969b72745bde25efef44e56f0701c78dc1c17a88af43e307a4794c'
|
4
|
+
data.tar.gz: faa02b9118f0eb49173e75e86185832854b67be55cb66e0c5ffacb07d051e107
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34a270e151b8e20a0ceff295a64061355afbe4eabb5bdab8efdea4370ca92f4f534dcf474998497db1b56ef53861fb83a66c3ecb8a9b45bd01bdbd84789fe696
|
7
|
+
data.tar.gz: d036e863d9beb28316c38f1743927eba92f5b9900e9a0a8b89d05ec0ef0652f58010cd767c64a2c0c230a3e7f921fdcc0310807a32b885d7f109e474fc491e58
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# sqlite3-ruby Changelog
|
2
2
|
|
3
|
+
## 1.6.0 / unreleased
|
4
|
+
|
5
|
+
### Ruby
|
6
|
+
|
7
|
+
This release introduces native gem support for Ruby 3.2.
|
8
|
+
|
9
|
+
This release ends native gem support for Ruby 2.6, for which [upstream support ended 2022-04-12](https://www.ruby-lang.org/en/downloads/branches/).
|
10
|
+
|
11
|
+
|
12
|
+
### Dependencies
|
13
|
+
|
14
|
+
* Vendored sqlite3 is updated to [v3.40.1](https://sqlite.org/releaselog/3_40_1.html).
|
15
|
+
|
16
|
+
|
17
|
+
### Fixes
|
18
|
+
|
19
|
+
* `get_boolean_pragma` now returns the correct value. Previously, it always returned true. [#275] (Thank you, @Edouard-chin!)
|
20
|
+
|
21
|
+
|
3
22
|
## 1.5.4 / 2022-11-18
|
4
23
|
|
5
24
|
### Dependencies
|
data/CONTRIBUTING.md
CHANGED
@@ -17,8 +17,8 @@ Run `bin/build-gems` which will package gems for all supported platforms, and ru
|
|
17
17
|
A quick checklist:
|
18
18
|
|
19
19
|
- [ ] make sure CI is green!
|
20
|
-
- [
|
21
|
-
- [
|
20
|
+
- [ ] update `CHANGELOG.md` and `lib/sqlite3/version.rb` including `VersionProxy::{MINOR,TINY}`
|
21
|
+
- [ ] create a git tag using a format that matches the pattern `v\d+\.\d+\.\d+`, e.g. `v1.3.13`
|
22
22
|
- [ ] run `bin/build-gems` and make sure it completes and all the tests pass
|
23
23
|
- [ ] `for g in gems/*.gem ; do gem push $g ; done`
|
24
24
|
- [ ] create a release at https://github.com/sparklemotion/sqlite3-ruby/releases and include sha2 checksums
|
data/README.md
CHANGED
@@ -71,7 +71,7 @@ end
|
|
71
71
|
|
72
72
|
### Native Gems (recommended)
|
73
73
|
|
74
|
-
|
74
|
+
In v1.5.0 and later, native (precompiled) gems are available for recent Ruby versions on these platforms:
|
75
75
|
|
76
76
|
- `aarch64-linux`
|
77
77
|
- `arm-linux`
|
data/dependencies.yml
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
:sqlite3:
|
3
3
|
# checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
|
4
4
|
#
|
5
|
-
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-
|
6
|
-
#
|
5
|
+
# $ sha3sum -a 256 ports/archives/sqlite-autoconf-3400100.tar.gz
|
6
|
+
# 3136db4bcd9e9e1e485c291380a3d86f0f21cae0eff9f714c0ef4821e2e5cdf7 ports/archives/sqlite-autoconf-3400100.tar.gz
|
7
7
|
#
|
8
|
-
#
|
9
|
-
#
|
8
|
+
# juno in sqlite3-ruby on flavorjones-update-sqlite-3.40.1 [$!?] via 💎 v3.1.2
|
9
|
+
# $ sha256sum ports/archives/sqlite-autoconf-3400100.tar.gz
|
10
|
+
# 2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9 ports/archives/sqlite-autoconf-3400100.tar.gz
|
10
11
|
#
|
11
|
-
:version: "3.40.
|
12
|
+
:version: "3.40.1"
|
12
13
|
:files:
|
13
|
-
- :url: "https://sqlite.org/2022/sqlite-autoconf-
|
14
|
-
:sha256: "
|
14
|
+
- :url: "https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz"
|
15
|
+
:sha256: "2c5dea207fa508d765af1ef620b637dcb06572afa6f01f0815bd5bbf864b33d9"
|
data/ext/sqlite3/extconf.rb
CHANGED
@@ -55,6 +55,7 @@ module Sqlite3
|
|
55
55
|
additional_cflags = [
|
56
56
|
"-fPIC", # needed for linking the static library into a shared library
|
57
57
|
"-O2", # see https://github.com/sparklemotion/sqlite3-ruby/issues/335 for some benchmarks
|
58
|
+
"-fvisibility=hidden", # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
|
58
59
|
]
|
59
60
|
env["CFLAGS"] = [env["CFLAGS"], additional_cflags].flatten.join(" ")
|
60
61
|
recipe.configure_options += env.select { |k,v| ENV_ALLOWLIST.include?(k) }
|
@@ -69,21 +70,24 @@ module Sqlite3
|
|
69
70
|
# on macos, pkg-config will not return --cflags without this
|
70
71
|
ENV["PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"] = "t"
|
71
72
|
|
73
|
+
# only needed for Ruby 3.1.3, see https://bugs.ruby-lang.org/issues/19233
|
74
|
+
RbConfig::CONFIG["PKG_CONFIG"] = config_string("PKG_CONFIG") || "pkg-config"
|
75
|
+
|
72
76
|
lib_path = File.join(recipe.path, "lib")
|
73
77
|
pcfile = File.join(lib_path, "pkgconfig", "sqlite3.pc")
|
74
78
|
abort_pkg_config("pkg_config") unless pkg_config(pcfile)
|
75
79
|
|
76
80
|
# see https://bugs.ruby-lang.org/issues/18490
|
77
|
-
|
81
|
+
ldflags = xpopen(["pkg-config", "--libs", "--static", pcfile], err: [:child, :out], &:read)
|
78
82
|
abort_pkg_config("xpopen") unless $?.success?
|
79
|
-
|
83
|
+
ldflags = ldflags.split
|
80
84
|
|
81
85
|
# see https://github.com/flavorjones/mini_portile/issues/118
|
82
86
|
"-L#{lib_path}".tap do |lib_path_flag|
|
83
|
-
|
87
|
+
ldflags.prepend(lib_path_flag) unless ldflags.include?(lib_path_flag)
|
84
88
|
end
|
85
89
|
|
86
|
-
|
90
|
+
ldflags.each { |ldflag| append_ldflags(ldflag) }
|
87
91
|
end
|
88
92
|
end
|
89
93
|
|
@@ -92,6 +96,8 @@ module Sqlite3
|
|
92
96
|
append_cppflags("-DTAINTING_SUPPORT")
|
93
97
|
end
|
94
98
|
|
99
|
+
append_cflags("-fvisibility=hidden") # see https://github.com/rake-compiler/rake-compiler-dock/issues/87
|
100
|
+
|
95
101
|
if find_header("sqlite3.h")
|
96
102
|
# noop
|
97
103
|
elsif sqlcipher? && find_header("sqlcipher/sqlite3.h")
|
@@ -169,6 +175,10 @@ module Sqlite3
|
|
169
175
|
minimal_recipe.download
|
170
176
|
end
|
171
177
|
|
178
|
+
def darwin?
|
179
|
+
RbConfig::CONFIG["target_os"].include?("darwin")
|
180
|
+
end
|
181
|
+
|
172
182
|
def print_help
|
173
183
|
print(<<~TEXT)
|
174
184
|
USAGE: ruby #{$PROGRAM_NAME} [options]
|
data/ext/sqlite3/sqlite3.c
CHANGED
Binary file
|
Binary file
|
data/lib/sqlite3/pragmas.rb
CHANGED
@@ -11,7 +11,7 @@ module SQLite3
|
|
11
11
|
|
12
12
|
# Returns +true+ or +false+ depending on the value of the named pragma.
|
13
13
|
def get_boolean_pragma( name )
|
14
|
-
get_first_value( "PRAGMA #{name}" ) !=
|
14
|
+
get_first_value( "PRAGMA #{name}" ) != 0
|
15
15
|
end
|
16
16
|
|
17
17
|
# Sets the given pragma to the given boolean value. The value itself
|
@@ -260,7 +260,7 @@ module SQLite3
|
|
260
260
|
def full_column_names=( mode )
|
261
261
|
set_boolean_pragma "full_column_names", mode
|
262
262
|
end
|
263
|
-
|
263
|
+
|
264
264
|
def fullfsync
|
265
265
|
get_boolean_pragma "fullfsync"
|
266
266
|
end
|
@@ -356,7 +356,7 @@ module SQLite3
|
|
356
356
|
def parser_trace=( mode )
|
357
357
|
set_boolean_pragma "parser_trace", mode
|
358
358
|
end
|
359
|
-
|
359
|
+
|
360
360
|
def query_only
|
361
361
|
get_boolean_pragma "query_only"
|
362
362
|
end
|
data/lib/sqlite3/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
module SQLite3
|
4
|
+
class TestPragmas < SQLite3::TestCase
|
5
|
+
def setup
|
6
|
+
super
|
7
|
+
@db = SQLite3::Database.new(":memory:")
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_get_boolean_pragma
|
11
|
+
refute(@db.get_boolean_pragma("read_uncommitted"))
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_set_boolean_pragma
|
15
|
+
@db.set_boolean_pragma("read_uncommitted", 1)
|
16
|
+
|
17
|
+
assert(@db.get_boolean_pragma("read_uncommitted"))
|
18
|
+
ensure
|
19
|
+
@db.set_boolean_pragma("read_uncommitted", 0)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqlite3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0.rc2
|
5
5
|
platform: x64-mingw-ucrt
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
8
8
|
- Luis Lavena
|
9
9
|
- Aaron Patterson
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2023-01-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: minitest
|
@@ -74,13 +74,27 @@ dependencies:
|
|
74
74
|
- - "<"
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '7'
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: psych
|
79
|
+
requirement: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '4.0'
|
84
|
+
type: :development
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '4.0'
|
77
91
|
description: |-
|
78
92
|
This module allows Ruby programs to interface with the SQLite3
|
79
93
|
database engine (http://www.sqlite.org). You must have the
|
80
94
|
SQLite engine installed in order to build this module.
|
81
95
|
|
82
96
|
Note that this module is only compatible with SQLite 3.6.16 or newer.
|
83
|
-
email:
|
97
|
+
email:
|
84
98
|
executables: []
|
85
99
|
extensions: []
|
86
100
|
extra_rdoc_files:
|
@@ -122,6 +136,7 @@ files:
|
|
122
136
|
- faq/faq.yml
|
123
137
|
- lib/sqlite3.rb
|
124
138
|
- lib/sqlite3/3.1/sqlite3_native.so
|
139
|
+
- lib/sqlite3/3.2/sqlite3_native.so
|
125
140
|
- lib/sqlite3/constants.rb
|
126
141
|
- lib/sqlite3/database.rb
|
127
142
|
- lib/sqlite3/errors.rb
|
@@ -146,6 +161,7 @@ files:
|
|
146
161
|
- test/test_integration_pending.rb
|
147
162
|
- test/test_integration_resultset.rb
|
148
163
|
- test/test_integration_statement.rb
|
164
|
+
- test/test_pragmas.rb
|
149
165
|
- test/test_result_set.rb
|
150
166
|
- test/test_sqlite3.rb
|
151
167
|
- test/test_statement.rb
|
@@ -160,7 +176,7 @@ metadata:
|
|
160
176
|
changelog_uri: https://github.com/sparklemotion/sqlite3-ruby/blob/master/CHANGELOG.md
|
161
177
|
source_code_uri: https://github.com/sparklemotion/sqlite3-ruby
|
162
178
|
rubygems_mfa_required: 'true'
|
163
|
-
post_install_message:
|
179
|
+
post_install_message:
|
164
180
|
rdoc_options:
|
165
181
|
- "--main"
|
166
182
|
- README.md
|
@@ -173,15 +189,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
189
|
version: '3.1'
|
174
190
|
- - "<"
|
175
191
|
- !ruby/object:Gem::Version
|
176
|
-
version: 3.
|
192
|
+
version: 3.3.dev
|
177
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
194
|
requirements:
|
179
|
-
- - "
|
195
|
+
- - ">"
|
180
196
|
- !ruby/object:Gem::Version
|
181
|
-
version:
|
197
|
+
version: 1.3.1
|
182
198
|
requirements: []
|
183
|
-
rubygems_version: 3.3.
|
184
|
-
signing_key:
|
199
|
+
rubygems_version: 3.3.26
|
200
|
+
signing_key:
|
185
201
|
specification_version: 4
|
186
202
|
summary: This module allows Ruby programs to interface with the SQLite3 database engine
|
187
203
|
(http://www.sqlite.org)
|