extralite-bundle 2.8.2 → 2.10

Sign up to get free protection for your applications and to get access to all the features.
data/gemspec.rb CHANGED
@@ -17,9 +17,9 @@ def common_spec(s)
17
17
  s.require_paths = ['lib']
18
18
  s.required_ruby_version = '>= 3.0'
19
19
 
20
- s.add_development_dependency 'rake-compiler', '1.2.7'
21
- s.add_development_dependency 'minitest', '5.22.2'
22
- s.add_development_dependency 'simplecov', '0.17.1'
23
- s.add_development_dependency 'yard', '0.9.34'
24
- s.add_development_dependency 'sequel', '5.77.0'
20
+ s.add_development_dependency 'rake-compiler', '1.2.9'
21
+ s.add_development_dependency 'minitest', '5.25.4'
22
+ s.add_development_dependency 'simplecov', '0.22.0'
23
+ s.add_development_dependency 'yard', '0.9.37'
24
+ s.add_development_dependency 'sequel', '5.88.0'
25
25
  end
@@ -1,4 +1,4 @@
1
1
  module Extralite
2
2
  # Extralite version
3
- VERSION = '2.8.2'
3
+ VERSION = '2.10'
4
4
  end
@@ -40,6 +40,19 @@ class DatabaseTest < Minitest::Test
40
40
  assert_equal [], r
41
41
  end
42
42
 
43
+ def test_query_hash_with_many_columns
44
+ # this tests correct processing cof column names when column count is more than
45
+ # MAX_EMBEDDED_COLUMN_NAMES
46
+ r = @db.query_hash("
47
+ select 1 as a, 2 as b, 3 as c, 4 as d, 5 as e, 6 as f, 7 as g, 8 as h, 9 as i, 10 as j,
48
+ 11 as k, 12 as l, 13 as m, 14 as n, 15 as o, 16 as p, 17 as q, 18 as r, 19 as s, 20 as t
49
+ ")
50
+ assert_equal [{
51
+ a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9, j: 10,
52
+ k: 11, l: 12, m: 13, n: 14, o: 15, p: 16, q: 17, r: 18, s: 19, t: 20
53
+ }], r
54
+ end
55
+
43
56
  def test_query_array
44
57
  r = @db.query_array('select * from t')
45
58
  assert_equal [[1, 2, 3], [4, 5, 6]], r
@@ -363,7 +376,6 @@ class DatabaseTest < Minitest::Test
363
376
  [1, '2', 3],
364
377
  ['4', 5, 6]
365
378
  ]
366
-
367
379
  changes = @db.batch_execute('insert into foo values (?, ?, ?)', records)
368
380
 
369
381
  assert_equal 2, changes
@@ -373,6 +385,23 @@ class DatabaseTest < Minitest::Test
373
385
  ], @db.query('select * from foo')
374
386
  end
375
387
 
388
+ def test_batch_execute_with_array_of_hashes
389
+ @db.query('create table foo (a, b, c)')
390
+ assert_equal [], @db.query('select * from foo')
391
+
392
+ records = [
393
+ { a: 1, b: '2', c: 3 },
394
+ { a: '4', b: 5, c: 6 }
395
+ ]
396
+ changes = @db.batch_execute('insert into foo values (:a, :b, :c)', records)
397
+
398
+ # assert_equal 2, changes
399
+ assert_equal [
400
+ { a: 1, b: '2', c: 3 },
401
+ { a: '4', b: 5, c: 6 }
402
+ ], @db.query('select * from foo')
403
+ end
404
+
376
405
  def test_batch_execute_single_values
377
406
  @db.query('create table foo (bar)')
378
407
  assert_equal [], @db.query('select * from foo')
@@ -1359,6 +1388,12 @@ class ConcurrencyTest < Minitest::Test
1359
1388
  def test_progress_handler_simple
1360
1389
  db = Extralite::Database.new(':memory:')
1361
1390
 
1391
+ # SQLite's behaviour post 3.46.0 has changed, such that the first time the
1392
+ # query is ran, the progress handler is called more times than in later
1393
+ # invocations, so here we run it once before measuring, in order to have
1394
+ # reliable figures.
1395
+ result = db.query_single('select 1 as a, 2 as b, 3 as c')
1396
+
1362
1397
  buf = []
1363
1398
  db.on_progress(period: 1) { buf << :progress }
1364
1399
 
@@ -1377,6 +1412,12 @@ class ConcurrencyTest < Minitest::Test
1377
1412
  def test_progress_handler_normal_mode
1378
1413
  db = Extralite::Database.new(':memory:')
1379
1414
 
1415
+ # SQLite's behaviour post 3.46.0 has changed, such that the first time the
1416
+ # query is ran, the progress handler is called more times than in later
1417
+ # invocations, so here we run it once before measuring, in order to have
1418
+ # reliable figures.
1419
+ db.query('select 1 as a')
1420
+
1380
1421
  count = 0
1381
1422
  db.on_progress(period: 1) { count += 1 }
1382
1423
  db.query('select 1 as a')
@@ -1397,6 +1438,12 @@ class ConcurrencyTest < Minitest::Test
1397
1438
  def test_progress_handler_at_least_once_mode
1398
1439
  db = Extralite::Database.new(':memory:')
1399
1440
 
1441
+ # SQLite's behaviour post 3.46.0 has changed, such that the first time the
1442
+ # query is ran, the progress handler is called more times than in later
1443
+ # invocations, so here we run it once before measuring, in order to have
1444
+ # reliable figures.
1445
+ db.query('select 1 as a')
1446
+
1400
1447
  count = 0
1401
1448
  db.on_progress(period: 1) { count += 1 }
1402
1449
  db.query('select 1 as a')
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extralite-bundle
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.2
4
+ version: '2.10'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-06-10 00:00:00.000000000 Z
10
+ date: 2025-02-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rake-compiler
@@ -16,71 +15,70 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 1.2.7
18
+ version: 1.2.9
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 1.2.7
25
+ version: 1.2.9
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: minitest
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - '='
32
31
  - !ruby/object:Gem::Version
33
- version: 5.22.2
32
+ version: 5.25.4
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - '='
39
38
  - !ruby/object:Gem::Version
40
- version: 5.22.2
39
+ version: 5.25.4
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: simplecov
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - '='
46
45
  - !ruby/object:Gem::Version
47
- version: 0.17.1
46
+ version: 0.22.0
48
47
  type: :development
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - '='
53
52
  - !ruby/object:Gem::Version
54
- version: 0.17.1
53
+ version: 0.22.0
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: yard
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - '='
60
59
  - !ruby/object:Gem::Version
61
- version: 0.9.34
60
+ version: 0.9.37
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - '='
67
66
  - !ruby/object:Gem::Version
68
- version: 0.9.34
67
+ version: 0.9.37
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: sequel
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - '='
74
73
  - !ruby/object:Gem::Version
75
- version: 5.77.0
74
+ version: 5.88.0
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
79
  - - '='
81
80
  - !ruby/object:Gem::Version
82
- version: 5.77.0
83
- description:
81
+ version: 5.88.0
84
82
  email: sharon@noteflakes.com
85
83
  executables: []
86
84
  extensions:
@@ -155,7 +153,6 @@ metadata:
155
153
  homepage_uri: https://github.com/digital-fabric/extralite
156
154
  documentation_uri: https://www.rubydoc.info/gems/extralite
157
155
  changelog_uri: https://github.com/digital-fabric/extralite/blob/master/CHANGELOG.md
158
- post_install_message:
159
156
  rdoc_options:
160
157
  - "--title"
161
158
  - Extralite
@@ -174,8 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
171
  - !ruby/object:Gem::Version
175
172
  version: '0'
176
173
  requirements: []
177
- rubygems_version: 3.5.3
178
- signing_key:
174
+ rubygems_version: 3.6.2
179
175
  specification_version: 4
180
176
  summary: Extra-lightweight SQLite3 wrapper for Ruby with bundled SQLite3
181
177
  test_files: []