lora-ruby 0.18.0-aarch64-linux → 0.19.0-aarch64-linux
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.
- checksums.yaml +4 -4
- data/README.md +16 -6
- data/lib/lora_ruby/3.1/lora_ruby.so +0 -0
- data/lib/lora_ruby/3.2/lora_ruby.so +0 -0
- data/lib/lora_ruby/3.3/lora_ruby.so +0 -0
- data/lib/lora_ruby/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f6c806bdf150dd08b8ecb946669a7923f991d93c1e3b1de4ef098d690a445b46
|
|
4
|
+
data.tar.gz: 321efb37f096100f59f04c5189f3157f485769389837c9bd6aceaee768aa47c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 753d7229175ea205b0346766de4b55afedd3c994dfafcf31447e3c0344f8f2052562adf52a4c32e27288ac3e1914320f8f15b032fe1021284ec8ed6a1e72c8fe
|
|
7
|
+
data.tar.gz: 4c981e6cf63f163eaf36a99ac2b1e6c64250ddd0e41e990b8b86b5f014951adcfecec8f72c1756c8d1bbb56faf18824431a44ce717153c77481d462076d35b53
|
data/README.md
CHANGED
|
@@ -206,14 +206,24 @@ db = LoraRuby::Database.open_wal(
|
|
|
206
206
|
|
|
207
207
|
## Concurrency (GVL release)
|
|
208
208
|
|
|
209
|
-
`
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
Every engine call that can block (`execute`, `explain`, `profile`, `clear`,
|
|
210
|
+
snapshot save/load, opening and closing a database) runs under
|
|
211
|
+
`rb_thread_call_without_gvl`, so other Ruby threads run while the engine is
|
|
212
|
+
busy. `node_count` and `relationship_count` read a snapshot without waiting
|
|
213
|
+
and keep the GVL. Auto-commit reads can overlap on engine snapshots; writes
|
|
214
|
+
serialize on the engine's writer lock.
|
|
215
|
+
|
|
216
|
+
A write waiting for that lock waits with the GVL released, and the Ruby
|
|
217
|
+
binding has no interactive transactions: each write takes the lock and
|
|
218
|
+
releases it within one call. So a waiting writer never blocks the writer
|
|
219
|
+
holding the lock, however many threads write at once.
|
|
212
220
|
|
|
213
221
|
The engine has no cancellation hook, so we pass a `NULL` unblock
|
|
214
|
-
function. A thread interrupted mid-query (`Thread#kill`) will
|
|
215
|
-
the interrupt **after** the current
|
|
216
|
-
|
|
222
|
+
function. A thread interrupted mid-query (`Thread#kill`, `Ctrl-C`) will
|
|
223
|
+
observe the interrupt **after** the current call finishes, including a
|
|
224
|
+
write that was still waiting for the writer lock (it runs, then the
|
|
225
|
+
interrupt fires). Keep queries short if you rely on cooperative
|
|
226
|
+
cancellation.
|
|
217
227
|
|
|
218
228
|
## Local development
|
|
219
229
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/lib/lora_ruby/version.rb
CHANGED
|
@@ -10,5 +10,5 @@ module LoraRuby
|
|
|
10
10
|
# Guard against redefinition so re-requiring this file (or loading
|
|
11
11
|
# both paths) doesn't emit a "warning: already initialized constant"
|
|
12
12
|
# when the native extension loads second with the identical value.
|
|
13
|
-
VERSION = "0.
|
|
13
|
+
VERSION = "0.19.0" unless const_defined?(:VERSION)
|
|
14
14
|
end
|