sqlite3 1.5.3-x64-mingw32 → 1.6.0.rc1-x64-mingw32
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 +26 -0
- data/README.md +1 -1
- data/dependencies.yml +8 -7
- data/ext/sqlite3/extconf.rb +40 -10
- data/lib/sqlite3/2.7/sqlite3_native.so +0 -0
- data/lib/sqlite3/3.0/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 +25 -11
- data/lib/sqlite3/2.6/sqlite3_native.so +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a6c0095ce6d573f7d9841fa533bc52df562448c1d08b01773f3e12c19146e34
|
4
|
+
data.tar.gz: b33a5039e1b3d8d59e13df5ce514c0269f3c5c3549fa328ea5c8c3deb0e8590a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e297fdb706417145d5615e589832f77f1824bb757ae8945ddfbdf4c98005a6b75e126b6b894a3859d04aae2315ae233b2a8ee0295b421942acd528698208309
|
7
|
+
data.tar.gz: 7ef3fecaea6fda7064d3e83dd4d9a3ec9ce690e18689137d480db0aaf89ffb0547e8c0d022bbc856c2256451f9ed44b3ca697efb6e469f48856e4c0ed35f61ca
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
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
|
+
|
22
|
+
## 1.5.4 / 2022-11-18
|
23
|
+
|
24
|
+
### Dependencies
|
25
|
+
|
26
|
+
* Vendored sqlite is updated to [v3.40.0](https://sqlite.org/releaselog/3_40_0.html).
|
27
|
+
|
28
|
+
|
3
29
|
## 1.5.3 / 2022-10-11
|
4
30
|
|
5
31
|
### Fixed
|
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.
|
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
@@ -69,21 +69,29 @@ module Sqlite3
|
|
69
69
|
# on macos, pkg-config will not return --cflags without this
|
70
70
|
ENV["PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"] = "t"
|
71
71
|
|
72
|
+
# only needed for Ruby 3.1.3, see https://bugs.ruby-lang.org/issues/19233
|
73
|
+
RbConfig::CONFIG["PKG_CONFIG"] = config_string("PKG_CONFIG") || "pkg-config"
|
74
|
+
|
72
75
|
lib_path = File.join(recipe.path, "lib")
|
73
76
|
pcfile = File.join(lib_path, "pkgconfig", "sqlite3.pc")
|
74
77
|
abort_pkg_config("pkg_config") unless pkg_config(pcfile)
|
75
78
|
|
76
79
|
# see https://bugs.ruby-lang.org/issues/18490
|
77
|
-
|
80
|
+
ldflags = xpopen(["pkg-config", "--libs", "--static", pcfile], err: [:child, :out], &:read)
|
78
81
|
abort_pkg_config("xpopen") unless $?.success?
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
82
|
+
ldflags = ldflags.split
|
83
|
+
|
84
|
+
if needs_darwin_linker_hack
|
85
|
+
ldflags.delete("-lsqlite3")
|
86
|
+
ldflags.prepend("-Wl,-flat_namespace", "-Wl,-hidden-lsqlite3")
|
87
|
+
else
|
88
|
+
# see https://github.com/flavorjones/mini_portile/issues/118
|
89
|
+
"-L#{lib_path}".tap do |lib_path_flag|
|
90
|
+
ldflags.prepend(lib_path_flag) unless ldflags.include?(lib_path_flag)
|
91
|
+
end
|
84
92
|
end
|
85
93
|
|
86
|
-
|
94
|
+
ldflags.each { |ldflag| append_ldflags(ldflag) }
|
87
95
|
end
|
88
96
|
end
|
89
97
|
|
@@ -126,9 +134,13 @@ module Sqlite3
|
|
126
134
|
|
127
135
|
def minimal_recipe
|
128
136
|
MiniPortile.new(libname, sqlite3_config[:version]).tap do |recipe|
|
129
|
-
|
130
|
-
|
131
|
-
|
137
|
+
if sqlite_source_dir
|
138
|
+
recipe.source_directory = sqlite_source_dir
|
139
|
+
else
|
140
|
+
recipe.files = sqlite3_config[:files]
|
141
|
+
recipe.target = File.join(package_root_dir, "ports")
|
142
|
+
recipe.patch_files = Dir[File.join(package_root_dir, "patches", "*.patch")].sort
|
143
|
+
end
|
132
144
|
end
|
133
145
|
end
|
134
146
|
|
@@ -157,10 +169,25 @@ module Sqlite3
|
|
157
169
|
enable_config("cross-build")
|
158
170
|
end
|
159
171
|
|
172
|
+
def sqlite_source_dir
|
173
|
+
arg_config("--with-sqlite-source-dir")
|
174
|
+
end
|
175
|
+
|
160
176
|
def download
|
161
177
|
minimal_recipe.download
|
162
178
|
end
|
163
179
|
|
180
|
+
def needs_darwin_linker_hack
|
181
|
+
# See https://github.com/rake-compiler/rake-compiler-dock/issues/87 for more info.
|
182
|
+
cross_build? &&
|
183
|
+
darwin? &&
|
184
|
+
RbConfig::CONFIG["ruby_version"] >= "3.2"
|
185
|
+
end
|
186
|
+
|
187
|
+
def darwin?
|
188
|
+
RbConfig::CONFIG["target_os"].include?("darwin")
|
189
|
+
end
|
190
|
+
|
164
191
|
def print_help
|
165
192
|
print(<<~TEXT)
|
166
193
|
USAGE: ruby #{$PROGRAM_NAME} [options]
|
@@ -178,6 +205,9 @@ module Sqlite3
|
|
178
205
|
Use libsqlcipher instead of libsqlite3.
|
179
206
|
(Implies `--enable-system-libraries`.)
|
180
207
|
|
208
|
+
--with-sqlite-source-dir=DIRECTORY
|
209
|
+
(dev only) Build sqlite from the source code in DIRECTORY
|
210
|
+
|
181
211
|
--help
|
182
212
|
Display this message.
|
183
213
|
|
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.rc1
|
5
5
|
platform: x64-mingw32
|
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-02 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:
|
@@ -121,7 +135,6 @@ files:
|
|
121
135
|
- faq/faq.rb
|
122
136
|
- faq/faq.yml
|
123
137
|
- lib/sqlite3.rb
|
124
|
-
- lib/sqlite3/2.6/sqlite3_native.so
|
125
138
|
- lib/sqlite3/2.7/sqlite3_native.so
|
126
139
|
- lib/sqlite3/3.0/sqlite3_native.so
|
127
140
|
- lib/sqlite3/constants.rb
|
@@ -148,6 +161,7 @@ files:
|
|
148
161
|
- test/test_integration_pending.rb
|
149
162
|
- test/test_integration_resultset.rb
|
150
163
|
- test/test_integration_statement.rb
|
164
|
+
- test/test_pragmas.rb
|
151
165
|
- test/test_result_set.rb
|
152
166
|
- test/test_sqlite3.rb
|
153
167
|
- test/test_statement.rb
|
@@ -162,7 +176,7 @@ metadata:
|
|
162
176
|
changelog_uri: https://github.com/sparklemotion/sqlite3-ruby/blob/master/CHANGELOG.md
|
163
177
|
source_code_uri: https://github.com/sparklemotion/sqlite3-ruby
|
164
178
|
rubygems_mfa_required: 'true'
|
165
|
-
post_install_message:
|
179
|
+
post_install_message:
|
166
180
|
rdoc_options:
|
167
181
|
- "--main"
|
168
182
|
- README.md
|
@@ -172,18 +186,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
172
186
|
requirements:
|
173
187
|
- - ">="
|
174
188
|
- !ruby/object:Gem::Version
|
175
|
-
version: '2.
|
189
|
+
version: '2.7'
|
176
190
|
- - "<"
|
177
191
|
- !ruby/object:Gem::Version
|
178
192
|
version: 3.1.dev
|
179
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
194
|
requirements:
|
181
|
-
- - "
|
195
|
+
- - ">"
|
182
196
|
- !ruby/object:Gem::Version
|
183
|
-
version:
|
197
|
+
version: 1.3.1
|
184
198
|
requirements: []
|
185
|
-
rubygems_version: 3.3.
|
186
|
-
signing_key:
|
199
|
+
rubygems_version: 3.3.26
|
200
|
+
signing_key:
|
187
201
|
specification_version: 4
|
188
202
|
summary: This module allows Ruby programs to interface with the SQLite3 database engine
|
189
203
|
(http://www.sqlite.org)
|
Binary file
|