Leo Yuriev
|
c49d1bc97a
|
mdbx: provide refunding pages into unallocated space.
Change-Id: I9d4f953adc6f3b745a9822044f3933adba4ca6fe
|
2017-07-27 16:58:22 +03:00 |
|
Leo Yuriev
|
dcc179f412
|
mdbx: more checks for pgno-list ordering.
Change-Id: I6c6093532e8d2c07c42f62d23579ef86cbbd43b7
|
2017-07-27 16:58:09 +03:00 |
|
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 |
|
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
|
8ca23d8735
|
mdbx: add missing <signal.h>
Change-Id: I3f2d0587db84598a0157aae50cdff3361935f2b3
|
2017-07-26 15:11:25 +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
|
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
|
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
|
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
|
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 |
|
Leonid Yuriev
|
c8a5df650b
|
mdbx: fix/rework exclusive-locking for Windows.
Change-Id: I1b129a10ed7523024481480647317f1643f2ea70
|
2017-07-19 14:13:31 +03:00 |
|
Leo Yuriev
|
17e8429a29
|
mdbx: rework mmap-functions for osal.
- add 'length' and 'current' fields to mmap-object;
- drop mdbx_mremap();
- do remap on-demand inside mdbx_mresize();
- add mdbx_mapresize() which re-creates Valgrind's region.
- call resize on txn-begin.
Change-Id: I82780f92c4947804e3f14fb7cb71ee655382f9bb
|
2017-07-19 14:13:31 +03:00 |
|
Leo Yuriev
|
53c2b0abe4
|
mdbx: checking and reject network/remote files.
Change-Id: I77e8b8bc94785d705461d162cbc40ad58ead67ca
|
2017-07-12 03:31:20 +03:00 |
|
Leo Yuriev
|
4d1df6ea11
|
mdbx: rework rollback on dxb-setup to avoid troubles under Windows.
|
2017-07-12 03:31:20 +03:00 |
|
Leo Yuriev
|
455de97d36
|
mdbx: rework using of mdbx_mmap_t and mdbx_msync().
|
2017-07-12 03:31:20 +03:00 |
|
Leo Yuriev
|
70d54f6f2c
|
mdbx-msvc: refine IntDir/OutDir for msbuild projects.
|
2017-07-12 02:21:50 +03:00 |
|
Leo Yuriev
|
0167694457
|
mdbx: building mdbx-tools for Windows.
Change-Id: I9019c4382b7108ec7c442d2b0d4be044a3cb136a
|
2017-07-12 02:20:47 +03:00 |
|
Leo Yuriev
|
6f00854034
|
mdbx: take LTO_ENABLED in account for AddressSanitizer default options.
Change-Id: I691eae23ca2cb60c6e2a9260ab41e3c80c8aaeb8
|
2017-07-07 00:45:52 +03:00 |
|
Leo Yuriev
|
0047ce4bd6
|
mdbx: add default AddressSanitizer options.
Change-Id: I99b7aee5010f1d43008b2a61efe3fb9bb023ab31
|
2017-07-07 00:02:56 +03:00 |
|
Leo Yuriev
|
84b4883f00
|
mdbx: fix returning MDBX-errors after the merge.
Change-Id: Id49b7f341749709cdee476c88c1066e76b6937c1
|
2017-07-05 19:38:39 +03:00 |
|
Leo Yuriev
|
d01a97f729
|
tools: fix minor defects (coverity).
Change-Id: I3a80dcb31c54718d22cdca6272aa028685956243
|
2017-07-04 13:21:16 +03:00 |
|
Leo Yuriev
|
14484a6f32
|
mdbx: fix minor defects (coverity).
Change-Id: I1a5b0788a87ab2a138b342140648642fd5855ae3
|
2017-07-04 13:21:16 +03:00 |
|
Leo Yuriev
|
beda690227
|
mdbx: fix resource-leak in mdbx_env_open_ex() in case of error (coverity).
Change-Id: I9e808e2de4a64d05205a79c9d90feacc87ec930d
|
2017-07-04 13:21:16 +03:00 |
|
Leo Yuriev
|
93d92db43d
|
mdbx: fix mischecking in mdbx_reader_check0() (coverity).
Change-Id: I2e3aaba1426c3b152a39b90f6d171380948da0a7
|
2017-07-04 13:21:16 +03:00 |
|
Leo Yuriev
|
bf8507f3ec
|
mdbx: fix mdbx_env_info() to avoid null-deref in lck-free mode (coverity).
Change-Id: Ica8fe6c7f5a18af3a4d7d38ce8a1a092d5f1b2f7
|
2017-07-04 11:45:48 +03:00 |
|
Leo Yuriev
|
aec35300c4
|
mdbx: fix new API function after the merge.
Change-Id: Ic929444ceb137ccaa2ab4fe82b4f93a3cb5a92aa
|
2017-07-04 10:46:46 +03:00 |
|
Leo Yuriev
|
b34e92d308
|
mdbx: cleanup/reformat after the merge.
Change-Id: I3e0fe8f1292a6387e8d3ff8b904170f05d8e1770
|
2017-07-04 10:35:32 +03:00 |
|
Leo Yuriev
|
594834bc9c
|
mdbx: Merge branch 'nexenta' into devel.
Change-Id: I7a00f98e088f21ebc91a3861309b697f01e1fa66
|
2017-07-04 09:22:09 +03:00 |
|
Leo Yuriev
|
3c5ae4cc9c
|
mdbx: disable C4548 as workaround for buggy WinSDK 10.0.10240.0
|
2017-07-03 12:50:48 +03:00 |
|
Leo Yuriev
|
78ae12aa10
|
mdbx: fix MSVC 'padding' warnings, minor refine fields ordering.
|
2017-07-03 11:41:24 +03:00 |
|
Leo Yuriev
|
1d702aa94f
|
mdbx: more warning control for MSVC.
|
2017-07-03 06:45:41 +03:00 |
|
Leonid Yuriev
|
3e6a672286
|
mdbx: fix MSVC warnings, add uint16-range-asserts.
Change-Id: Ie67a728035eeae250efbf962270b5c17c974db23
|
2017-07-03 04:41:00 +03:00 |
|
Leo Yuriev
|
2ed74ee78f
|
mdbx: fix MSVC size_t/uint64_t warnings (minor).
Change-Id: I580eea87e9c557c61b1ff0b66feaafce139d2c45
|
2017-06-30 07:25:56 +03:00 |
|
Leo Yuriev
|
186d2ee065
|
mdbx: add 'mti_reader_finished_flag' for speedup find_oldesd().
Change-Id: I4a2c8b80efad0cfc12918969125d258043cbffba
|
2017-06-30 00:43:11 +03:00 |
|
Leo Yuriev
|
acfa096aba
|
mdbx: more for lockless/readonly mode (testing needed).
Change-Id: I28f46f5a373212ebb5df780f4d2b5e216d8cdae2
|
2017-06-30 00:43:11 +03:00 |
|
Leo Yuriev
|
5fbb8d1018
|
mdbx: fix C11 warnings abount atomic.
|
2017-06-24 19:33:34 +03:00 |
|
Leonid Yuriev
|
ca83480c34
|
mdbx: pragma lib ntdll.lib
|
2017-06-21 01:42:41 +03:00 |
|
Leo Yuriev
|
9a2fff91f3
|
mdbx: dynamic mapsize/geometry and API (mostly done).
Change-Id: Ifb768ff3207cae1755c53c211a3ae552c6455e12
|
2017-06-21 01:42:41 +03:00 |
|
Leo Yuriev
|
45defdc170
|
mdbx: refine err returning (MDBX_EPERM, etc).
Change-Id: Iaa21a0e6632be47d6ef2a3676ba5e1381fc03b4d
|
2017-06-21 01:42:27 +03:00 |
|
Leo Yuriev
|
10b0197026
|
mdbx: drop mdbx_get_errno_checked().
Change-Id: Ifa829b465083f17eba911e19947bdae854f9759c
|
2017-06-21 01:41:25 +03:00 |
|
Leo Yuriev
|
151d4540de
|
mdbx: refine internal constant (use UINT32_C, etc minors).
Change-Id: I0f994ee75b5aa1494fcc8ca42a46120865676e25
|
2017-06-21 01:39:53 +03:00 |
|
Leo Yuriev
|
f93818a926
|
mdbx: fix MAX_MAPSIZE for Win32.
Change-Id: I04cbffb14ab7c73d935614b2f5c8140000b78d76
|
2017-06-21 01:36:49 +03:00 |
|
Leo Yuriev
|
edc936dc28
|
mdbx: rework mdbx_oomkick() and speedup mdbx_find_oldest().
Change-Id: Icc2c450e7f10efe1b4ab8705e6a659cece256dc1
|
2017-06-16 05:27:01 +03:00 |
|
Leo Yuriev
|
81661ff952
|
mdbx: add shared cache for oldest reader's txnid.
Change-Id: I48cbc778b873445dffa8ecef1fc3633e0193131f
|
2017-06-16 05:21:49 +03:00 |
|
Leo Yuriev
|
c01aeb5c68
|
mdbx: refine meta_txnid().
Change-Id: I4d78b2ebed8850c90dc762405ba939be7385c9a3
|
2017-06-16 05:21:49 +03:00 |
|
Leo Yuriev
|
ae71c2aa36
|
mdbx: simplify find-oldest inside mdbx_page_alloc().
Change-Id: I88dfc8ee268eba2452bffd3c4e6cfd066bcd8b04
|
2017-06-16 05:21:27 +03:00 |
|
Leo Yuriev
|
760f7d1331
|
mdbx: fix nasty 'inverted if-condition' inside mdbx_reader_check0().
Fix c2087f186ef5ae021bb1b9f6f8111e7b7eccffc1
|
2017-06-15 15:05:14 +03:00 |
|
Leo Yuriev
|
ddc3787936
|
mdbx: fix MDBX_RESULT_TRUE handling inside mdbx_mutex_failed()...mdbx_oomkick().
|
2017-06-15 14:56:25 +03:00 |
|
Leo Yuriev
|
71e2fe3df0
|
mdbx: add MDBX_DBG_DUMP for mdbx_setup_debug().
So, meta-pages and lck-section now will be included into a coredump.
|
2017-06-15 13:45:16 +03:00 |
|
Leo Yuriev
|
0ef41bef2b
|
mdbx: fix mdbx_txn_straggler() for write-txn.
|
2017-06-13 19:27:52 +03:00 |
|
Leo Yuriev
|
6f53dd0719
|
mdbx: add mdbx_dbi_flags_ex().
|
2017-06-09 16:44:34 +03:00 |
|
Leo Yuriev
|
3ca64535b6
|
mdbx: add NTAPI to OSAL.
|
2017-06-07 18:17:21 +03:00 |
|
Leo Yuriev
|
d2d513014d
|
mdbx: add mdbx_lck_upgrade() to OSAL.
|
2017-06-06 20:28:00 +03:00 |
|
Leo Yuriev
|
204904df7c
|
mdbx: disallow begin txn if env not yet opened.
|
2017-06-06 20:28:00 +03:00 |
|
Leo Yuriev
|
fbce45cb98
|
mdbx: allow calling mdbx_env_sync() inside transaction.
|
2017-06-06 20:28:00 +03:00 |
|
Leo Yuriev
|
1d15ae4b13
|
mdbx: zeroing MDBX_page.mp_validator for Valgrind/AddressSanitizer.
|
2017-06-06 17:47:46 +03:00 |
|
Leo Yuriev
|
465459dc58
|
mdbx: add MDBX_txn.mt_owner and MDBX_THREAD_MISMATCH.
|
2017-06-06 17:11:29 +03:00 |
|
Leo Yuriev
|
3bf3a08f96
|
mdbx: fix write-txn thread cleanup.
|
2017-06-06 17:09:49 +03:00 |
|
Leonid Yuriev
|
318646794e
|
mdbx: partial fix MSVC level-4 warnings.
|
2017-06-06 04:15:08 +03:00 |
|
Leonid Yuriev
|
bfa6dea784
|
mdbx: fix size_t/unsigned/int warnings.
Change-Id: Ic5a8684aed232b8b732d6e7a87a6757f3f7afcec
|
2017-06-06 04:15:08 +03:00 |
|
Leonid Yuriev
|
7e85ad82f1
|
mdbx: refine read_header(), add MDBX_TOO_LARGE.
Change-Id: I25b9bb2e3817993d627b2b784dfa496d9ba7e7b0
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
61d7ea283f
|
mdbx: size_t for sync_threshold and mapsize.
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
802c10f13f
|
mdbx: log2shift instead of multiplication by pagesize.
Change-Id: I72c4c7699a409795459b466ff74c388b15b13687
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
9ef81ac16c
|
mdbx: add 'unlikely' to IS_OVERFLOW().
Change-Id: Ia92aac948046890ca4f9d9c3fbff0b4ac5728fab
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
439ae3983c
|
mdbx: use 2^N constants for fill-threshold.
Change-Id: I3e190f5af77282a7995ae733c7a6865a21daa6c3
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
59c22ab036
|
mdbx: use 32-bit pgno_t (page numbers).
Change-Id: Ie9f3528e12b7be27765c0225edde26e4d8282692
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
1343b46466
|
mdbx: add txnid-list functions.
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
52f52de2d5
|
mdbx: include meta-pages into a coredump.
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
95ebdb7065
|
mdbx: MAX_PAGESIZE always 64K.
|
2017-06-06 04:15:08 +03:00 |
|
Leo Yuriev
|
19dd181b6f
|
mdbx: fix STATIC_ASSERT for MSVC.
|
2017-06-06 04:15:08 +03:00 |
|