extralite-bundle 2.5 → 2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +34 -13
  4. data/Gemfile +4 -0
  5. data/Gemfile-bundle +1 -1
  6. data/LICENSE +1 -1
  7. data/README.md +1059 -247
  8. data/Rakefile +18 -0
  9. data/TODO.md +0 -7
  10. data/examples/kv_store.rb +49 -0
  11. data/examples/multi_fiber.rb +16 -0
  12. data/examples/on_progress.rb +9 -0
  13. data/examples/pubsub_store_polyphony.rb +194 -0
  14. data/examples/pubsub_store_threads.rb +204 -0
  15. data/ext/extralite/changeset.c +463 -0
  16. data/ext/extralite/common.c +177 -91
  17. data/ext/extralite/database.c +745 -276
  18. data/ext/extralite/extconf-bundle.rb +10 -4
  19. data/ext/extralite/extconf.rb +34 -34
  20. data/ext/extralite/extralite.h +104 -47
  21. data/ext/extralite/extralite_ext.c +6 -0
  22. data/ext/extralite/iterator.c +14 -86
  23. data/ext/extralite/query.c +171 -264
  24. data/extralite-bundle.gemspec +1 -1
  25. data/extralite.gemspec +1 -1
  26. data/gemspec.rb +10 -11
  27. data/lib/extralite/version.rb +1 -1
  28. data/lib/extralite.rb +69 -10
  29. data/lib/sequel/adapters/extralite.rb +1 -1
  30. data/test/helper.rb +9 -1
  31. data/test/perf_argv_transform.rb +74 -0
  32. data/test/perf_ary.rb +14 -12
  33. data/test/perf_hash.rb +17 -15
  34. data/test/perf_hash_prepared.rb +58 -0
  35. data/test/perf_hash_transform.rb +66 -0
  36. data/test/perf_polyphony.rb +74 -0
  37. data/test/test_changeset.rb +161 -0
  38. data/test/test_database.rb +720 -104
  39. data/test/test_extralite.rb +2 -2
  40. data/test/test_iterator.rb +28 -13
  41. data/test/test_query.rb +352 -110
  42. data/test/test_sequel.rb +4 -4
  43. metadata +24 -16
  44. data/Gemfile.lock +0 -37
  45. data/test/perf_prepared.rb +0 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b3eeea4f7340013a751b39ce75005f85c17004d092aa49b1bb345c30e0db0e2
4
- data.tar.gz: 7179f952c683aed063ad4f4f7613009a12cdefc02af77514fd0995dc21bba5fa
3
+ metadata.gz: a2d854a1f316c9ab6415cda749203ca6854ca6d4d48a9b23baa011a16b3ac472
4
+ data.tar.gz: 5fae5cf20faee0420cb738d8542034465ce5c71280a0e4c3ae2c4938ff8675b2
5
5
  SHA512:
6
- metadata.gz: eefd07e68fc4e2744a66d2941a48a85f603b667d9dd48504556f120d3077d4fbc95cc0913f85047b1fe917c11b0f0d8b60cfc1b41cbecc8e8b8d83f62cce4fb5
7
- data.tar.gz: 1269b6eaed626d299b89ed634cc77d38b72e74913864ca18d046fd6ecae030dc6071d23152f7213ed15b1eef40effae88fe72508f4b2d6e1c46dc0a0580c783c
6
+ metadata.gz: a8a3ac9f8b43ef2f0d9bb4614b7511c2c3e8fa44e688a74e4166b371f270344d490e0da779c2b28799e35fedcfa597aa39dc30e1fb2a6c52dbf32ac9ffc7ee75
7
+ data.tar.gz: c1eeef08c58ba60c2cef239837871bedc3df6264ad32038fa6457ed0d6693635c58be8a1786447ea82d5179a1e06d3935ccbf467505f13df809aa49275e4952a
data/.gitignore CHANGED
@@ -11,6 +11,7 @@
11
11
  /tmp/
12
12
  lib/extralite_ext.*
13
13
  Gemfile-bundle.lock
14
+ Gemfile.lock
14
15
  /cmake-build-debug/
15
16
  CMakeLists.txt
16
17
 
data/CHANGELOG.md CHANGED
@@ -1,22 +1,43 @@
1
+ # 2.7 2024-02-09
2
+
3
+ - Improve progress handler API, add mode, period, tick options, global progress
4
+ handler. [#68](https://github.com/digital-fabric/extralite/pull/68)
5
+ - Rework `Database#initialize` options
6
+ - Add argv row mode (for passing column values as argv)
7
+ - Streamline and improve query methods
8
+ [#67](https://github.com/digital-fabric/extralite/pull/67)
9
+ - Implement row transforms
10
+
11
+ # 2.6 2024-01-23
12
+
13
+ - Implement changeset API.
14
+ [#58](https://github.com/digital-fabric/extralite/issues/58)
15
+ - Reorganize README, update benchmarks.
16
+ [#63](https://github.com/digital-fabric/extralite/issues/63)
17
+ - Implement progress handler API.
18
+ [#62](https://github.com/digital-fabric/extralite/issues/62)
19
+ - Implement savepoint methods.
20
+
1
21
  # 2.5 2024-01-16
2
22
 
3
- - Update bundled sqlite to version 3.45.0
4
- - Implement `Database#batch_query` and related methods
23
+ - Update bundled sqlite to version 3.45.0.
24
+ - Implement `Database#batch_query` and related methods.
5
25
  [53](https://github.com/digital-fabric/extralite/issues/53)
6
- - Accept more options in `Database#initialize`
26
+ - Accept more options in `Database#initialize`.
7
27
  [48](https://github.com/digital-fabric/extralite/issues/48)
8
- - Fix `Database#pragma` to return single value when reading pragma value
9
- - Accept database name in `Database#tables` method
28
+ - Fix `Database#pragma` to return single value when reading pragma value.
29
+ - Accept database name in `Database#tables` method.
10
30
  - Improve `Database#batch_execute` - now accepts Enumerable and Callable
11
- parameters [52](https://github.com/digital-fabric/extralite/issues/52)
12
- - Rename `Database#execute_multi` to `Database#batch_execute`
13
- - Implement Query#clone
31
+ parameters. [52](https://github.com/digital-fabric/extralite/issues/52)
32
+ - Rename `Database#execute_multi` to `Database#batch_execute`.
33
+ - Implement `Query#clone`.
14
34
  [51](https://github.com/digital-fabric/extralite/issues/51)
15
- - Add support for GC compaction
16
- - Remove support for Ruby 2.7
17
- - Implement Query#<< [49](https://github.com/digital-fabric/extralite/issues/49)
18
- - Allow passing parameters in array
19
- - Add support for ractors
35
+ - Add support for GC compaction.
36
+ - Remove support for Ruby 2.7.
37
+ - Implement `Query#<<`.
38
+ [49](https://github.com/digital-fabric/extralite/issues/49)
39
+ - Allow passing parameters in array.
40
+ - Add support for ractors.
20
41
  [#50](https://github.com/digital-fabric/extralite/issues/50)
21
42
 
22
43
  # 2.4 2023-12-24
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec name: 'extralite'
4
+
5
+ group :development do
6
+ gem "ruby_memcheck", "2.3.0" if Gem::Platform.local.os == "linux"
7
+ end
data/Gemfile-bundle CHANGED
@@ -2,4 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec name: 'extralite'
4
4
 
5
- gem "extralite-bundle", git: "file://#{File.expand_path(__dir__)}", ref: `git rev-parse --abbrev-ref HEAD`.strip
5
+ gem 'extralite-bundle', git: "file://#{File.expand_path(__dir__)}", ref: `git rev-parse --abbrev-ref HEAD`.strip
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 Sharon Rosner
3
+ Copyright (c) 2024 Sharon Rosner
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal