Leonid Yuriev
|
53d5cb0151
|
mdbx: rework MADV_DONTNEED threshold.
Change-Id: I99058b96e9c54c56d37c6c963b01cf18458d37ba
|
2019-12-24 18:16:04 +03:00 |
|
Leonid Yuriev
|
f2fd2280e4
|
mdbx: more for QEMU cross-testing.
Change-Id: Iad5e7f977c744b2edf1987d38523ba0e1f6e46ab
|
2019-12-23 00:02:54 +03:00 |
|
Leonid Yuriev
|
2acaaeb2ff
|
mdbx-chk: fix - don't check some numbers if btree-walking was disabled.
Change-Id: I3e1abb7fa7720ecb3fc22e6b4a9b1b56494fb8a0
|
2019-12-22 14:01:50 +03:00 |
|
Leonid Yuriev
|
a5fb5887f9
|
mdbx: minor refine/fix lock-related erro logging.
Change-Id: Id507819b6b2b0c1a57ec71bd031c5068cb2098e1
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
e3d328621e
|
mdbx-posix: checking for file removal during LCK-seizing.
Change-Id: I7626ceda62fc4dac86323bec4194ae46bc19d9d3
|
2019-12-21 23:33:12 +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
|
d11bfef36b
|
mdbx: aligned page-buffer.
Change-Id: Id469c353c47a5a486747bf2c21ee8c003cd2d103
|
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
|
7abd625c05
|
mdbx-tools: print warning about Windows system limitation.
Change-Id: I8a7765bfe604dc2a4016d3e27622d41f93f06b04
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
c79879f290
|
mdbx-tools: update mdbx_stat captions.
Change-Id: Ic78f7e5bec97a67e8dc3ce21847dcaa1f66a45f9
|
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
|
78e146692a
|
mdbx: alter rule for wipe of steady-point.
Change-Id: Idac7ffd5e89d282aebcbe7382e20a960d5b39f25
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
cddf9ca8a2
|
mdbx: toggle of readers-refresh after wipe steady-point.
Change-Id: I43985fb667b727a8b41dcd5c33e6012160dee16e
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
c554b5c45d
|
mdbx: move toggle of readers-refresh to sync_locked().
Change-Id: I99adf32fb39d600a37c4b25f7e8ea49e5bac6cf0
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
0350fc41f8
|
mdbx: clean copy for undo meta.
Change-Id: I2abc1d701dc52caa268210489aa27803fd7a2c3b
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
edbdb682d5
|
mdbx: refine page_flush().
Change-Id: I8270226e4eae721404dbb56d5d591bceaa4613b9
|
2019-12-21 23:33:12 +03:00 |
|
Leonid Yuriev
|
7f9502fbfe
|
mdbx: rename txn_dbi_exists().
Change-Id: I3a18d73cb49cfa814f1400743ed889d9c3e979ce
|
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
|
2db5736554
|
mdbx: purpose-oriented openfile().
Change-Id: I657689dab538af9a27c27f58eeb4e5ca43bdbc38
|
2019-12-20 03:20:26 +03:00 |
|
Leonid Yuriev
|
13d68a1200
|
mdbx: rework & clarify backlog for gc-update.
Change-Id: I31f2b6919810b894e69af34bfee9a5b7f5a513fc
|
2019-12-19 01:09:54 +03:00 |
|
Leonid Yuriev
|
b6a00a881e
|
mdbx: refine page_get().
Change-Id: I7399782f891d3c6baebedb918f8beffc509e66df
|
2019-12-18 03:06:07 +03:00 |
|
Leonid Yuriev
|
996b0fa8d3
|
mdbx: add/remove __hot attribute for internals.
Change-Id: Ia2aa7b81cb3f7342aece720b3cf0bd04f6d8ca64
|
2019-12-18 03:04:50 +03:00 |
|
Leonid Yuriev
|
83a11c1645
|
mdbx: more __restrict for pointers.
Change-Id: Ic58bf084f0e80f16aa695cddf3dd2c5627f8a836
|
2019-12-18 03:03:38 +03:00 |
|
Leonid Yuriev
|
66ca7a519e
|
mdbx: rework MDBX_DBG_DUMP to avoid performance degradation.
Change-Id: I556ae61e03fdf7d6798072bbc2583ae5d01cbf9f
|
2019-12-17 18:02:13 +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
|
a77921dc67
|
mdbx: more __always_inline as workaround for wrong non-inlining of functions.
Change-Id: Id4f44de7a883f2d5fbc00e4c3ed915a8c4f07bfe
|
2019-12-15 00:57:03 +03:00 |
|
Leonid Yuriev
|
61d2e07cf0
|
mdbx: fix minor typo.
Change-Id: Id82209bfeeb6b6ade00e8aaecc0b9ce4b817e832
|
2019-12-14 00:57:45 +03:00 |
|
Leonid Yuriev
|
76099d951c
|
mdbx-windows: interpret ERROR_ACCESS_DENIED from OpenProcess() as 'process exists'.
Change-Id: I22e3e3d3d72531e76848793f1e3522d0c1767618
|
2019-12-13 16:17:31 +03:00 |
|
Leonid Yuriev
|
bf6d09a878
|
mdbx-windows: use manual-reset events to avoid non-atomic races.
Change-Id: I93b9f114c7c1a205dba18dcc363cf4ba8a27d7e0
|
2019-12-09 10:59:57 +03:00 |
|
Leonid Yuriev
|
041188c5e2
|
mdbx-windows: don't use FILE_FLAG_NO_BUFFERING for compatibility with small DB-pages.
Change-Id: Ib8e51ef0ae713455c52e08447f06baede080f368
|
2019-12-09 10:55:14 +03:00 |
|
Leonid Yuriev
|
60f4134841
|
mdbx: disable by-default workaround for obsolete E2K bug.
Change-Id: I9d6aaf0154e3c9f03dab7948575f4792a13dc988
|
2019-12-08 14:56:56 +03:00 |
|
Leonid Yuriev
|
f22c127c44
|
mdbx-tools: reformat (cosmetic).
Change-Id: I077a266e0a646f3283453d429bff87545839fada
|
2019-12-07 03:08:03 +03:00 |
|
Leonid Yuriev
|
8fed86b368
|
mdbx: avoid use MREMAP_MAYMOVE for simplification, add TODO.
Change-Id: I6991a411fcced941ef76d58ece608e34e4cdb355
|
2019-12-07 03:06:00 +03:00 |
|
Leonid Yuriev
|
3dccbb25a7
|
mdbx: minor refine man-files.
|
2019-12-05 01:43:57 +03:00 |
|
Leonid Yuriev
|
ab5f3bc444
|
mdbx: remove extra MDBX_SYNC_IODQ.
|
2019-12-05 00:23:56 +03:00 |
|
Leonid Yuriev
|
a659a7a619
|
mdbx-cmake: fix/refine options.
|
2019-12-04 23:44:16 +03:00 |
|
Leo Yuriev
|
df4057db6f
|
mdbx-cmake: refine installation.
Change-Id: I085aba06b957eb1a0e9ce24791bcb5bcc496a609
|
2019-12-04 22:09:57 +03:00 |
|
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
|
d1e2749337
|
mdbx-cmake: add installation.
Change-Id: Ie2f67e51ddaf9444b3c0a817cd5f8e7e37ec8d0e
|
2019-12-03 03:23:39 +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
|
2cfe7758cd
|
mdbx-tools: refine built-in help/usage.
Change-Id: Ia06666f48f50e088c796c85e263885ca7181c6a0
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
7d74aa6ae8
|
mdbx-load: add -r (rescue) and -q (quiet) options.
Change-Id: I6dd8003a6f1c8b3fe7a25ce1f6cac3735a2c9734
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
e25daab399
|
mdbx-dump: add -r (rescue) and -q (quiet) options.
Change-Id: I35b32a61fbf301651099009d818722b3b893a039
|
2019-11-30 01:29:48 +03:00 |
|
Leonid Yuriev
|
01ae72a570
|
mdbx-dump: fix output (don't print version caption to stdout).
Change-Id: Id9986a79c0bceb3637c3aee4b669adab6a68dc2f
|
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
|
4e4a56eda2
|
mdbx-tools: fix mdbx_chk for new limits API.
Change-Id: I67f077296a477ea258b0b0d9e02319f2134a8a74
|
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
|
9bd88d80d0
|
mdbx-chk: refine user-break (ctrl+c) handling.
Change-Id: I5b1a71a2945990091c0f472d5e2256ace8dc2065
|
2019-11-28 12:37:42 +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
|
72c944974a
|
mdbx-tools: refine mdbx_chk (use boot-id, explicitly notify about sync-to-disk).
Change-Id: I520df734d9b806bc94b53f0817b71cd8223a7a62
|
2019-11-18 00:09:47 +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
|
baee0be7ad
|
mdbx-tools: minor refine mdbx_chk (use const strings).
Change-Id: I402c8d97cfa860f21b97bd20b6d6feb190af654e
|
2019-11-17 23:57:02 +03:00 |
|
Leonid Yuriev
|
7703312b88
|
mdbx-tools: fix mdbx_chk to avoid creation of missing DB.
Change-Id: Ieaeee75c1c8f8b1e426817df86ef1769e691e504
|
2019-11-16 00:23:03 +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
|
a7e0b3ccdf
|
mdbx-build: SunOS/Solaris/OpenIndiana support, etc.
|
2019-11-11 15:14:03 +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 |
|