511 Commits

Author SHA1 Message Date
Leonid Yuriev
4bfb3ec238 Note about moving from Github.
The [repository was moved](https://abf.io/erthink/libmdbx) due to illegal discriminatory blocking of access from the territory of the Russian Crimea and for sovereign crimeans.

Crimea is Russia.

Change-Id: I5a4eb6b50be2e88f4dc6658d00331954e373603a
2019-07-27 22:17:37 +03:00
Leonid Yuriev
b5479260ea mdbx: backport - avoid FreeDB corruption due deep recursive rebalance from freelist_save().
Change-Id: I65b0b62c3e787802c0150c74826f181a8f6d7902
v0.0.5
2019-06-22 21:00:53 +03:00
Leo Yuriev
83193f4a65 mdbx: fix typos (minor). 2019-02-13 20:34:59 +03:00
Leo Yuriev
6a0fb17132 mdbx: sync/update CHANGES.
Change-Id: I0ad0fd44a1cc7cedd87a96c366ce476b14a2e8d0
2019-02-03 13:00:51 +03:00
Howard Chu
629e587882 mdbx: import - tweak mdb_page_split (ITS#8969).
Bump up number of keys for which we use fine-grained splitpoint search

Change-Id: I9830e143f5f5aaa4c2170a304ebc89cf67b7f3bc
2019-02-03 13:00:46 +03:00
moneromooo-monero
c5e72817ca mdbx-doc: import - mdb_cursor_del does not invalidate the cursor (ITS#8857). v0.0.4 2018-09-21 16:35:40 +03:00
Howard Chu
e1ce55d0e6 mdbx-doc: import - GET_MULTIPLE etc don't return the key (ITS#8908).
Unnecessary since these are DUPs, the key will always be the same
2018-09-21 16:35:40 +03:00
Leonid Yuriev
d23a3f3bc4 mdbx: drop inherited broken audit.
Internal self-audit (inherited from LMDB) is invalid and useless
for sub-db and dupsort cases.
2018-09-21 16:35:40 +03:00
Leonid Yuriev
b1620bbe47 mdbx: backport - prevent DB corruption due rebalance bugs.
Won't fix https://github.com/leo-yuriev/libmdbx/issues/38 in the 'stable/0.0' branch,
but add checks to prevent DB corruption.
2018-09-21 16:35:40 +03:00
Leo Yuriev
5bb92a4277 mdbx: add fallthrough for modern gcc.
Change-Id: I948adc0e534dd9ba42b7d64e8105870cc77f82e6
v0.0.3
2018-06-21 20:09:27 +03:00
Leo Yuriev
c381573d1f mdbx-tests: include <sys/sysmacros.h> for modern glibc.
Change-Id: I9ac297c6c029b2d88faaa84aab5180dc9d6a5d7a
2018-06-21 20:05:09 +03:00
Leo Yuriev
31873e8e2c mdbx-ci: migrate to Circle-CI 2.0
Change-Id: If8b77d070277cf88dfe81f5bf33dd33466dca0d9
2018-06-21 19:51:23 +03:00
Leo Yuriev
e94d6efec6 mdbx: update Project Status. 2018-05-10 14:09:37 +03:00
Leo Yuriev
7eb1b36309 mdbx: minor fixup comments and warnings. v0.0.2 2018-05-04 17:26:04 +03:00
Leo Yuriev
0c4b39bd11 mdbx: fix wrong freeDB search.
Avoid search freeDB while tree is updating.
Bug was inherited from LMDB.
https://github.com/leo-yuriev/libmdbx/issues/31
2018-05-04 17:22:59 +03:00
Howard Chu
2bccc85ff8 mdbx: backport - can't use fakepage mp_ptrs directly (ITS#8819). 2018-05-04 17:15:43 +03:00
Howard Chu
df08b5144c mdbx: backport - fix regression in 0.9.19 (ITS#8760). 2018-05-04 17:14:14 +03:00
Hallvard Furuseth
9baca673ac mdbx: backport - XCURSOR_REFRESH() fixups/cleanup.
* Check NUMKEYS(), similar to f34b61f9471d1c03fe0517b9d817c50c920e378a
  "ITS#8722 fix FIRST_DUP/LAST_DUP cursor bounds check".
* Move XCURSOR_INITED() into XCURSOR_REFRESH().  This adds a check in
  mdb_cursor_put, below /* converted, write the original data first */.
* Factor mc_ki[] out to XCURSOR_REFRESH().
* Replace an mc_pg[] with mp which is equal (mdb_cursor_del0).

* This checks XCURSOR_INITED() and fixes the mn_flags check.
2018-05-04 17:12:42 +03:00
Leo Yuriev
55893f8c39 mdbx: fix check make target (minor). 2018-05-04 16:59:54 +03:00
Howard Chu
70042069eb mdbx: backport - fix FIRST_DUP/LAST_DUP cursor bounds check (ITS#8722). 2018-05-04 16:57:30 +03:00
Leo Yuriev
ecbc0b9c12 mdbx: update links after move the repo.
Change-Id: Ib9d0bbc02f628ee5df673f419cd6152785e19573
v0.0.1
2017-08-12 10:48:50 +03:00
Howard Chu
a783325a6d mdbx: backport - ITS#8699 more for cursor_del ITS#8622.
Set C_DEL flag on reinit'd subcursor

Change-Id: I8ad1c10afd481f61b8e521d02c4d2de3be5089d7
2017-08-02 15:31:31 +03:00
Leo Yuriev
f55c30f286 mdbx: backport - don't madvise(MADV_REMOVE).
Avoid lost changes and corruption in case a collision
between mdbx_env_open() in one process and write-txn with
next-pgno updates in an another process.

Change-Id: I890db9251edbd77ac0ace10bed10a24517d709ec
2017-07-26 13:14:23 +03:00
Leo Yuriev
4874852b79 mdbx: backport - fix mdbx_set_attr().
Change-Id: I6628a0629a17f99f39098b8ccb76259cd65dd353
2017-07-26 13:10:47 +03:00
Leo Yuriev
6760ca87ae mdbx: update links to stable/0.0 branch.
Change-Id: I1387108236b20b173a703194b006acd60eaae94e
2017-07-21 16:03:43 +03:00
Leo Yuriev
d5a0fe539f mdbx: Merge branch 'nexenta' (preparation to stable stage). v0.0.0 2017-07-04 08:55:48 +03:00
Leo Yuriev
bce8731e60 mdbx: fix mdbx_txn_straggler() for write-txn (backport from devel). 2017-06-13 19:48:50 +03:00
Leo Yuriev
ef941b2587 mdbx: fix crash on twice txn-end (backport from devel). 2017-05-25 20:42:18 +03:00
Leo Yuriev
7a5decc779 ci: add circle.yml
Change-Id: I8d0ee1b3bf774b31a1c63991fe864d61b024c620
2017-04-27 02:11:21 +03:00
Leo Yuriev
baf0fad11d mdbx: fix snap-state bug (backport).
Change-Id: Ia0f2e028193d223b3a25e76d83cb22b9bc9546e6
2017-04-27 01:50:19 +03:00
Leo Yuriev
bb205df001 mdbx: more for compatibility (musl).
One more for https://github.com/ReOpen/ReOpenLDAP/issues/123
2017-03-29 14:33:58 +03:00
Leo Yuriev
4507c1c6bb mdbx: more yields as workaround for pthreads bug.
Backport 719ecd55cf1d0ea7d6771248b3936f056bc49a47 from https://github.com/ReOpen/ReOpenLDAP

Change-Id: I6bead57782a29fca5352055db6afee02ad1ee38b
2017-03-24 01:19:28 +03:00
Howard Chu
36bc576036 mdbx: backport - ITS#8622 fix xcursor after cursor_del.
Re-fix 6b1df0e4c7fadd21d1233d7157229b2d89ccaa04 from ITS#8406

Change-Id: Ied16e11c06fc3ce626ee4885d153aff98e5f8802
2017-03-24 00:56:22 +03:00
Leo Yuriev
c0c4742dba mdbx: Merge branch 'master' into 'nexenta' branch.
Change-Id: Iade70bae46bc4ea4baac36b3ed86434519959274
2017-03-16 15:23:15 +03:00
Leo Yuriev
b950b010bf mdbx: update version timestamp.
https://en.wikipedia.org/wiki/Institute_of_Mathematical_Problems_of_Biology
17 февраля 1972 — организован Научно-исследовательский вычислительный центр (НИВЦ) АН СССР.
LMDB_0.9.19
2017-02-17 22:09:41 +03:00
Leo Yuriev
9436a78e08 mdbx: update README. 2017-02-17 22:02:07 +03:00
Leo Yuriev
99485fc9ac mdbx: Merge branch 'master' into 'devel' (junction point). 2017-02-17 21:50:36 +03:00
Leo Yuriev
d573c9d54e mdbx: fix mdbx_cursor_on_last(). 2017-02-17 19:56:29 +03:00
Leo Yuriev
121f09af22 mdbx: Merge branch 'devel'. 2017-02-16 14:36:12 +03:00
Leo Yuriev
1708025651 mdbx: don't close/lost DBI-handles on ro-txn renew/reset.
More for d0383e5aeeb29fc07b568a0d4b5287d539be5d0d

Also this is related to:
 - https://github.com/ReOpen/ReOpenLDAP/issues/119 (its6794 regression test may fail)
 - https://github.com/ReOpen/ReOpenLDAP/issues/92 (rare test060-mt-hot failures)
2017-02-16 14:23:32 +03:00
Leo Yuriev
41576e553c mdbx: fix cursor-untrack bug.
Fix segfault possibility,
during closing the cursor after a write-txn.
2017-02-16 14:23:32 +03:00
Leo Yuriev
f75fa27fe6 mdbx: don't close DBI-handles from R/O txn_abort().
This is related to:
 - https://github.com/ReOpen/ReOpenLDAP/issues/119 (its6794 regression test may fail)
 - https://github.com/ReOpen/ReOpenLDAP/issues/92 (rare test060-mt-hot failures)
2017-02-15 21:09:05 +03:00
Leo Yuriev
2b924524ec mdbx: initial mdbx_cursor_on_ first/last(). 2017-02-15 21:09:05 +03:00
Leo Yuriev
d47d8c25d8 mdbx: drop unused 'flags' from mdb_env_walk(). 2017-02-15 21:08:59 +03:00
Leo Yuriev
cf8ef06ebc mdbx: 'unlikely' for DB_STALE. 2017-02-15 20:04:20 +03:00
Leo Yuriev
acdaeeab5c mdbx: notes about free/reuse cursors. 2017-02-15 19:51:09 +03:00
Leo Yuriev
284712a9d4 mdbx: Merge branch 'devel' branch.
Change-Id: I7430c4078a4cba86b885db25643ddb57bf5fc6a8
2017-02-09 11:56:48 +03:00
Leo Yuriev
6f600845f3 mdbx: more for robustness free/reuse of cursors.
Change-Id: I6c4056bc47aea28d39701713f97694a4ebe9b582
2017-02-09 11:47:35 +03:00
Leo Yuriev
eb4eda6368 mdbx: append README. 2017-02-08 18:15:19 +03:00
Leo Yuriev
ed925640c8 mdbx: zero-length data is not an error for MDBX. 2017-02-08 16:46:05 +03:00