extralite-bundle 2.8.1 → 2.10

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.
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.1'
3
+ VERSION = '2.10'
4
4
  end
Binary file
Binary file
Binary file
@@ -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
@@ -277,10 +290,14 @@ class DatabaseTest < Minitest::Test
277
290
 
278
291
  def test_extension_loading
279
292
  case RUBY_PLATFORM
280
- when /linux/
281
- @db.load_extension(File.join(__dir__, 'extensions/text.so'))
282
- when /darwin/
283
- @db.load_extension(File.join(__dir__, 'extensions/text.dylib'))
293
+ when /aarch64-linux/
294
+ @db.load_extension(File.join(__dir__, 'extensions/arm64/text.so'))
295
+ when /x86_64-linux/
296
+ @db.load_extension(File.join(__dir__, 'extensions/x86/text.so'))
297
+ when /arm64-darwin/
298
+ @db.load_extension(File.join(__dir__, 'extensions/arm64/text.dylib'))
299
+ when /x86_64-darwin/
300
+ @db.load_extension(File.join(__dir__, 'extensions/x86/text.dylib'))
284
301
  end
285
302
 
286
303
  r = @db.query_single_splat("select reverse('abcd')")
@@ -359,7 +376,6 @@ class DatabaseTest < Minitest::Test
359
376
  [1, '2', 3],
360
377
  ['4', 5, 6]
361
378
  ]
362
-
363
379
  changes = @db.batch_execute('insert into foo values (?, ?, ?)', records)
364
380
 
365
381
  assert_equal 2, changes
@@ -369,6 +385,23 @@ class DatabaseTest < Minitest::Test
369
385
  ], @db.query('select * from foo')
370
386
  end
371
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
+
372
405
  def test_batch_execute_single_values
373
406
  @db.query('create table foo (bar)')
374
407
  assert_equal [], @db.query('select * from foo')
@@ -1355,6 +1388,12 @@ class ConcurrencyTest < Minitest::Test
1355
1388
  def test_progress_handler_simple
1356
1389
  db = Extralite::Database.new(':memory:')
1357
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
+
1358
1397
  buf = []
1359
1398
  db.on_progress(period: 1) { buf << :progress }
1360
1399
 
@@ -1373,6 +1412,12 @@ class ConcurrencyTest < Minitest::Test
1373
1412
  def test_progress_handler_normal_mode
1374
1413
  db = Extralite::Database.new(':memory:')
1375
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
+
1376
1421
  count = 0
1377
1422
  db.on_progress(period: 1) { count += 1 }
1378
1423
  db.query('select 1 as a')
@@ -1393,6 +1438,12 @@ class ConcurrencyTest < Minitest::Test
1393
1438
  def test_progress_handler_at_least_once_mode
1394
1439
  db = Extralite::Database.new(':memory:')
1395
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
+
1396
1447
  count = 0
1397
1448
  db.on_progress(period: 1) { count += 1 }
1398
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.1
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-04-16 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:
@@ -125,8 +123,10 @@ files:
125
123
  - lib/extralite.rb
126
124
  - lib/extralite/version.rb
127
125
  - lib/sequel/adapters/extralite.rb
128
- - test/extensions/text.dylib
129
- - test/extensions/text.so
126
+ - test/extensions/arm64/text.dylib
127
+ - test/extensions/arm64/text.so
128
+ - test/extensions/x86/text.dylib
129
+ - test/extensions/x86/text.so
130
130
  - test/fixtures/image.png
131
131
  - test/helper.rb
132
132
  - test/issue-38.rb
@@ -153,7 +153,6 @@ metadata:
153
153
  homepage_uri: https://github.com/digital-fabric/extralite
154
154
  documentation_uri: https://www.rubydoc.info/gems/extralite
155
155
  changelog_uri: https://github.com/digital-fabric/extralite/blob/master/CHANGELOG.md
156
- post_install_message:
157
156
  rdoc_options:
158
157
  - "--title"
159
158
  - Extralite
@@ -172,8 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
171
  - !ruby/object:Gem::Version
173
172
  version: '0'
174
173
  requirements: []
175
- rubygems_version: 3.5.3
176
- signing_key:
174
+ rubygems_version: 3.6.2
177
175
  specification_version: 4
178
176
  summary: Extra-lightweight SQLite3 wrapper for Ruby with bundled SQLite3
179
177
  test_files: []
Binary file