Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						6d3ff10165 
					 
					
						
						
							
							mdbx: simplify page_unspill().  
						
						... 
						
						
						
						Change-Id: Iaa182d1feaf2abb59015725f000a3d9e0c57de8d 
						
						
					 
					
						2021-04-18 10:24:22 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3622433cf4 
					 
					
						
						
							
							mdbx: fix page_copy() for unspilling a large/overflow page.  
						
						... 
						
						
						
						Change-Id: I46c6b6bf94c877c1c0142116c404692960dc5ab7 
						
						
					 
					
						2021-04-18 10:24:22 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9c9cdfdb6d 
					 
					
						
						
							
							mdbx: minor fix mdbx_is_dirty().  
						
						... 
						
						
						
						Change-Id: Ia539165ddd62a40e13fdfec48de754961681d40f 
						
						
					 
					
						2021-04-18 10:24:22 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						a0a4bbaa7c 
					 
					
						
						
							
							mdbx: drop goto/label in prev commit.  
						
						... 
						
						
						
						More for https://github.com/erthink/libmdbx/issues/164 
Change-Id: Ic708c3ba51dd22d08e96d0bef4632a0beb19999b 
						
						
					 
					
						2021-04-18 10:24:11 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3e0fad1cf6 
					 
					
						
						
							
							mdbx: rework (NO)READAHEAD handling.  
						
						... 
						
						
						
						Resolves https://github.com/erthink/libmdbx/issues/164 
---
NOTE: Seems there is a bug in the Mach/Darwin/OSX kernel,
because MADV_WILLNEED with offset != 0 may cause SIGBUS
on following access to the hinted region.
19.6.0 Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 x86_64
Change-Id: I11ebbf2bd35e3dba9d078be16cb5678aecf8329c 
						
						
					 
					
						2021-04-17 01:12:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						28affe79d8 
					 
					
						
						
							
							mdbx-test: output the signal name if killed/coredumped.  
						
						... 
						
						
						
						Change-Id: I51e70daf89149ecbe72924fc9f105ea072574a23 
						
						
					 
					
						2021-04-14 19:27:13 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						958fd5b947 
					 
					
						
						
							
							mdbx: use mp_txnid instead of P_DIRTY (squashed).  
						
						... 
						
						
						
						Change-Id: I7e3174611b8819d8050b84d835fe976b87c77c0c 
						
						
					 
					
						2021-04-14 19:27:13 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						f587a74597 
					 
					
						
						
							
							mdbx: drop mx_dbistate.  
						
						... 
						
						
						
						Change-Id: I61616ee1436ed99db93a1036c9bb7d4db7157c8f 
						
						
					 
					
						2021-04-14 00:26:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5e334fa830 
					 
					
						
						
							
							mdbx: extract mdbx_touch_dbi().  
						
						... 
						
						
						
						Change-Id: I3b077cefe44f4c2db099b2050e1fd72a1aaa2687 
						
						
					 
					
						2021-04-14 00:25:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						f9977975ae 
					 
					
						
						
							
							mdbx: remove extra TXN_DBI_CHANGED() check.  
						
						... 
						
						
						
						Change-Id: If2014f7bfbfab98f3c0c357f2475da57efc50693 
						
						
					 
					
						2021-04-14 00:23:36 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						e35c92eabb 
					 
					
						
						
							
							mdbx: refine mdbx_page_new().  
						
						... 
						
						
						
						Change-Id: Ief0cb313c39f7b11fb1cd611d9b0497c011a7a7a 
						
						
					 
					
						2021-04-14 00:19:34 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						49296cad14 
					 
					
						
						
							
							mdbx: refactor mdbx_drop_tree() & drop mdbx_retire pgno().  
						
						... 
						
						
						
						Change-Id: I37f33d7a11e958ccc1c48a6af31599deb677038d 
						
						
					 
					
						2021-04-10 22:20:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						dfed1dbc17 
					 
					
						
						
							
							mdbx: refactoring: merge page_retire() and page_loose().  
						
						... 
						
						
						
						Change-Id: I4b47c11eedad6ef1b83dbf3d34977cdd8fa79505 
						
						
					 
					
						2021-04-10 22:20:24 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0dd27a46ee 
					 
					
						
						
							
							mdbx++: minor fix constexpr/inline for slice::invalid().  
						
						... 
						
						
						
						Change-Id: I48864a61f4fef711117b2e04ac92656267e2d229 
						
						
					 
					
						2021-04-10 17:48:40 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						20299f87cb 
					 
					
						
						
							
							mdbx: minor refine get_reasonable_db_maxsize().  
						
						... 
						
						
						
						Change-Id: I5d654940a325c0c3966a59a37615820587c52c78 
						
						
					 
					
						2021-04-10 17:48:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						7f5cbf7dd8 
					 
					
						
						
							
							mdbx: avoid float-point ops in prev commit.  
						
						... 
						
						
						
						Change-Id: I7fadc5096f49502c01a60436840bb1a87dfe27bd 
						
						
					 
					
						2021-04-07 14:29:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						c14e4235ee 
					 
					
						
						
							
							mdbx: guess a reasonable maximum DB size for the default upper limit of geometry.  
						
						... 
						
						
						
						Fixes https://github.com/erthink/libmdbx/issues/183 
Change-Id: Ic7b616e229d3008fda49e5a04121e22997ac53ea 
						
						
					 
					
						2021-04-07 05:23:06 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8ff44026c3 
					 
					
						
						
							
							mdbx: fix minor MSVC warning.  
						
						... 
						
						
						
						Change-Id: Ia7ec726b8a516d2115b727960cf7fbc874882cd4 
						
						
					 
					
						2021-04-07 04:52:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						43caec46e7 
					 
					
						
						
							
							mdbx-ci: more spelling exclusions.  
						
						... 
						
						
						
						Change-Id: I96c26956ba0c290792d415fe90d91e2a30bcf630 
						
						
					 
					
						2021-04-07 04:52:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						024ccf6826 
					 
					
						
						
							
							mdbx: extract mdbx_get_sysraminfo().  
						
						... 
						
						
						
						Change-Id: I8821009572d275a3b5d2d8729f605b115a80e50a 
						
						
					 
					
						2021-04-07 04:45:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0f76002dde 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						... 
						
						
						
						Change-Id: I6b34ecb6e1d9d1bc2832012b89ebc94fc186b32c 
						
						
					 
					
						2021-04-06 03:08:30 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9405d51716 
					 
					
						
						
							
							mdbx-ci: more spelling exclusions.  
						
						... 
						
						
						
						Change-Id: Iee349afa591e4204f4758ef1faeca93c2d897df2 
						
						
					 
					
						2021-04-06 01:19:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2ecfbdb1bd 
					 
					
						
						
							
							mdbx: add ETH address for donations.  
						
						... 
						
						
						
						Change-Id: Ia0a302f5374de0d50af421dfbca985ddae7e407f 
						
						
					 
					
						2021-04-06 01:19:11 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						6ee62650af 
					 
					
						
						
							
							mdbx: add comment for unsure_equal().  
						
						... 
						
						
						
						Change-Id: I0629b5cd4812415c3a240047ec4202f33dddd189 
						
						
					 
					
						2021-03-30 01:41:34 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						66df21ba78 
					 
					
						
						
							
							mdbx: add a TODO/FIXME note (first r/w opening while r/o present).  
						
						... 
						
						
						
						Change-Id: I5351628aa22313fffd6c2501a2aa16f2c5f573d5 
						
						
					 
					
						2021-03-30 01:38:24 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						4f62b059ef 
					 
					
						
						
							
							mdbx: minor clarify TODO (configurable threshold to keep reserve space for large/overflow pages).  
						
						... 
						
						
						
						Change-Id: I73a3847852466eb3e34927c5648435c8cf283c0e 
						
						
					 
					
						2021-03-30 01:34:46 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						af9b7b5605 
					 
					
						
						
							
							mdbx: MAJOR rework page splitting (squashed).  
						
						... 
						
						
						
						Basically, this (squashed) commit introduces:
 - An "auto-appending" feature upon insertion for both ascending and
   descending key sequences. As a result, the optimality of page filling
   increases significantly (more densely, less slackness) while
   inserting ordered sequences of keys,
 - A "splitting at middle" for more balanced page tree on average.
---
1. Using left/middle/right tactics for finding the split point of a page:
   - If a key is inserted close to an edge of page,
     then the page splits at that edge;
   - Otherwise a page splits at the middle,
     which leads to a more balanced tree on average;
   - So I expect a better behavior on average,
     but actually effects should be studied further practically.
2. New code for calculating the midpoint of a page split.
3. APPEND-flags no longer affect choosing the page split point.
4. Added left-side splitting by inserting a pure page with a new entry.
Change-Id: Id7441acfc8c90636e3be6bc00a0df15714690f3c 
						
						
					 
					
						2021-03-29 00:49:34 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						e0795227e4 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						... 
						
						
						
						Change-Id: Ic78177f8bc5ab3dc1826e4e00599f1a7d3087dda 
						
						
					 
					
						2021-03-29 00:00:43 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0c3fb1804e 
					 
					
						
						
							
							mdbx-test: add SPECULUM_CURSORS build macro/option.  
						
						... 
						
						
						
						Change-Id: I5dc9ccde725ce49db4fb0e94be02e9c7b48f1291 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3ed99f8c20 
					 
					
						
						
							
							mdbx: minor refine/fix cursor_check() internals.  
						
						... 
						
						
						
						Change-Id: I89ea9a5336b88e7d0201a7f59d66a8bc53849172 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						636c212235 
					 
					
						
						
							
							mdbx: minor refine page_check().  
						
						... 
						
						
						
						Change-Id: I91cae256c47064422d26663078c8c5a6f619a197 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						19575e799f 
					 
					
						
						
							
							mdbx-test: add stochastic reverse mode to the append scenario.  
						
						... 
						
						
						
						Change-Id: If506aff63b6c517922ae621f7805b58c9282e946 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						83cd4f7d58 
					 
					
						
						
							
							mdbx: separete DKBUF and DKBUF_DEBUG.  
						
						... 
						
						
						
						Change-Id: I8d90909ce9c5faec176a12e68f7bab6c2ea1d317 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bfc9921305 
					 
					
						
						
							
							mdbx: change branch-node size to ~1/2 of the page size.  
						
						... 
						
						
						
						Change-Id: I0f455ec04170d792ecc933aa501b4ec1ca9b08c0 
						
						
					 
					
						2021-03-28 23:34:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						72f3a2fc3f 
					 
					
						
						
							
							mdbx: check zero-size of the first key on a branch-page.  
						
						... 
						
						
						
						Change-Id: I2be86ea79f04ea8baea92a6e56ef6b22691eeda0 
						
						
					 
					
						2021-03-28 22:25:40 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3c389d17e8 
					 
					
						
						
							
							mdbx: minor refine page_rebalance().  
						
						... 
						
						
						
						Change-Id: I066e7a22d62c45f9e80fb4735f55f02ca34d3ee3 
						
						
					 
					
						2021-03-28 22:25:30 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2524a0e749 
					 
					
						
						
							
							mdbx: output page type from bad_page().  
						
						... 
						
						
						
						Change-Id: I11e4931de26015204c26c116e91e4a0e02f909b4 
						
						
					 
					
						2021-03-28 22:25:24 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8d3b878965 
					 
					
						
						
							
							mdbx: fix minor spelling.  
						
						... 
						
						
						
						Change-Id: Ibab66dc18c92b0ac4fa705e10befb34e268ee1f7 
						
						
					 
					
						2021-03-28 22:25:17 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9e5fe2c61d 
					 
					
						
						
							
							mdbx-tools: add to mdbx_chk output the number of keys/entries from a pages.  
						
						... 
						
						
						
						Change-Id: I7c2d779fa89848287f8b5a0fa1ff2fc89c5a9b8c 
						
						
					 
					
						2021-03-28 22:24:56 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8bb4a4039d 
					 
					
						
						
							
							mdbx: add PayPal for donations.  
						
						
						
						
					 
					
						2021-03-28 03:49:54 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						50e729a687 
					 
					
						
						
							
							mdbx-make: add install-strip and install-no-strip targets.  
						
						... 
						
						
						
						Resolves https://github.com/erthink/libmdbx/pull/180  
						
						
					 
					
						2021-03-26 14:45:32 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						c77494e2aa 
					 
					
						
						
							
							mdbx: fix mdbx_env_set_option() for dp_initial & dp_limit.  
						
						... 
						
						
						
						Fixes https://github.com/erthink/libmdbx/issues/179 
Change-Id: I925104a45148112e0ce94a069a7468e2b4fc8209 
						
						
					 
					
						2021-03-24 19:27:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b71206d119 
					 
					
						
						
							
							mdbx: update Changelog.  
						
						... 
						
						
						
						Change-Id: I2277465a701afebbe512ca45335ce90179b945bd 
						
						
					 
					
						2021-03-19 19:13:22 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						f32435e9b1 
					 
					
						
						
							
							mdbx-doc: actualize MDBX's limits.  
						
						... 
						
						
						
						Change-Id: I8ad4a47a30df7f900bf5396bff616ce58fcea101 
						
						
					 
					
						2021-03-19 18:31:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						422d030820 
					 
					
						
						
							
							mdbx: fix minor casting warning.  
						
						... 
						
						
						
						Change-Id: I9615b3928bb1b88743b42be9d82a986255d1f074 
						
						
					 
					
						2021-03-19 03:16:47 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b3798a9116 
					 
					
						
						
							
							mdbx: mdbx_node_search() micro-optimization.  
						
						... 
						
						
						
						Change-Id: I48064ca284aa89b16e418afdc20d09c5dd6e5cba 
						
						
					 
					
						2021-03-19 00:17:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						dcb806302f 
					 
					
						
						
							
							mdbx-ci: fix spelling action failure.  
						
						... 
						
						
						
						Change-Id: I89b5639edfcd5d7a5c8fc1d98cc484cc22e175bd 
						
						
					 
					
						2021-03-18 23:29:21 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						cb0ee2373d 
					 
					
						
						
							
							mdbx: add mdbx_cursor_set_ex() with non-optional exactp argument.  
						
						... 
						
						
						
						Resolves https://github.com/erthink/libmdbx/pull/178 
Change-Id: I24dc7d44116b5e2e02b5b75375be24c647a762f5 
						
						
					 
					
						2021-03-18 23:15:55 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						d0b3c45f04 
					 
					
						
						
							
							mdbx: refine check_dbi().  
						
						... 
						
						
						
						Change-Id: I6d51c27c3acdea1b93861f67a32cd3c1ee13dc0d 
						
						
					 
					
						2021-03-18 23:12:56 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2149d893bc 
					 
					
						
						
							
							mdbx-doc: add the output of limits to the mdbx_example.  
						
						... 
						
						
						
						Change-Id: I1bbe194e80f888c37a6a082927444b6897babcc4 
						
						
					 
					
						2021-03-17 01:27:23 +03:00