984 Commits

Author SHA1 Message Date
Leo Yuriev
b8b3ba8e91 mdbx: provide configurable ascending/descending sort-order for pgno-lists.
Change-Id: I3134c100880ff28bb0aaf46ed91affc9f6347110
2017-07-27 16:57:52 +03:00
Leo Yuriev
552b759878 mdbx: refine pgno-lists.
Change-Id: Id38e4aff508437210d4c0e63962067dfe518eb31
2017-07-27 16:53:42 +03:00
Leo Yuriev
592c064873 mdbx: refine freelist_save() to simplify loose-pages handling (preparation for pages refunding).
Change-Id: I1f15487383fbfb6770e1f7128a2d8349a1cfdf25
2017-07-27 16:53:01 +03:00
Leo Yuriev
7ed97d50b1 mdbx: guard put-data inside freelist_save() by C_RECLAIMING (paranoia).
Change-Id: I9cb6bf27717f76dc97259d48e4253a30c2345afd
2017-07-27 16:52:59 +03:00
Howard Chu
7626bcfdde mdbx: backport - ITS#8699 more for cursor_del ITS#8622.
Set C_DEL flag on reinit'd subcursor

Change-Id: I8ad1c10afd481f61b8e521d02c4d2de3be5089d7
2017-07-27 04:45:03 +03:00
Leo Yuriev
4eada0f2b6 mdbx: Merge branch 'devel'. 2017-07-26 19:44:14 +03:00
Leo Yuriev
d634336e1f mdbx-test: fix snprintf/vsnprintf redefinition for MSVC.
Change-Id: I4be3a4f71782d395035ff4d5b9e3a1af9ee70bb9
2017-07-26 19:43:22 +03:00
Leonid Yuriev
092156ee4f mdbx: fix/redefine ssize_t, PRI*PTR nad PRI*size macros for MSVC.
Change-Id: I6cb565087350cf1d1e1735bff1c5480c3d4c02db
2017-07-26 19:17:11 +03:00
Leo Yuriev
336bef7e51 mdbx: make internal 'atomics' compatible with C++.
Change-Id: I1381f477e977edf4bf56871a2e34af1b302867a0
2017-07-26 17:38:06 +03:00
Leo Yuriev
fb9d7a4471 mdbx: refine freelist_list() to avoid coverity warnings.
Change-Id: I38eee44e4ca926e7d11ef5e3f7f3ce2e92f71259
2017-07-26 17:36:32 +03:00
Leonid Yuriev
a78edd314e mdbx: more fix MSVC '/Wall' warnings.
Change-Id: I359a3056d6bb5db762fe6b6b8a89e8ed066f8a87
2017-07-26 16:02:49 +03:00
Leonid Yuriev
006f531757 mdbx: turn /Wall for MSVC.
Change-Id: Idc264a9fe40a2af8629d96121fb91cba94e7147f
2017-07-26 16:02:19 +03:00
Leo Yuriev
8be2e1b514 mdbx: Merge branch 'devel'. 2017-07-26 15:12:51 +03:00
Leo Yuriev
8ca23d8735 mdbx: add missing <signal.h>
Change-Id: I3f2d0587db84598a0157aae50cdff3361935f2b3
2017-07-26 15:11:25 +03:00
Leo Yuriev
1bd57f089c libmdbx-make: oops, remote utf-bom for old make.
Change-Id: I011b96090ba55013f13319ef2e213a5418627030
2017-07-26 12:54:01 +03:00
Leo Yuriev
88ca23caa5 mdbx: misc refines (minor).
Change-Id: Ia58e2d75e320bbd47dd352e082cf6f41afde075f
2017-07-26 12:43:54 +03:00
Leo Yuriev
1b09605a06 mdbx: clarify mdbx_filesync().
Change-Id: I39029a52fd44c81901aff6114a5c58a62b92098b
2017-07-26 12:43:54 +03:00
Leo Yuriev
1f7f3af16c mdbx: minor refine mdbx_mmap().
Change-Id: Ic5026b6412ca93a00faeb8306975d896d85b475d
2017-07-26 12:43:54 +03:00
Leo Yuriev
f57931f614 mdbx: apply only substantial geo-changes and pre-shink while opening database.
Change-Id: If62ac64cc820ed0201cecf4b89ea3096029abb0a
2017-07-26 12:43:54 +03:00
Leo Yuriev
1dab822324 mdbx: growth/shrink datafile with alignment.
Change-Id: I46deb885654d2bb1d164009159c9364567ab88a9
2017-07-26 12:43:52 +03:00
Leo Yuriev
4f06a38a50 mdbx: use saturated pgno_add() to avoid overflows.
Change-Id: I70000a86a69c9b3399d0a2c345d57ca1908f2881
2017-07-26 12:41:52 +03:00
Leo Yuriev
a9927e7214 mdbx: refine page_alloc().
Change-Id: I9932847ef244132df9d909b41a1760a3e89288ac
2017-07-26 12:30:50 +03:00
Leo Yuriev
8652d54b44 mdbx-makefile: add overrideable TESTLOG.
Change-Id: I168109be3a2534fe85c606051cd76f29c3087c25
2017-07-26 12:29:23 +03:00
Leo Yuriev
3d53f2ff2a mdbx: refine mdbx_reclaiming_detent() for MDBX_UTTERLY_NOSYNC.
Change-Id: I7847f2b375f3792927a55c90bb26d3220e71b576
2017-07-26 12:28:27 +03:00
Leo Yuriev
94af9e02b0 mdbx: fix mdbx_env_close_ex() for MDBX_RDONLY.
Change-Id: I5ff79a93e026d4b40412294956dd222081a1b821
2017-07-26 12:27:34 +03:00
Leo Yuriev
ab8fa36033 mdbx: refine mdbx_meta_ot() and dependents.
Change-Id: I449d501f0c3710fdb906e01931e10300ab3b7c9d
2017-07-26 12:26:02 +03:00
Leo Yuriev
0b07749fba mdbx: major fix - madvise(MADV_REMOVE) only for exclusive mode.
Change-Id: I6799df7b85eaf32a1c46f251ca64a4df4ff092b2
2017-07-26 12:09:57 +03:00
Leo Yuriev
a3ee20e4f6 mdbx: more NUM_METAS inside mdbx_chk and mdbx_stat.
Change-Id: I93f4fddcff6b038c5a5143e52c7db233e77ec30b
2017-07-26 12:09:57 +03:00
Leo Yuriev
9e473ab6f2 mdbx: remove obsolete mlock().
Change-Id: I23df282d545eac9dd7bf9df1bd71dedbccc45cfd
2017-07-26 12:09:57 +03:00
Leo Yuriev
4fa4129add mdbx: cleanup freelist_save().
Change-Id: I552e6d7edac61e66b8954f6b58485d6b07194ab5
2017-07-26 12:09:57 +03:00
Leo Yuriev
1babb0a4f7 mdbx: don't put loose pages into befree in lifo mode.
Change-Id: Ibb409e3447e42f1b9f38ed0a33ecb7715fa54d31
2017-07-26 12:09:57 +03:00
Leo Yuriev
ad48fd54fb mdbx: minor refine freelist_save().
Change-Id: Ifed9b8d363d45d24c44c1b0a803dad34aada96d3
2017-07-26 12:09:57 +03:00
Leo Yuriev
3ba5bebec4 mdbx: refine mdbx_txl_alloc().
Change-Id: I624a92c8a845ab563f13619b3638227d012a780b
2017-07-26 12:09:57 +03:00
Leo Yuriev
3a53d34ce5 mdbx: Merge branch 'devel'. 2017-07-23 21:34:29 +03:00
Leo Yuriev
d5a8bcebbf mdbx: preserve current meta-extra fields/flags.
Change-Id: Id458a85178839bd196435891633c4dd1f3a51d45
2017-07-23 21:33:17 +03:00
Leo Yuriev
58f7674fa5 mdbx: fix mdbx_set_attr().
Change-Id: I6628a0629a17f99f39098b8ccb76259cd65dd353
2017-07-23 21:07:08 +03:00
Leo Yuriev
b4e0344de7 mdbx: check for oldest-aware corruption by writer in txn_renew().
Change-Id: I1a49e4264feb93dc84963db426b11f467f31fcf6
2017-07-23 21:07:08 +03:00
Leo Yuriev
ddc5b9f34f mdbx: start find_oldest() from steady-point.
Change-Id: Icc102f98f86e557e1ccba9cd74255c3da9225d41
2017-07-23 18:39:31 +03:00
Leo Yuriev
22b9409a8d mdbx-ci: exclude coverity-branch from appveyor.
Change-Id: I1a02b3a151b430425d8dba12c81af42091994f15
2017-07-21 22:51:56 +03:00
Leo Yuriev
83f73d8178 mdbx: Merge branch 'devel'. 2017-07-21 22:47:49 +03:00
Leo Yuriev
425254aba5 mdbx-tools: hush MSVC's internal warnings.
Change-Id: I2b2bdb149149aa8bafff0bb7df205547f645fe10
2017-07-21 22:45:51 +03:00
Leo Yuriev
f96bb5ef4a mdbx-tools: fix coverity issue (minor).
Change-Id: I8031a59336134a355ea31d6f41b241dbc176f577
2017-07-21 22:39:15 +03:00
Leo Yuriev
621bf74e55 mdbx: Merge branch 'devel' (brave new world, forever lost compatibility with LMDB).
Change-Id: Icc359e01c8a00be6b3ac34a3aaad6f73201e39b3
2017-07-21 17:09:33 +03:00
Leo Yuriev
e2d770c629 mdbx: fix title in the Makefile (minor).
Change-Id: I8c77b226f55044c67b3a591da5257bf3886c00b0
2017-07-21 17:07:26 +03:00
Leo Yuriev
c5d1384c64 mdbx-tools: more fix MSVC warnings.
Change-Id: Ib5f78a89fea09dc78d4922519eab6eaed4b1a7e6
2017-07-21 16:54:46 +03:00
Leo Yuriev
63af619080 mdbx: #ifdef-guard for FILE_PROVIDER_EXTERNAL_INFO_V1.
Change-Id: I4bc4eb012f7d6ea874a10abd4a2bfcfb789c4a22
2017-07-21 15:49:05 +03:00
Leo Yuriev
242baf761f mdbx: fix/rework shrinking, add MDBX_SHRINK_ALLOWED.
Change-Id: I014440850aa4be927843aa2a6a268794a4da9b2a
2017-07-21 13:55:21 +03:00
Leo Yuriev
599711a007 mdbx: fix/avoid meta-update from setup_dxb() in read-only mode.
Change-Id: I60359f92aba31bb5a22e9a39ea4658d2393e957d
2017-07-21 13:54:06 +03:00
Leo Yuriev
109be210b4 mdbx: refine README.
Change-Id: I91192a5ac1464677432956a0dfd7038bac9b021f
2017-07-21 10:39:08 +03:00
Leonid Yuriev
c8a5df650b mdbx: fix/rework exclusive-locking for Windows.
Change-Id: I1b129a10ed7523024481480647317f1643f2ea70
2017-07-19 14:13:31 +03:00