Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f9ad835680 
					 
					
						
						
							
							mdbx: drop E2K libc obsolete workarounds.  
						
						
						
						
							
						
					 
					
						2022-08-17 21:29:51 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9b3faee630 
					 
					
						
						
							
							mdbx: drop obsolete Nexenta attributes API.  
						
						
						
						
							
						
					 
					
						2022-08-17 21:29:51 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						345c3d433f 
					 
					
						
						
							
							mdbx-make: add -DENABLE_UBSAN to ubsan-targets.  
						
						
						
						
							
						
					 
					
						2022-08-11 19:39:14 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1c5ef060c5 
					 
					
						
						
							
							mdbx: reduce number of memory fences in the hot paths.  
						
						
						
						
							
						
					 
					
						2022-08-11 18:45:00 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						34a4e7e102 
					 
					
						
						
							
							mdbx: avoid Valgrind warnings.  
						
						
						
						
							
						
					 
					
						2022-08-11 17:10:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ae730ae2f3 
					 
					
						
						
							
							mdbx: fix minor warnings for ASAN-enabled builds.  
						
						
						
						
							
						
					 
					
						2022-08-11 12:33:56 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						18e557c6e8 
					 
					
						
						
							
							mdbx: rename internal functions, types and macros (to be closer to MithrilDB).  
						
						
						
						
							
						
					 
					
						2022-08-11 12:33:56 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						096d6a9bd6 
					 
					
						
						
							
							mdbx: some micro-optimizations.  
						
						
						
						
							
						
					 
					
						2022-08-10 22:09:42 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d8f0c9dc44 
					 
					
						
						
							
							mdbx: more __hot.  
						
						
						
						
							
						
					 
					
						2022-08-10 15:46:45 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						78dc699709 
					 
					
						
						
							
							mdbx: add ×16 accelerated scan4seq() (AVX512BW).  
						
						
						
						
							
						
					 
					
						2022-08-10 13:23:04 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c2bf9ebf17 
					 
					
						
						
							
							mdbx: minor refine AVX2/SSE2-accelerated scan4seq().  
						
						
						
						
							
						
					 
					
						2022-08-10 11:43:24 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3c28619562 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						
						
						
							
						
					 
					
						2022-08-09 19:04:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0287a00ee3 
					 
					
						
						
							
							mdbx++: refine/simplify wchar_t support for pathnames.  
						
						
						
						
							
						
					 
					
						2022-08-09 18:54:22 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2ff8d3c4f2 
					 
					
						
						
							
							mdbx: native wchar_t pathname for Windows.  
						
						
						
						
							
						
					 
					
						2022-08-09 18:27:43 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						98c53555ab 
					 
					
						
						
							
							mdbx: using e2k-frendly/cmov/branch-less bsearch.  
						
						... 
						
						
						
						https://gitflic.ru/project/erthink/bsearch-try  
					
						2022-08-09 18:25:05 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c8b1392cbe 
					 
					
						
						
							
							mdbx: use MultiByteToWideChar(CP_THREAD_ACP) instead of mbstowcs().  
						
						
						
						
							
						
					 
					
						2022-08-09 16:12:24 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6d85e35876 
					 
					
						
						
							
							mdbx: never use modern __cxa_thread_atexit() on Apple's OSes.  
						
						
						
						
							
						
					 
					
						2022-08-08 15:23:39 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						dd01aabaeb 
					 
					
						
						
							
							mdbx: add MDBX_WEAK_IMPORT_ATTRIBUTE macro.  
						
						
						
						
							
						
					 
					
						2022-08-08 15:18:16 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3de759a7be 
					 
					
						
						
							
							mdbx: fix page-boundary checking inside accelerated scan4seq().  
						
						
						
						
							
						
					 
					
						2022-08-07 22:24:00 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d6603a0c0a 
					 
					
						
						
							
							mdbx: add ×8 accelerated scan4seq() (AVX2).  
						
						
						
						
							
						
					 
					
						2022-08-07 17:08:51 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						15146d3823 
					 
					
						
						
							
							mdbx: fix scan4seq() selection for non-implemented cases.  
						
						
						
						
							
						
					 
					
						2022-08-07 15:14:50 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d62d3e2aab 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						
						
						
							
						
					 
					
						2022-08-07 12:42:43 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						fa854e40c3 
					 
					
						
						
							
							mdbx: refine checking inside page_get().  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:51 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5afc5c4e8c 
					 
					
						
						
							
							mdbx: reorganize/move fences to reduce overhead.  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:51 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c05a3b7bb9 
					 
					
						
						
							
							mdbx: minor refine node_add().  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:50 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1215bda188 
					 
					
						
						
							
							mdbx: minor refine/speedup node_del().  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:50 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0dd4532473 
					 
					
						
						
							
							mdbx: reduce gap/backlog of linear scan inside dpl_search().  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:50 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						eac3d0499f 
					 
					
						
						
							
							mdbx: minor refine/speedup dpl_sort_slowpath().  
						
						
						
						
							
						
					 
					
						2022-08-07 12:29:50 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a11c045f1e 
					 
					
						
						
							
							mdbx: using expect_with_probability() macro.  
						
						
						
						
							
						
					 
					
						2022-08-07 12:28:35 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c0f8ecd6f2 
					 
					
						
						
							
							mdbx: add expect_with_probability() macro.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						8404cc1fd7 
					 
					
						
						
							
							mdbx: reduce sorting-network to 8.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						654b020bc7 
					 
					
						
						
							
							mdbx: add __restrict to quicksort internal pointers.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						77635116c6 
					 
					
						
						
							
							mdbx: enable solib profiling with -pg and gprof with GLIBC >= 2.37.  
						
						... 
						
						
						
						However such profiling requires https://sourceware.org/bugzilla/show_bug.cgi?id=29438  to be fixed. 
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a44eb1accb 
					 
					
						
						
							
							mdbx-cmake: add MDBX_MANAGE_BUILD_FLAGS build-time option.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c06d072daf 
					 
					
						
						
							
							mdbx-make: support for MDBX_BUILD_CXX=YES/NO option.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d28110373e 
					 
					
						
						
							
							mdbx: add simple SORT_CMP_SWAP() macro for MDBX_HAVE_CMOV=0 case.  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						480dc2531e 
					 
					
						
						
							
							mdbx: ×4 accelerated scan4seq() (SSE2 only for now).  
						
						
						
						
							
						
					 
					
						2022-08-07 11:56:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f0a46da6a5 
					 
					
						
						
							
							mdbx-make: using ldd to check used dso.  
						
						
						
						
							
						
					 
					
						2022-08-06 19:42:38 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						06734bf8ff 
					 
					
						
						
							
							mdbx: don't check owner for finished transactions.  
						
						
						
						
							
						
					 
					
						2022-08-06 13:19:49 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c37fb50532 
					 
					
						
						
							
							mdbx: more for __amd64__ macro.  
						
						
						
						
							
						
					 
					
						2022-08-04 13:54:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9eb6953778 
					 
					
						
						
							
							mdbx: fix minor typo.  
						
						
						
						
							
						
					 
					
						2022-08-04 13:54:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						bfac10418f 
					 
					
						
						
							
							mdbx-make: preserve MDBX_BUILD_OPTION for assertion-targets.  
						
						
						
						
							
						
					 
					
						2022-08-04 13:54:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						268b33cbf7 
					 
					
						
						
							
							mdbx: simplify/speedup scan4seq().  
						
						
						
						
							
						
					 
					
						2022-08-04 13:54:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						e444c70cb7 
					 
					
						
						
							
							mdbx: release v0.11.9  
						
						... 
						
						
						
						The stable bugfix release.
It is planned that this will be the last release of the v0.11 branch.
Acknowledgements:
-----------------
 - [Alex Sharov](https://github.com/AskAlexSharov ) and Erigon team for reporting and testing.
 - [Andrew Ashikhmin](https://gitflic.ru/user/yperbasis ) for contributing.
New:
----
 - Ability to customise `MDBX_LOCK_SUFFIX`, `MDBX_DATANAME`, `MDBX_LOCKNAME` just by predefine ones during build.
 - Added to [`mdbx::env_managed`](https://libmdbx.dqdkfa.ru/group__cxx__api.html#classmdbx_1_1env__managed )'s methods a few overloads with `const char* pathname` parameter (C++ API).
Fixes:
------
 - Fixed hang copy-with-compactification of a corrupted DB
   or in case the volume of output pages is a multiple of `MDBX_ENVCOPY_WRITEBUF`.
 - Fixed standalone non-CMake build on MacOS (`#include AvailabilityMacros.h>`).
 - Fixed unexpected `MDBX_PAGE_FULL` error in rare cases with large database page sizes.
Minors:
-------
 - Minor fixes Doxygen references, comments, descriptions, etc.
 - Fixed copy&paste typo inside `meta_checktxnid()`.
 - Minor fix `meta_checktxnid()` to avoid assertion in debug mode.
 - Minor fix `mdbx_env_set_geometry()` to avoid returning `EINVAL` in particular rare cases.
 - Minor refine/fix batch-get testcase for large page size.
 - Added `--pagesize NN` option to long-stotastic test script.
 - Updated Valgrind-suppressions file for modern GCC.
 - Fixed `has no symbols` warning from Apple's ranlib.
18 files changed, 318 insertions(+), 178 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru > 
						
						
							
 
						
					 
					
						2022-08-02 12:00:30 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a441c9ffb1 
					 
					
						
						
							
							mdbx: logging pgno of invalid root pages inside meta_checktxnid().  
						
						
						
						
							
						
					 
					
						2022-08-01 14:44:33 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						71c3d20c01 
					 
					
						
						
							
							mdbx: skip extra cycle during search of page sequence.  
						
						
						
						
							
						
					 
					
						2022-08-01 00:00:14 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						75d19b5806 
					 
					
						
						
							
							mdbx: minor refine/speedup pnl_check().  
						
						
						
						
							
						
					 
					
						2022-07-27 21:08:54 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						dc39ecfb9f 
					 
					
						
						
							
							mdbx: auto-coalesce of GC's records with less overhead.  
						
						
						
						
							
						
					 
					
						2022-07-27 21:08:54 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						47d5fa7fd4 
					 
					
						
						
							
							mdbx: refine/speedup pnl_merge().  
						
						
						
						
							
						
					 
					
						2022-07-27 21:08:54 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						fe6c6b2068 
					 
					
						
						
							
							mdbx: add MDBX_HAVE_CMOV macro/option.  
						
						
						
						
							
						
					 
					
						2022-07-27 21:08:54 +03:00