extralite-bundle 2.8.1 → 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.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