mdbx 0.3.8 → 0.4.0
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
- checksums.yaml.gz.sig +2 -3
- data/History.md +8 -0
- data/ext/mdbx_ext/database.c +31 -1
- data/ext/mdbx_ext/mdbx_ext.h +1 -0
- data/lib/mdbx.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b8f04217532c9bd383ac918ac4ba724fa31e7a1e43335c1f084f13189f87b00
|
4
|
+
data.tar.gz: 54b3b4818240872fa8f973dbf52f1f1f5680e8508642d2fa4534e9346ae76411
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69df23a8da7d594571015ce0ab129582d9ca534eb10c127ffd0c046035ed13746fd0855aa796f3c228c750f6f34ddc052017e79df0f2c4bf649528ead6d91072
|
7
|
+
data.tar.gz: 6f35e9127312f645f7e2bf29be1644e3b67ad5a27e5f8ce6eb7e81d2b5b1a58610b8d8c1ba571df994054bc1d6d7d575073b6b5098c19dcb22f099647bab7aae
|
checksums.yaml.gz.sig
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
3
|
2
|
-
�
|
3
|
-
�:�0�F���8��(���#=���{ƯG-)?����ӱ�`�lx�����& \p��}���Q��m�l%���"p;���mK����������R�G�M���u8
|
1
|
+
���G�3������*'�ݣ@��-�ۼp��@��#�o��VfWO&�`�4�'ky�*a���2N
|
2
|
+
Zm6����X�]2{[<�|�NYl�]����m�6l�,oX����D�fA�{�V���6Ơe��V��a��)O֖�ۖ��y��2����0�L��7�l8�rd�<�B��B�UT������(��AZv��<��v��~���]�ᆋ��"H/�K��0'R�ׅ���Fߛ�qxR�>��u�"VU-F�����?ʭd�Gv�yҾ���-"3Y~
|
data/History.md
CHANGED
data/ext/mdbx_ext/database.c
CHANGED
@@ -465,6 +465,26 @@ rmdbx_in_transaction_p( VALUE self )
|
|
465
465
|
}
|
466
466
|
|
467
467
|
|
468
|
+
/* Inline struct for transaction arguments, passed as a void pointer. */
|
469
|
+
struct txn_open_args_s {
|
470
|
+
rmdbx_db_t *db;
|
471
|
+
int rwflag;
|
472
|
+
};
|
473
|
+
|
474
|
+
|
475
|
+
/* Opens a transaction outside of the GVL. */
|
476
|
+
void *
|
477
|
+
rmdbx_open_txn_without_gvl( void *ptr )
|
478
|
+
{
|
479
|
+
struct txn_open_args_s *txn_open_args = (struct txn_open_args_s *)ptr;
|
480
|
+
|
481
|
+
rmdbx_db_t *db = txn_open_args->db;
|
482
|
+
int rc = mdbx_txn_begin( db->env, NULL, txn_open_args->rwflag, &db->txn );
|
483
|
+
|
484
|
+
return (void *)rc;
|
485
|
+
}
|
486
|
+
|
487
|
+
|
468
488
|
/*
|
469
489
|
* Open a new database transaction. If a transaction is already
|
470
490
|
* open, this is a no-op.
|
@@ -476,7 +496,17 @@ rmdbx_open_txn( rmdbx_db_t *db, int rwflag )
|
|
476
496
|
{
|
477
497
|
if ( db->txn ) return;
|
478
498
|
|
479
|
-
|
499
|
+
struct txn_open_args_s txn_open_args;
|
500
|
+
txn_open_args.db = db;
|
501
|
+
txn_open_args.rwflag = rwflag;
|
502
|
+
|
503
|
+
void *result_ptr = rb_thread_call_without_gvl(
|
504
|
+
rmdbx_open_txn_without_gvl, (void *)&txn_open_args,
|
505
|
+
RUBY_UBF_IO, NULL
|
506
|
+
);
|
507
|
+
|
508
|
+
int rc = (int)result_ptr;
|
509
|
+
|
480
510
|
if ( rc != MDBX_SUCCESS ) {
|
481
511
|
rmdbx_close_all( db );
|
482
512
|
rb_raise( rmdbx_eDatabaseError, "mdbx_txn_begin: (%d) %s", rc, mdbx_strerror(rc) );
|
data/ext/mdbx_ext/mdbx_ext.h
CHANGED
data/lib/mdbx.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdbx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mahlon E. Smith
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
49pOzX5KHZLTS9DKeaP/xcGPz6C8MiwQdYrZarr2SHRASX1zFa79rkItO8kE6RDr
|
35
35
|
b6WDF79UvZ55ajtE00TiwqjQL/ZPEtbd
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2025-
|
37
|
+
date: 2025-04-30 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: loggability
|
metadata.gz.sig
CHANGED
Binary file
|