Commit Graph

1553 Commits

Author SHA1 Message Date
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
f5bd9b863c mdbx-ci: update travis-ci config.
Change-Id: I096d9ab1bb83413147c4b22f616e07d93541863c
2019-09-21 18:15:43 +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
Leo Yuriev
c80a5cabd6 mdbx: internal rename befree to retired.
Change-Id: Ic72449fe242df0f0f88b671e56570e00b5e6202f
2019-09-20 20:44:35 +03:00
Leo Yuriev
8423a0a8bd mdbx: txnid-safety for non-64-bit and/or not-atomic platforms. 2019-09-20 20:23:25 +03:00
Leo Yuriev
da9dc75fbc mdbx-cmake: build-config MinSizeRel by default. 2019-09-19 17:01:28 +03:00
Leo Yuriev
b20363d187 mdbx-cmake: avoid cmake warnings in amalgamated build. 2019-09-19 17:01:28 +03:00
Leonid Yuriev
9b9baddd0b mdbx-build: fix wingetopt.c amalgamation.
Change-Id: I1527dace166e708847ead7cea1087600aa055210
2019-09-19 14:04:10 +03:00
Leonid Yuriev
d15a6b935c mdbx: avoid "unused static function" warnings.
Change-Id: I438a9fa3fa099ad96bca5c1af1f528da4a01ddff
2019-09-19 14:04:10 +03:00
Leonid Yuriev
90a3ed992e mdbx-cmake: provide MDBX_BUILD_SHARED_LIBRARY option for dist-cmake.
Change-Id: Ic8ef72ff70c24f844c9275788f9ba847ffef36eb
2019-09-19 03:34:49 +03:00
Leonid Yuriev
ab456bf376 mdbx-cmake: fix MDBX_BUILD_FLAGS list-case.
Change-Id: I4c2ce187e31ba3f7b225049b1c96a81fbfd9dead
2019-09-19 03:31:48 +03:00
Leonid Yuriev
7c39c16829 mdbx-tools: rework mdbx_reader_list() & mdbx_stat.
Change-Id: I0524cad93ca439e74eba9486cbcbeacf4253dd84
2019-09-19 01:21:35 +03:00
Leonid Yuriev
2f2df1ee76 mdbx: implement MDBX_TXN_CHECKOWNER option.
Change-Id: Ia283dc9c4d984de1e74915481118f7f4fb5ba5c8
2019-09-18 22:34:05 +03:00
Leonid Yuriev
8fa718c5f9 mdbx: refine mdbx.h and API description, etc (4 of 5).
Change-Id: I36955c54f55facfb31b403f12fe6fd16c789e167
2019-09-18 04:00:57 +03:00
Leonid Yuriev
89db804c1a mdbx: refine geo-params management inside txn.
Change-Id: I70acfe4542ea3f8d878bdb7bfba422233dcce8ef
2019-09-17 23:53:38 +03:00
Leonid Yuriev
d1327b016d mdbx: refine PID checking mdbx_env_close_ex() for closing-after-fork.
Change-Id: I5669b3477ef2e5fc30d6211668a01d3ac78ee163
2019-09-17 01:04:25 +03:00
Leonid Yuriev
86f2710c2e mdbx: return MDBX_RESULT_TRUE/FALSE from mdbx_env_sync_ex().
Change-Id: Ia39051ef137df7892181d936e1139ab2a7c94ab4
2019-09-16 22:30:58 +03:00
Leonid Yuriev
e03addc8f9 mdbx: ensure to sync meta-mages in env_sync_ex().
Change-Id: I540c8353d47acc2e46d6c3a26cfe3e4f6d9249bf
2019-09-16 21:54:43 +03:00
Leonid Yuriev
78da9e52c4 mdbx: return consistency info from mdbx_env_stat().
Change-Id: Ia53259a8590118adf01b03a6eb7835c62376ad1f
2019-09-16 20:55:45 +03:00
Leonid Yuriev
0d4092f4ea mdbx: add to env_copy() support for pipe/socket.
Change-Id: Ib2fc0249b494b885f28265f877de9953f089b403
2019-09-16 19:24:36 +03:00
Leonid Yuriev
b19e180fab mdbx: refine mdbx.h and API description, etc (3 of 5).
Change-Id: I05890bdf2e29c6c5a4b1f861f5bfda920e970126
2019-09-16 02:25:06 +03:00
Leonid Yuriev
4022110955 mdbx: reset returning-by-pointer result on error.
Change-Id: I5e0aa1eae343dc9acc36a95e4f7e11104efc83ce
2019-09-15 22:10:39 +03:00
Leonid Yuriev
5f22a5568d mdbx: allow MDBX_MAPASYNC for particular txn.
Change-Id: I0ed1a7567a3f7bfbae2bfa6995ad8f6c327d91a9
2019-09-15 22:10:15 +03:00
Leonid Yuriev
1402a511a4 mdbx: drop dup-defines MDBX_TXN_NOMETASYNC, MDBX_TXN_NOSYNC, MDBX_TXN_RDONLY. etc.
Change-Id: I7edef9477e15cb6c2291fe82c1b014ff81d2383a
2019-09-15 18:19:46 +03:00
Leonid Yuriev
70929d45fb mdbx: refine mdbx.h for API description, etc (2 of 5).
Change-Id: I280ddbc619304c2a0367e25c8ca85eac5cd73d94
2019-09-13 04:26:35 +03:00
Leonid Yuriev
4bcc1eef09 mdbx: disallow multi-opening without MDBX_DBG_LEGACY_MULTIOPEN.
Change-Id: I0e11d686954bd8c89dac9a46b4c5e17bc0dd6419
2019-09-12 21:41:57 +03:00
Leonid Yuriev
c8928675c6 mdbx: automatically create database directory.
Change-Id: Ic1d4c9ce6f29924f5c112afc3065f08584307d39
2019-09-12 14:56:07 +03:00
Leonid Yuriev
1d08f9e673 mdbx: refine mdbx.h and error strings (1 of 5).
Change-Id: Iaa6c4afeb9268d916ef1e8e23fdf12b7f603869f
2019-09-12 14:18:10 +03:00
Leonid Yuriev
eb4159ac88 mdbx-posix: support to close environment after fork() from a child process.
Change-Id: I20ab9cf4525bfcacd10043e2afe7e1aa26a2af6c
2019-09-12 01:19:23 +03:00
Leonid Yuriev
4b979826ec mdbx: fix update_gc() to avoid leaking values from uninit malloc'ed mem.
Change-Id: I5b98fc9f5d26ffdfe90af81d9fdd07f49c1e85c9
2019-09-12 00:09:25 +03:00
Leonid Yuriev
712bad5935 mdbx-cmake: avoid '-NOTFOUND' inside MDBX_BUILD_FLAGS.
Change-Id: Ia8974d0ffa092a5ffbfe553af49926c3532c88a3
2019-09-11 22:04:28 +03:00
Leonid Yuriev
8231aa5b47 mdbx-posix: avoid Coverity warnings (don't try to recover mutex if unlock failed).
Change-Id: Iaa5b567c810b7e3fd6f5003111e41b752d83b8bb
2019-09-11 21:47:31 +03:00
Leonid Yuriev
7d9d3528c5 mdbx-cmake: fix definitions prefix. 2019-09-11 21:32:25 +03:00
Leonid Yuriev
4ea1d2f8d2 mdbx: accept MDBX_EACCESS and MDBX_EPERM for without-LCK read-only mode.
Change-Id: I024243184c06ddf86bcc62d6e4b1b951d21789d5
2019-09-11 20:40:06 +03:00
Leonid Yuriev
6fc3b89f79 mdbx: add reader_check_timestamp info LCK.
Change-Id: I2f53b5996def8ff1d87a011fc662b94e2be3c467
2019-09-11 19:13:24 +03:00
Leonid Yuriev
0d8b59fa3b mdbx: check readers while opening.
Change-Id: Ieefc78d0d3922e3f98efa557f8e67aada68c4841
2019-09-11 18:58:51 +03:00
Leonid Yuriev
8f08e1c7ed mdbx: fix cross-build & qemu-testing issues.
Change-Id: I6b2343cc4e08c3cb706a190c4c515965182733a2
2019-09-11 18:58:51 +03:00
Leonid Yuriev
228a74c41d mdbx-chk: refine/fix for MAX_DBI case.
Change-Id: Ie0deb701bcb35634951c8080d57294682937b5b7
2019-09-11 18:58:51 +03:00
Leonid Yuriev
d461ec1094 mdbx-ci: fix/refine Coverity build, show log file.
Change-Id: I248645b533ba334f9d4018b8487bdd62413be86e
2019-09-11 12:15:35 +03:00
Leonid Yuriev
17ba1f4d22 mdbx-cmake: fix/refine RPATH for tools.
Change-Id: Id97db43475b757f74eb5a5532390e0e65d610df0
2019-09-11 02:09:21 +03:00
Leonid Yuriev
5cfcc0e3c1 mdbx-cmake: add template for build amalgamated source code.
Change-Id: Ie0908ab62460eb51f2f050fcce915fe4e64f61ca
2019-09-11 02:09:21 +03:00
Leonid Yuriev
5e9e417cf6 mdbx-install: refine cmake-install, install man-pages. 2019-09-11 00:56:07 +03:00
Leonid Yuriev
acc6969594 mdbx-tools: minor refine mdbx_chk.
Change-Id: I71db479944a305f03019d985b91a39cd51ba9981
2019-09-10 19:28:07 +03:00