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 |
|