Leonid Yuriev
|
a846fb0d21
|
mdbx: rename roundup_powerof2() to ceil_powerof2().
Change-Id: Ie22f10ffa6637ef74f2c705fad5fc45a8d19d22e
|
2020-04-07 03:45:11 +03:00 |
|
Leonid Yuriev
|
6009bac1ed
|
mdbx: move is_powerof2() and roundup_powerof2() into header.
|
2020-02-02 20:41:04 +03:00 |
|
Leonid Yuriev
|
db27654330
|
mdbx: rename MDBX_LAST_LMDB_ERRCODE and fix description.
Change-Id: I9a855871ae8821d0d10472c48b5467fd507c01a5
|
2020-02-02 02:46:41 +03:00 |
|
Leonid Yuriev
|
7c894f0542
|
mdbx: HNY!
Change-Id: Idbd21263408f87ac2715675c9f7ccc6c44d41c9a
|
2020-01-21 00:17:55 +03:00 |
|
Leonid Yuriev
|
8c7cdfdc79
|
mdbx: fix ASAN issues (minor).
This resolves https://github.com/leo-yuriev/libmdbx/issues/73
Change-Id: Ifb59f5ba66321bb362b81085e0f25a82a2d76d5f
|
2019-12-29 01:19:31 +03:00 |
|
Leonid Yuriev
|
ccb45730f2
|
mdbx: use page's mp_txnid for basic integrity checking.
Change-Id: I50d6f1251e4fd84e535a708e78dd24d84ec53780
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
e70a7f620e
|
mdbx: clarify field description (minor).
Change-Id: Ide20e32b4ee6784a7baf2044f52877afbd9ceff1
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
e8686a4170
|
mdbx-cmake: add MDBX_FORCE_ASSERTIONS.
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
867c537655
|
mdbx: refine sync-to-disk (lazy/dsync fds).
Change-Id: I4bad81a1a0b5ccbefdc598f58a7d683fa7d8b504
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
4eccf901ea
|
mdbx: rename MDBX_NOSYNC to MDBX_SAFE_NOSYNC for clarity.
Change-Id: I1d04600832cb7c86c578d72f3d6163ee22d134b7
|
2019-12-15 15:17:24 +03:00 |
|
Leonid Yuriev
|
bf6bbecbd0
|
mdbx: add __maybe_unused for flush_incoherent_mmap (minor).
Change-Id: If9dea7ccebcb9821bdea68281f8d3f0544e82914
|
2019-12-03 00:45:27 +03:00 |
|
Leonid Yuriev
|
ed986ecbb5
|
mdbx: remove creation obsolete legacy checkpoints.
Change-Id: I2d88b5ef4853d9379188fc450e87e11b28754c75
|
2019-12-01 23:39:07 +03:00 |
|
Leonid Yuriev
|
d80654fa07
|
mdbx: rework max key-length and limit API.
Change-Id: I3d783f69d4ea438d8a8a0505fa9163715fbdcf9c
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
f285ab59e6
|
mdbx: fix mdbx_runtime_flags for ALLOY-build.
Change-Id: I16a7e3475043066cea7733ed31b7e5d5a5824516
|
2019-11-18 11:50:21 +03:00 |
|
Leonid Yuriev
|
497aa53e28
|
mdbx: fix minor typos.
Change-Id: Ib0c62eace9c766844a3f44124b525a3c6373c620
|
2019-11-18 00:13:27 +03:00 |
|
Leonid Yuriev
|
d20b9d9ed7
|
mdbx: move boot-id from LCK to meta.
Change-Id: I7a371feb1a2c43e3606c516fe7b4c7d7a4ff6e73
|
2019-11-18 00:02:37 +03:00 |
|
Leonid Yuriev
|
c09fbc2ad2
|
mdbx: refork mdbx_flush_incoherent_mmap().
|
2019-11-13 23:50:38 +03:00 |
|
Leonid Yuriev
|
fe40af160d
|
mdbx: split-off mdbx-options into options.h .
|
2019-11-13 23:50:38 +03:00 |
|
Leonid Yuriev
|
b95fb5b124
|
mdbx: add auxiliary debug-begin/debug-end includes.
Change-Id: I9fad95e7e73a581c49388da31895aed94a3abbe4
|
2019-11-13 15:47:38 +03:00 |
|
Leonid Yuriev
|
ac75fe2604
|
mdbx: move platform-related options into osal.h
Change-Id: I4bdbc5f89fc468f0068f97cc30f911eb0ab151d3
|
2019-11-13 11:31:22 +03:00 |
|
Leonid Yuriev
|
0dc544fefd
|
mdbx: use SysV semaphores on systems without shared mutexes.
Change-Id: Ib2ad9ed137ab76999a2a8e832f9f77ff1a0788ca
|
2019-11-13 11:31:22 +03:00 |
|
Leonid Yuriev
|
2f45c37320
|
mdbx-posix: refine locking build-options.
Change-Id: I09c0dd453dd39e0105176ad8d9e414e2582849fb
|
2019-11-13 11:31:22 +03:00 |
|
Leonid Yuriev
|
5af02290e6
|
mdbx: portability fixes for SunOS/Solaris/OpenIndiana.
Change-Id: I0442367e798903598d706c65b536a127ca982fce
|
2019-11-11 15:13:56 +03:00 |
|
Leonid Yuriev
|
6a7499c8fc
|
mdbx: refine POSIX-options detection.
|
2019-11-11 13:10:22 +03:00 |
|
Leonid Yuriev
|
3e7944f732
|
mdbx: use POSIX.1 IPC semaphores on systems without shared mutexes.
Change-Id: I5e398257e65c355d1028167f2719232fc55d093a
|
2019-11-11 13:08:19 +03:00 |
|
Leonid Yuriev
|
cf884f082f
|
mdbx: initial osal_bootid().
Change-Id: I103f61714a1d2e58d4f508b7d814a56f5b58573c
|
2019-11-04 12:31:51 +03:00 |
|
Leonid Yuriev
|
55395820e3
|
mdbx: set MDBX_MIN_PAGESIZE to 256 (useful for testing).
Change-Id: Ie7f0b68ef7b21bb2f02267752555e2d0e853fcbe
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
415cb5f886
|
mdbx: refactor me_dbgeo usage and osal-mmap/mresize().
Change-Id: I1f29c953abcbd4f2bab7ba52e7dd9da85ea48354
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
3ee269ddb6
|
mdbx: support for txnid of the last modification for sub-dbs/kv-spaces.
Change-Id: Ifb6684df57608cda88aa9134b275f442358ff46d
|
2019-11-04 00:22:09 +03:00 |
|
Leonid Yuriev
|
84bff89eb1
|
mdbx: conform to and use -Wpedantic .
Change-Id: I3056af7ae53c5a7c3ecbfe828ab1d5ee94c2bc26
|
2019-10-26 00:02:28 +03:00 |
|
Leonid Yuriev
|
c694325ab7
|
mdbx: fix minor warnings.
Change-Id: Iaa614a7d4325d3de6d863c20020c62954da7a1bf
|
2019-10-25 23:09:23 +03:00 |
|
Leonid Yuriev
|
81fd0beb1a
|
mdbx: rework/fix unaligned access.
Change-Id: Ib0208e78786ac84551384ed57ac580fe0717840e
|
2019-10-24 22:12:14 +03:00 |
|
Leonid Yuriev
|
b7d27c1b36
|
mdbx: rework internals for using C99 flexible array member (preparation for -fsanitize=undefined).
Change-Id: I0d1836d6108ef379c43231720ef703ff69fc426d
|
2019-10-24 22:12:14 +03:00 |
|
Leonid Yuriev
|
83a0c31b35
|
mdbx: converts macros to inline functions, rework page_fill_enough() and thresholds.
Change-Id: I18ff12bdcafac37cc73b6228788ce5bbc752773f
|
2019-10-24 22:12:14 +03:00 |
|
Leonid Yuriev
|
15ce797863
|
mdbx: refine/optimize mdbx_page_alloc().
Change-Id: Iebbb8a611a82a379cf23b683bb21c9b6626ea9a5
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
363841caf8
|
mdbx: rework/optimize pages refunding.
Change-Id: I9315ea9187eaff4572536ab9c895fb6995eebd94
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
5c54566c5c
|
mdbx: rework/fix retire-to-parent-txn pages (fix LMDB bug).
Change-Id: I81c3d48f19b4c7e62d77cfecc167235374f66402
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
6a01955810
|
mdbx: rework atomic-ops & safe64_reset_compare() to avoid use libatomic on true-32-bit arches.
Change-Id: I27aa8dc9505a469e35a7fe06660e9944e4c1974c
|
2019-10-19 00:16:48 +03:00 |
|
Leonid Yuriev
|
a907109cce
|
mdbx: fix MDBX_node for big-endian.
Change-Id: I436fc01e379908df07bcb829f0d9cf6999c8c133
|
2019-10-16 14:22:38 +03:00 |
|
Leonid Yuriev
|
b84bb4f805
|
mdbx: add MDBX_TXNID_STEP macro for debugging.
Change-Id: I4768c8b39f3317ec3a5da8627d736f2f28bf0d51
|
2019-10-15 23:53:00 +03:00 |
|
Leonid Yuriev
|
a0e9c33e54
|
mdbx: rework page loosing/retirement.
Change-Id: I194bee1ba21f5bac53342924f00555620151a43d
|
2019-10-15 21:54:31 +03:00 |
|
Leonid Yuriev
|
06193f4267
|
mdbx: refine page-number-list checking.
Change-Id: I89524075b416eb8bc63b1e0910baf3a37d6589f4
|
2019-10-14 17:28:53 +03:00 |
|
Leonid Yuriev
|
8921da2787
|
mdbx: fix internal comments.
Change-Id: Ica95587f74501e78259805cba4393a430af0437b
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
3c4d87520e
|
mdbx: drop NEXT_LOOSE_PAGE macro.
Change-Id: Icee989a7bcd89a5fcd2664c6a9a99cdc546cc8f1
|
2019-10-11 01:06:26 +03:00 |
|
Leonid Yuriev
|
39c1238d8e
|
mdbx: refine Valgrind support (i.e. avoid false-positives).
Change-Id: I688b2e905d0b705c34ab29df29bfd0a9bcdde8c9
|
2019-10-11 01:06:26 +03:00 |
|
Leonid Yuriev
|
273af26244
|
mdbx: rework nested transactions and write-transaction state.
This resolves https://github.com/leo-yuriev/libmdbx/issues/62
Change-Id: Icbd762ca69ab1ccf8c3440c71931d2ac14599a1b
|
2019-10-09 23:27:01 +03:00 |
|
Leonid Yuriev
|
1c9c637701
|
mdbx: refine internal audit for intermediate state checking.
Change-Id: Iba2b7e5b8df09374c9bf941cc5efa1ed6e826288
|
2019-10-09 13:37:46 +03:00 |
|
Leonid Yuriev
|
7d621f6f0a
|
mdbx: auto-define _GNU_SOURCE under control of MDBX_DISABLE_GNU_SOURCE.
Change-Id: I314d88b86517e3c44ad35fe02d3a27cb987c6d60
|
2019-10-06 18:45:52 +03:00 |
|
Leonid Yuriev
|
440bfec193
|
mdbx: allow 256-byte pages.
Change-Id: I697de67683fb040ea0e360515a5a0839d97e9aa6
|
2019-10-05 23:36:55 +03:00 |
|
Leonid Yuriev
|
8768641872
|
mdbx: refine/simplify MDBX_node.
Change-Id: Idb3843727a409c3ef8d1d54e226a6f578a57c32e
|
2019-10-04 15:59:03 +03:00 |
|