Leonid Yuriev
|
84323a8a4c
|
mdbx: minor workaround for LCC 1.23.19 (E2K) bug.
Change-Id: Ia575f8759b037832e268ac1e7d437ed92fa2d5e8
|
2019-12-04 17:07:32 +03:00 |
|
Leonid Yuriev
|
5cb7989e8d
|
mdbx: fix Valgrind issue (minor).
Change-Id: Ia651a29a0eac7a1279dd7cb30b3247a1f41ab37e
|
2019-12-03 15:45:24 +03:00 |
|
Leonid Yuriev
|
398b90fb1c
|
mdbx: fix Coverity warnings (minor).
Change-Id: I15c6c707cdeef55c9ce82fe7d5ed0d86224391f5
|
2019-12-03 15:16:23 +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
|
116a6a8cfe
|
mdbx: don't create steady-checkpoint for db-shrink in utterly-unsync mode without prev steady-points.
Change-Id: I1ec0d6cb9c31af0d151964d06d390ec247c2ac41
|
2019-12-02 21:08:49 +03:00 |
|
Leonid Yuriev
|
8b4be26ca1
|
mdbx: rework gc-backlog preparation.
Change-Id: I003d7995116a25c2bfdd32b663d4e605a796c17d
|
2019-12-02 21:08:49 +03:00 |
|
Leonid Yuriev
|
ed986ecbb5
|
mdbx: remove creation obsolete legacy checkpoints.
Change-Id: I2d88b5ef4853d9379188fc450e87e11b28754c75
|
2019-12-01 23:39:07 +03:00 |
|
Leonid Yuriev
|
2b5eec2295
|
mdbx: drop internal MDBX_ALLOC_KICK.
Change-Id: I819277765992c20ea4076043d5b5470f3ca4e827
|
2019-12-01 23:39:07 +03:00 |
|
Leonid Yuriev
|
90b69aaac2
|
mdbx: rework auto-sync & wipe-steady from reclaiming.
Change-Id: Id0c298ebfaabafc2e5d4031368bee5a3b6c33dab
|
2019-12-01 23:39:07 +03:00 |
|
Leonid Yuriev
|
ed9d1a1542
|
mdbx-tools: cleanup tools from deprecated API.
Change-Id: Id1c64edfa7a470ad76f0499d1f58ec482458f8d6
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
d83de5bd09
|
mdbx: deprecate some API.
Change-Id: I0770f5ec89dc0cc71381dea1d420c2a3b506ce7f
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
2f383d8de3
|
mdbx: use getmntent() for determine filesystem type.
Change-Id: I92921c5083a822c891889668e51726e2f1ce98cd
|
2019-11-30 01:29:48 +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
|
c00f484813
|
mdbx: fix nested txn.
Change-Id: Iff752d23a880ed4f5322145446be9c989b837479
|
2019-11-26 15:27:45 +03:00 |
|
Leonid Yuriev
|
acde45ff3a
|
mdbx: pre-sync range before mresize().
Change-Id: Id205394cf488b5a954ec021af7f2924a549c9a0e
|
2019-11-18 16:29:47 +03:00 |
|
Leonid Yuriev
|
4af2deb8cd
|
mdbx: drop obsolete assertion & refine related code.
Fixes https://github.com/leo-yuriev/libmdbx/issues/69
Change-Id: Iedf988e9788acb250493032bf55f5c75784652cc
|
2019-11-18 16:29:30 +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
|
d390300e60
|
mdbx: fix lck-file mode-flag while opening existent DB.
Change-Id: I3b8d446f6a620e911c0d5e325d8d912f2ca19d93
|
2019-11-18 00:02:37 +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
|
7ef61e12c0
|
mdbx: refine update_gc() for large-transaction cases.
|
2019-11-17 23:57:03 +03:00 |
|
Leonid Yuriev
|
c250500afd
|
mdbx: performs long assertion-loops only when audit enabled.
|
2019-11-17 23:57:02 +03:00 |
|
Leonid Yuriev
|
af6aa30c7c
|
mdbx: don't sync-on-close deleted files.
Change-Id: Ie9358dfd79c9c5b26777e690079b3f081f0a7158
|
2019-11-16 00:23:03 +03:00 |
|
Leonid Yuriev
|
84ae40172e
|
mdbx: refine/fix madvise(MADV_DONTDUMP).
Change-Id: I3cb56d5d704a60c17da9ae2a276587cf495ce30c
|
2019-11-16 00:23:03 +03:00 |
|
Leonid Yuriev
|
42d9e06598
|
mdbx: add MDBX_ACCEDE environment opening flag.
Change-Id: If0a08d6fce127f35ff2992988715b7dc1fdb70a9
|
2019-11-16 00:23:03 +03:00 |
|
Leonid Yuriev
|
cb8fac6f5f
|
mdbx: prohibit non-WRITEMAP modes under OpenBSD.
Temporary `workaround` for OpenBSD kernel's bug.
See https://github.com/leo-yuriev/libmdbx/issues/67
|
2019-11-14 15:12:19 +03:00 |
|
Leonid Yuriev
|
f0c6292fa3
|
mdbx: ignore ENOSYS/ENOTSUP from madvice()/posix_madvise()/posix_fadvise().
|
2019-11-13 23:50:38 +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
|
057812fe02
|
mdbx: use MAP_CONCEAL when available (compatibility).
|
2019-11-13 15:49:41 +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
|
e2ae62bdb2
|
mdbx: refine gc_update() to avoid fragmentation on rare cases.
|
2019-11-13 11:24:44 +03:00 |
|
Leonid Yuriev
|
df44539486
|
mdbx: fix unused warning for Wpedantic_format_voidptr().
Change-Id: I3ac5f83ceb8f9aa28deb56d983595fc55bfcfa93
|
2019-11-13 11:24:44 +03:00 |
|
Leonid Yuriev
|
a6bf73a817
|
mdbx: don't rollback when boot-id matches.
Change-Id: Iee4656e120bd4205f8528f1fc613cbff1ab4a859
|
2019-11-13 11:24:44 +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
|
4dfa97cda9
|
mdbx-posix: fix mdbx_lck_seize() and mdbx_lck_destroy() for rare race-case.
Change-Id: I49c1d39665e3ef1eb1422b9da02c5719be3ee3b0
|
2019-11-11 13:10:22 +03:00 |
|
Leonid Yuriev
|
6a7499c8fc
|
mdbx: refine POSIX-options detection.
|
2019-11-11 13:10:22 +03:00 |
|
Leonid Yuriev
|
51440b5542
|
mdbx: minor fix auto-readahead for buggy platforms (i.e. DragonflyBSD, NetBSD).
|
2019-11-11 13:10:22 +03:00 |
|
Leonid Yuriev
|
fc48751f8f
|
mdbx: use MAP_NOSYNC & MAP_HASSEMAPHORE if defined (compatibility).
|
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
|
647d832556
|
mdbx: initial mdbx_check_fs_rdonly() and mdbx_check_fs_local().
Change-Id: Iff48f1ad1ef54c1e51dceebce16097be030206bd
|
2019-11-08 18:40:29 +03:00 |
|
Leonid Yuriev
|
b7ed67543f
|
mdbx-windows: use CreateFileW() instead of CreateFileA().
Resolves https://github.com/leo-yuriev/libmdbx/issues/66
Change-Id: I0266a8a77460940332045c19cb561553a5047e7c
|
2019-11-08 18:39:51 +03:00 |
|
Leonid Yuriev
|
fff19d878f
|
mdbx: fix update_gc() to avoid rare MDBX_KEYEXIST.
Change-Id: I6798e587f62cd570b43b095554c5f3f6adf5198d
|
2019-11-04 12:31:54 +03:00 |
|
Leonid Yuriev
|
2cfe632296
|
mdbx: rework/fix rebalance & page merge (fix MDBX_PAGE_FULL).
Change-Id: Ice610861d76390e76685c1bfad56fb8fe3462ed2
|
2019-11-04 12:31:54 +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
|
582fdd7ed2
|
mdbx: refine mdbx_env_set_geometry().
Change-Id: Ib685de60c9109971e3ab42b13ee085a6ed50a1c5
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
e7b3a15d54
|
mdbx: fix/refine mdbx_setup_dxb() for case open existing DB with new geo-params.
Change-Id: Iebb9b19c8f81d8629c4b28ed547d27f1a139dc7f
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
3cc8e5222c
|
mdbx: undo/promote geo-changes made by child txn on abort.
Change-Id: Ieb291231909ef8e2a0205ffe1708d66b67ac5af7
|
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
|
b4729bd1d6
|
mdbx: minor refine pgno_align2os_bytes() usage.
Change-Id: I4b83792c298aaa4c3ac5f412489a31f639f6d016
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
b274c4a730
|
mdbx: fix to avoid ERROR_USER_MAPPED_FILE on Windows (minor race condition).
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
b4a5728455
|
mdbx: rework readahead management.
Change-Id: Ic1e2f3f5bd7fb2e9fd8d5820816e3d2def6ec1b3
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
9c89e7c739
|
mdbx: refine discarding of unused pages (MADV_FREE/MADV_REMOVE/MADV_DONTNEED).
Change-Id: I657eb7ef9060214d6ed3d75a2deeebc9ff3df5f5
|
2019-11-04 00:22:13 +03:00 |
|
Leonid Yuriev
|
40f31ea936
|
mdbx: add atomic_yield().
Change-Id: I0c3be400a880fd97bf1c254fd70a242982aac3f8
|
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
|
a0ec89e468
|
mdbx: fix check-for-unique for the case when more than one new database are opening (i.e. with creation of LCK-files).
Change-Id: If712e1ead2e0cdfd72a115bd442d613a8d730839
|
2019-10-25 21:05:44 +03:00 |
|
Leonid Yuriev
|
42f8154c39
|
mdbx-cmake: rename MDBX_USE_VALGRIND option.
Change-Id: I985befb6c60e8a8c8db1b5d9dd085eb4645b038b
|
2019-10-25 08:10:15 +03:00 |
|
Leonid Yuriev
|
b905dea2ee
|
mdbx: fix Coverity warning (insignificant).
Change-Id: I046b0e7d5b16f6f1b91dac4d96616dbcd7c601d2
|
2019-10-25 08:08:24 +03:00 |
|
cryptozoidberg
|
edf5ddad4f
|
mdbx: get rid of macro redefinition warnings under MSVC.
This resolves https://github.com/leo-yuriev/libmdbx/pull/63
Change-Id: Id5ca071fe3060b8d508a28fd48ae13430a7e78a8
|
2019-10-24 22:15:28 +03:00 |
|
Leonid Yuriev
|
8de8072078
|
mdbx: minor refine options and build-info.
Change-Id: Iadabd8524991c10e76c0d38e4eef10c65224906e
|
2019-10-24 22:12:14 +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
|
ed515d4642
|
mdbx: fix static library build on Windows.
|
2019-10-24 11:51:25 +03:00 |
|
Leonid Yuriev
|
411ed3e578
|
mdbx: fix Coverity warnings (minor).
Change-Id: I8636560583c11eeaa6d37ba9f7f66e1afc2232da
|
2019-10-21 11:46:17 +03:00 |
|
Leonid Yuriev
|
efa855b497
|
mdbx: drop unused dpl_mark4removal().
Change-Id: I23dcbbad8b0fc4691a755125c2e58fa9b529423b
|
2019-10-21 10:00:28 +03:00 |
|
Leonid Yuriev
|
2eab9c2957
|
mdbx: refine/optimize list-related loops.
Change-Id: I15b2305d1400819fdc1ae0ad306df70bc5f20388
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
f5d75a85b0
|
mdbx: minor refine setup_dxb() logging.
Change-Id: I985ded5fce6d829563591d9b5ddb5b172100e43d
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
081603e6bc
|
mdbx: alter update-gc for intermediate refunding of pages.
Change-Id: I551e94ed897c04af09f59a3fd96c694ef243d3a5
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
4e386be914
|
mdbx: don't hold dbi-lock during tree deletion inside mdbx_drop().
Change-Id: I29824271ba09a4443196bc1207279a257a8e26c0
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
15ce797863
|
mdbx: refine/optimize mdbx_page_alloc().
Change-Id: Iebbb8a611a82a379cf23b683bb21c9b6626ea9a5
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
36477ef408
|
mdbx: minor refine/optimize mdbx_page_new().
Change-Id: Ie1b227cbeceec8b1fc64630b8d1c12210d98dc20
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
b11d655173
|
mdbx: refine/optimize update-gc (remove anything in our spill list from parent's dirty list).
Change-Id: I945bdbc1431bac39173121210e1a08787e027b0c
|
2019-10-21 07:50:11 +03:00 |
|
Leonid Yuriev
|
781a814864
|
mdbx: refine/optimize update-gc (filter-out list of dirty-pages from loose-pages).
Change-Id: I73caa11e8a6378c307eb2e0a8199d0428dc14e05
|
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
|
7f0dd35702
|
mdbx: more checking in mdbx_dirtylist_check().
Change-Id: I4bf5b3ee03a816f34000586b760fd7b01994d3aa
|
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
|
659933d0c9
|
mdbx: rework mdbx_page_flush(), providing flush_begin & flush_end.
Change-Id: Id7366d427d204b444ab76c880ad1c0757a7de94e
|
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
|
0f3994d506
|
mdbx: fix/refine mdbx_is_dirty().
Change-Id: I70bb46b47e7c313fdfd0b130ee55b82dd75e92d2
|
2019-10-16 11:34:33 +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
|
8467552f0b
|
mdbx: fix internal audit.
Change-Id: I9b3360216bbfc1a1a6f6052aca78331b01dc80ec
|
2019-10-15 23:52:17 +03:00 |
|
Leonid Yuriev
|
5f8ecf0144
|
mdbx: fix Valgrind support.
Change-Id: I246bddb6536fa03e46d302dcdc6700007ffbe06c
|
2019-10-15 21:54:38 +03:00 |
|
Leonid Yuriev
|
a0e9c33e54
|
mdbx: rework page loosing/retirement.
Change-Id: I194bee1ba21f5bac53342924f00555620151a43d
|
2019-10-15 21:54:31 +03:00 |
|
Leonid Yuriev
|
ee77920a2e
|
mdbx: refine loose-pages refunding.
Change-Id: I7b76476e8c0ac3d35c1de53edfc943a14389d167
|
2019-10-15 21:48:09 +03:00 |
|
Leonid Yuriev
|
06193f4267
|
mdbx: refine page-number-list checking.
Change-Id: I89524075b416eb8bc63b1e0910baf3a37d6589f4
|
2019-10-14 17:28:53 +03:00 |
|
Leonid Yuriev
|
137b19aac2
|
mdbx: workaround for Apple-LLVM bug.
Change-Id: Ib1b504240d71fe20cc306b81b175bbb63737bea0
|
2019-10-12 23:05:22 +03:00 |
|
Leonid Yuriev
|
3df5f60a70
|
mdbx: include <malloc_np.h> for FreeBSD & OpenBSD.
Change-Id: I4b9c29bf63a03c281017f50bbdfe3495740804af
|
2019-10-12 22:47:27 +03:00 |
|
Leonid Yuriev
|
bb922c208c
|
mdbx: add mdbx_is_readahead_reasonable().
Change-Id: Iac090a9050d6b046b62b2c79cefbc70cc62c9144
|
2019-10-12 22:38:36 +03:00 |
|
Leonid Yuriev
|
c51a6e6d95
|
mdbx: move madvise(MADV_RANDOM) to under control of MDBX_NORDAHEAD flag.
Change-Id: Ied2473ad054797a20ec2c177106a9a7e85fab1d1
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
e04ea50c18
|
mdbx: refine madvise(MADV_REMOVE_OR_FREE_OR_DONTNEED), add 256K threshold.
Change-Id: I1fe314fa10062dca0870ec035454370bfacf20f0
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
f6ba670cd0
|
mdbx: minor fix for __gnu_linux__.
Change-Id: Ic262bf863927fe86ab0091d809388569f0d59bec
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
8921da2787
|
mdbx: fix internal comments.
Change-Id: Ica95587f74501e78259805cba4393a430af0437b
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
4560ddcd1e
|
mdbx: refine ending of read-only transactions.
Change-Id: I56d07d75e4f5f64fd34e5b780024c145eb8299ed
|
2019-10-12 11:07:21 +03:00 |
|
Leonid Yuriev
|
99e9956410
|
mdbx: make mdbx_env_set_geometry() behavior equal to LMDB (i.e. fixed size).
Change-Id: I26dfcbb03362dde6fbf4b0f59530ddbf4e2b0723
|
2019-10-11 16:54:55 +03:00 |
|
Leonid Yuriev
|
8861f1377c
|
mdbx: roundup buffer size inside env_copy2fd().
Change-Id: Iaa9d1adb934d36a28be3804683ffbaf43552d54b
|
2019-10-11 14:16:49 +03:00 |
|
Leonid Yuriev
|
4d692821cb
|
mdbx: partial workaround for ASAN false-positive (due internal bug).
Change-Id: Ib86e187e58f3efbb5e5da95219f1b6e990022b9a
|
2019-10-11 14:16:15 +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
|
ab01078cd7
|
mdbx: refine/fix SORT_IMPL macro.
Change-Id: Ifc2968ead891c97442cec85076f7824a285f84b8
|
2019-10-11 01:06:12 +03:00 |
|
Leonid Yuriev
|
a6aad9c918
|
mdbx: use malloc_usable_size() and analogues.
Change-Id: I35b3fe0f1a1c884ba2013c9a861057b38f6a2174
|
2019-10-10 22:36:53 +03:00 |
|
Leonid Yuriev
|
e519b8f315
|
mdbx: fix memleak after write-txn state rework.
Change-Id: I001d1d82c8091de1420617e98820ca7d6b69fe4a
|
2019-10-10 22:15:47 +03:00 |
|
Leonid Yuriev
|
e5caec031f
|
mdbx: fix warnings from old/obsolete clang (minor).
Change-Id: I4eaaa45bf2ebd68efb572dad04ba025e2608f968
|
2019-10-10 00:29:43 +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
|
cee1aeaf26
|
mdbx: fix comment typo.
Change-Id: I2c48e039ee0b135966a66aa2f33ba5c4897a4bc3
|
2019-10-09 13:37:24 +03:00 |
|
Leonid Yuriev
|
64016c86f6
|
mdbx: add minor assertions info mdbx_env_walk().
Change-Id: Ibeff6a52088fc858d00b6625a2754aceffb1a382
|
2019-10-09 13:36:50 +03:00 |
|
Leonid Yuriev
|
6efe0686c9
|
mdbx: fix Coverity warnings.
Change-Id: I70734c5bf7e3d1088522c0dccd88948865f8192f
|
2019-10-06 19:05:08 +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
|
8291de71cb
|
mdbx: support keys and dupsort values upto maxnode (half of a page) size.
Change-Id: I7717d55a0d6a7fdc4dc3caba8f8d3ad46a132f61
|
2019-10-05 23:36:55 +03:00 |
|
Leonid Yuriev
|
d9e1d7f23a
|
mdbx: fix assertions inside pnl_search().
Change-Id: I735e54823b64a1ca03d7132c9ccc4e443d9b25a5
|
2019-10-04 18:52:15 +03:00 |
|
Leonid Yuriev
|
aa92d6b7e7
|
mdbx: add paranoid assertions to qsort and bsearch macros.
Change-Id: I68efcf83576dd01e2f0c37ca8afb30967f5369a9
|
2019-10-04 18:52:15 +03:00 |
|
Leonid Yuriev
|
529d484884
|
mdbx: fix audit for retired-pages tracking (minor, i.e. false-negative).
Change-Id: Ied44bc18efec7178ca5cc5f3324cfc75be24125a
|
2019-10-04 18:52:15 +03:00 |
|
Leonid Yuriev
|
39d43a5b57
|
mdbx: alter mdbx_cursor_put() paths.
Change-Id: I1836f8237162ffa34ce432038131fb6171fb7104
|
2019-10-04 18:52:15 +03:00 |
|
Leonid Yuriev
|
9e92ea2372
|
mdbx: add mdbx_page_check().
Change-Id: I8350d774f841726ca967be732593e33bfa8a6230
|
2019-10-04 18:52:15 +03:00 |
|
Leonid Yuriev
|
8768641872
|
mdbx: refine/simplify MDBX_node.
Change-Id: Idb3843727a409c3ef8d1d54e226a6f578a57c32e
|
2019-10-04 15:59:03 +03:00 |
|
Leonid Yuriev
|
daddd53793
|
mdbx: refine mdbx_page_copy().
Change-Id: I73ad272b468430e7bf79462750887e75ef71bd60
|
2019-10-04 15:59:03 +03:00 |
|
Leonid Yuriev
|
bf818ddf1e
|
mdbx: fix assertion inside mdbx_txn_begin().
Change-Id: I0184c094e0f1fdc1a3ed9aede803cbfc2595ff05
|
2019-10-04 15:59:03 +03:00 |
|
Leonid Yuriev
|
315e58578d
|
mdbx: don't log empty file read error upon creation it.
Change-Id: I9cb9f9bee23817331f91ffd0847c599cf1dc0a25
|
2019-10-02 00:12:04 +03:00 |
|
Leonid Yuriev
|
4d49112a56
|
mdbx-test: refix logging.
Change-Id: I8852cca84669b4da2a994f2d5d2cec833e21f2f6
|
2019-10-02 00:12:04 +03:00 |
|
Leonid Yuriev
|
e1e2e2e935
|
mdbx: provide additional info via mdbx_env_info_ex().
Change-Id: Icfc751da73f090833800ad5429a9b296b4e34700
|
2019-10-01 17:09:57 +03:00 |
|
crypto.sowle
|
f918d89408
|
mdbx: English translation for osal.h
Change-Id: Iec7c3334f1866df243e7fcec89858ef37415a4a2
|
2019-10-01 16:27:38 +03:00 |
|
Leonid Yuriev
|
f0246463c0
|
mdbx: rework sync_timestamp.
Change-Id: I0e9ef9722735f89055814ba7eec0610ecdea8f0a
|
2019-10-01 15:01:33 +03:00 |
|
Leonid Yuriev
|
5693fad51d
|
mdbx: add mdbx_osal_monotime_to_16dot16().
Change-Id: Ia65057def67cebf67252a77665efde4223b14d10
|
2019-10-01 14:47:26 +03:00 |
|
Leonid Yuriev
|
83da954725
|
mdbx: rework env_sync() for MDBX_NOMETASYNC, add mdbx_env_sync_poll().
Change-Id: I4d212c663853b00e221d17cb8483353231497b48
|
2019-09-30 00:15:13 +03:00 |
|
Leonid Yuriev
|
91ee841fc2
|
mdbx: clarify mdbx_env_set_flags().
Change-Id: I45d9af8cbaf9710e78c93d157c70fc2d305f3100
|
2019-09-30 00:15:13 +03:00 |
|
Leonid Yuriev
|
87f8c01ac4
|
mdbx: add space argument for oom-callback.
Change-Id: I27634e02046df375fffae66de3124e8cd90cc61c
|
2019-09-30 00:15:13 +03:00 |
|
Leonid Yuriev
|
86496e4480
|
mdbx: refine retired-next-reader insode mdbx_txn_info().
Change-Id: Iba57365cc4b7f4f09a0698502bc7aafcb6e67478
|
2019-09-28 14:41:49 +03:00 |
|
Leonid Yuriev
|
dcd3c497d9
|
mdbx-windows: rename mdbx_dll_handler() to avoid confusion with callbacks.
Change-Id: I1ee9e9aa46da33f06cf935d3be059f938416efb5
|
2019-09-28 00:46:16 +03:00 |
|
Leonid Yuriev
|
e41369fbc6
|
mdbx-build: minor fix build-info & options.
Change-Id: I72020c99a081845a155d7fda2ff30b7907124760
|
2019-09-27 11:33:30 +03:00 |
|
Leonid Yuriev
|
20447c877d
|
mdbx: refine mdbx.h and API description, etc (5 of 5).
Change-Id: I851736cccb4d0271d6f351e1358cc5c4e1257bb4
|
2019-09-27 02:28:17 +03:00 |
|
Leonid Yuriev
|
1ab33333bc
|
mdbx: refine options and build-info.
Change-Id: Ib1a778dd27a0ea8b3a05484b2208e2222736b2d3
|
2019-09-25 19:03:04 +03:00 |
|
Leonid Yuriev
|
40ee895aae
|
mdbx: refine internal debug facilities.
Change-Id: I934cb8587f07c59268b16a0dd99daeb7ac440e62
|
2019-09-24 10:07:50 +03:00 |
|
Leonid Yuriev
|
a0025d84fd
|
mdbx: refine txnid-safety for 32-bit archs.
Change-Id: I21d3a50fbc7ae0c625c51e919cb214740c1e97cb
|
2019-09-23 23:04:39 +03:00 |
|
Leonid Yuriev
|
b3c2118eb4
|
mdbx: explicity types inside LCK-file, reserve ABA-solver for 32-bit archs.
Change-Id: I2d1235365709858e2deb9f195f0fe8403721c705
|
2019-09-23 23:04:39 +03:00 |
|
Leonid Yuriev
|
3549744f40
|
mdbx: incremental/combined linear+binary search for dirty-pages list.
Change-Id: I20f606a0a5d3729bfc92cb20c9db00cc1971d2ad
|
2019-09-23 14:24:01 +03:00 |
|
Leonid Yuriev
|
f3a51be7ff
|
mdbx: rewrite internal bsearch for pages-lists.
Change-Id: I77615a2146d83d4304c05c3bafb8bfc89a1a4fd0
|
2019-09-23 14:24:01 +03:00 |
|
Leonid Yuriev
|
aceab9be44
|
mdbx: replace internal qsort implementation (up to 25% faster).
Change-Id: I20cd1c7cf9d5d7dbf70f5fb1865efeecb4bc42fc
|
2019-09-23 14:24:01 +03:00 |
|
Leonid Yuriev
|
5a94d734cc
|
mdbx: auto-sorting for dirty-pages list.
Change-Id: I12f3de68c020aeacba2ac80cedf4cae6cb590c6b
|
2019-09-23 14:23:55 +03:00 |
|
Leonid Yuriev
|
83fbcb660f
|
mdbx: add mdbx_txn_info().
Change-Id: I7bef500c23899874c996694b7cc52a38366730f0
|
2019-09-21 18:15:43 +03:00 |
|
Leonid Yuriev
|
0b500798df
|
mdbx: refund loose-pages.
Change-Id: I33a5916b1a0876dde28f88658ab20a6a29fdccd7
|
2019-09-21 18:15:43 +03:00 |
|
Leo Yuriev
|
44d94a76e5
|
mdbx: maintaining retired pages sequence.
|
2019-09-21 01:36:55 +03:00 |
|