sqlite3 1.6.7-x86_64-linux → 1.6.8-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dced984c3ca2c1aeecaaa87332de853d516194ff78829fe7ef79e47e2e0fbe95
4
- data.tar.gz: 75fff0cfe897303a10379973f13cf148d93cc4e637c5ab1fa7cd7f0beea8ea7e
3
+ metadata.gz: d8933d98ae428405a8a78f1b895c23e1e01f16766f877e5ca3adbd7769546de1
4
+ data.tar.gz: e70098251ff5d8b703f18f595dd41825abc5f1a478688ae69b9a616ed0f8ba06
5
5
  SHA512:
6
- metadata.gz: ebb441f115697c2b257c487487bafdab8b9c0b241e87ce7e957c7b4efc0de2ca4132f71b9a929ef2e94bebf115d473a550a19980ad599cc4eb8df8c342b2ca88
7
- data.tar.gz: 6c260407a54566c77e5fc0a2887a69711885758103147003f01adf4930bc60977dfdb274cfb89786bcc99df0933ea6d9596becf8940db736b87b4807edff77ad
6
+ metadata.gz: 40a77f4b8edb9c91c10354adb9ccf183dba2b5eac798837ba1ff2dc97c885422f55837e8bc0afc5dce18db1d292e15f0ad7a498cc97f6dcfe7ea039a3a56a394
7
+ data.tar.gz: e330088c8a023ec2df272f3ad96b44f03966c994ccc5a051938ae2a8a156c95838e8f7f2ab3274f229d6e67bcb6bdcddc881522638d0f6268ef67107b44d3d6b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # sqlite3-ruby Changelog
2
2
 
3
+ ## 1.6.8 / 2023-11-01
4
+
5
+ ### Dependencies
6
+
7
+ - Vendored sqlite is updated to [v3.44.0](https://sqlite.org/releaselog/3_44_0.html). @flavorjones
8
+ - rake-compiler-dock updated to v1.3.1 for precompiled native gems. @flavorjones
9
+
10
+
11
+ ### Added
12
+
13
+ - `SQLite3::Database.open` now returns the block result. Previously this returned the Database object. [#415] @toy
14
+ - Documentation improvement in `lib/sqlite3/database.rb`. [#421] @szTheory
15
+
16
+
3
17
  ## 1.6.7 / 2023-10-10
4
18
 
5
19
  ### Dependencies
data/Gemfile CHANGED
@@ -4,8 +4,7 @@ gemspec
4
4
 
5
5
  gem("minitest", "5.20.0")
6
6
  gem("rake-compiler", "1.2.5")
7
- gem("rake-compiler-dock", "1.3.0")
7
+ gem("rake-compiler-dock", "1.3.1")
8
8
  gem("rdoc", "6.5.0")
9
- gem("psych", "5.1.0")
10
9
 
11
10
  gem("ruby_memcheck", "2.2.0") if Gem::Platform.local.os == "linux"
data/dependencies.yml CHANGED
@@ -1,15 +1,14 @@
1
1
  # TODO: stop using symbols here once we no longer support Ruby 2.7 and can rely on symbolize_names
2
2
  :sqlite3:
3
3
  # checksum verified by first checking the published sha3(256) checksum against https://sqlite.org/download.html:
4
- # a7463a45ed58849200858e514b79f7e5f5d69850047897c5b659a78a0bc75cc1
4
+ # 6869046465eae886f1a9f2c8debeeba44d34328693aa77a5bd4a3cfed93d6556
5
5
  #
6
- # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3430200.tar.gz
7
- # a7463a45ed58849200858e514b79f7e5f5d69850047897c5b659a78a0bc75cc1 ports/archives/sqlite-autoconf-3430200.tar.gz
6
+ # $ sha3sum -a 256 ports/archives/sqlite-autoconf-3440000.tar.gz
7
+ # 6869046465eae886f1a9f2c8debeeba44d34328693aa77a5bd4a3cfed93d6556 ports/archives/sqlite-autoconf-3440000.tar.gz
8
8
  #
9
- # $ sha256sum ports/archives/sqlite-autoconf-3430200.tar.gz
10
- # 6d422b6f62c4de2ca80d61860e3a3fb693554d2f75bb1aaca743ccc4d6f609f0 ports/archives/sqlite-autoconf-3430200.tar.gz
11
- #
12
- :version: "3.43.2"
9
+ # $ sha256sum ports/archives/sqlite-autoconf-3440000.tar.gz
10
+ # b9cd386e7cd22af6e0d2a0f06d0404951e1bef109e42ea06cc0450e10cd15550 ports/archives/sqlite-autoconf-3440000.tar.gz
11
+ :version: "3.44.0"
13
12
  :files:
14
- - :url: "https://sqlite.org/2023/sqlite-autoconf-3430200.tar.gz"
15
- :sha256: "6d422b6f62c4de2ca80d61860e3a3fb693554d2f75bb1aaca743ccc4d6f609f0"
13
+ - :url: "https://sqlite.org/2023/sqlite-autoconf-3440000.tar.gz"
14
+ :sha256: "b9cd386e7cd22af6e0d2a0f06d0404951e1bef109e42ea06cc0450e10cd15550"
Binary file
Binary file
Binary file
Binary file
@@ -18,7 +18,7 @@ module SQLite3
18
18
  # end
19
19
  # end
20
20
  #
21
- # It wraps the lower-level methods provides by the selected driver, and
21
+ # It wraps the lower-level methods provided by the selected driver, and
22
22
  # includes the Pragmas module for access to various pragma convenience
23
23
  # methods.
24
24
  #
@@ -39,7 +39,22 @@ module SQLite3
39
39
 
40
40
  class << self
41
41
 
42
- alias :open :new
42
+ # Without block works exactly as new.
43
+ # With block, like new closes the database at the end, but unlike new
44
+ # returns the result of the block instead of the database instance.
45
+ def open( *args )
46
+ database = new(*args)
47
+
48
+ if block_given?
49
+ begin
50
+ yield database
51
+ ensure
52
+ database.close
53
+ end
54
+ else
55
+ database
56
+ end
57
+ end
43
58
 
44
59
  # Quotes the given string, making it safe to use in an SQL statement.
45
60
  # It replaces all instances of the single-quote character with two
@@ -1,11 +1,11 @@
1
1
  module SQLite3
2
2
 
3
- VERSION = "1.6.7"
3
+ VERSION = "1.6.8"
4
4
 
5
5
  module VersionProxy
6
6
  MAJOR = 1
7
7
  MINOR = 6
8
- TINY = 7
8
+ TINY = 8
9
9
  BUILD = nil
10
10
 
11
11
  STRING = [ MAJOR, MINOR, TINY, BUILD ].compact.join( "." )
@@ -198,11 +198,25 @@ module SQLite3
198
198
 
199
199
  def test_new
200
200
  db = SQLite3::Database.new(':memory:')
201
- assert db
201
+ assert_instance_of(SQLite3::Database, db)
202
202
  ensure
203
203
  db.close if db
204
204
  end
205
205
 
206
+ def test_open
207
+ db = SQLite3::Database.open(':memory:')
208
+ assert_instance_of(SQLite3::Database, db)
209
+ ensure
210
+ db.close if db
211
+ end
212
+
213
+ def test_open_returns_block_result
214
+ result = SQLite3::Database.open(':memory:') do |db|
215
+ :foo
216
+ end
217
+ assert_equal :foo, result
218
+ end
219
+
206
220
  def test_new_yields_self
207
221
  thing = nil
208
222
  SQLite3::Database.new(':memory:') do |db|
@@ -211,6 +225,14 @@ module SQLite3
211
225
  assert_instance_of(SQLite3::Database, thing)
212
226
  end
213
227
 
228
+ def test_open_yields_self
229
+ thing = nil
230
+ SQLite3::Database.open(':memory:') do |db|
231
+ thing = db
232
+ end
233
+ assert_instance_of(SQLite3::Database, thing)
234
+ end
235
+
214
236
  def test_new_with_options
215
237
  # determine if Ruby is running on Big Endian platform
216
238
  utf16 = ([1].pack("I") == [1].pack("N")) ? "UTF-16BE" : "UTF-16LE"
@@ -221,7 +243,7 @@ module SQLite3
221
243
  db = SQLite3::Database.new(Iconv.conv(utf16, 'UTF-8', ':memory:'),
222
244
  :utf16 => true)
223
245
  end
224
- assert db
246
+ assert_instance_of(SQLite3::Database, db)
225
247
  ensure
226
248
  db.close if db
227
249
  end
@@ -241,6 +263,15 @@ module SQLite3
241
263
  assert thing.closed?
242
264
  end
243
265
 
266
+ def test_open_with_block_closes_self
267
+ thing = nil
268
+ SQLite3::Database.open(':memory:') do |db|
269
+ thing = db
270
+ assert !thing.closed?
271
+ end
272
+ assert thing.closed?
273
+ end
274
+
244
275
  def test_block_closes_self_even_raised
245
276
  thing = nil
246
277
  begin
@@ -253,6 +284,18 @@ module SQLite3
253
284
  assert thing.closed?
254
285
  end
255
286
 
287
+ def test_open_with_block_closes_self_even_raised
288
+ thing = nil
289
+ begin
290
+ SQLite3::Database.open(':memory:') do |db|
291
+ thing = db
292
+ raise
293
+ end
294
+ rescue
295
+ end
296
+ assert thing.closed?
297
+ end
298
+
256
299
  def test_prepare
257
300
  db = SQLite3::Database.new(':memory:')
258
301
  stmt = db.prepare('select "hello world"')
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: 1.6.7
4
+ version: 1.6.8
5
5
  platform: x86_64-linux
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: 2023-10-10 00:00:00.000000000 Z
14
+ date: 2023-11-01 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