Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						adcb052915 
					 
					
						
						
							
							mdbx: fix minor MSVC warnings.  
						
						
						
						
					 
					
						2020-11-29 06:04:55 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						6d2914c99b 
					 
					
						
						
							
							mdbx: minor/insignificant fix checking mdbx_rdt_lock() result for cases mutex-recovery after EOWNERDEAD.  
						
						... 
						
						
						
						Change-Id: Ia5e13ea0d72afc97f7d678832a765a192dfacdff 
						
						
					 
					
						2020-11-25 17:55:29 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2a740d3807 
					 
					
						
						
							
							mdbx-windows: fix ERROR_NOT_SUPPORTED while opening UNC pathnames.  
						
						... 
						
						
						
						Resolve https://github.com/miranda-ng/miranda-ng/issues/2627 
Change-Id: Iec06554dfcb9e0db215662d93fb5824cfe9ac7ef 
						
						
					 
					
						2020-11-24 15:53:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						ddee04d991 
					 
					
						
						
							
							mdbx: set DXB/LCK files position outside of a data.  
						
						... 
						
						
						
						Set the position in files outside of the data to avoid corruption
due to erroneous use of file descriptors in the application code.
Change-Id: I8750f6e726edaddee254885756d5f91576a6bcb1 
						
						
					 
					
						2020-11-23 09:25:24 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						537e3d18ae 
					 
					
						
						
							
							mdbx: minor clarify mmap-resize logging.  
						
						... 
						
						
						
						Change-Id: Ibb6e4b8ee84d03a22ad0e0d1b437989739d43bb9 
						
						
					 
					
						2020-11-20 10:38:04 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						1bbf20bf39 
					 
					
						
						
							
							mdbx: refine multi-thread flipping of buffers during env-copy.  
						
						... 
						
						
						
						Change-Id: Id132c1af0e1131da70ab1b35bce9f6a6548edbe3 
						
						
					 
					
						2020-11-19 11:59:42 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9054b25441 
					 
					
						
						
							
							mdbx: fix fast completion of nested txn for case ones was open present DBIs.  
						
						... 
						
						
						
						Change-Id: I87d28d1da5f72cc7ad77f8dd3f9a181f7eaa0024 
						
						
					 
					
						2020-11-19 09:26:33 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						26767a5e06 
					 
					
						
						
							
							mdbx: relax big-page size checking for compatibility.  
						
						... 
						
						
						
						i.e. allow an overflow page be larger than required by placed data. 
						
						
					 
					
						2020-11-18 03:42:05 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						96c2a56aa1 
					 
					
						
						
							
							mdbx: use MDBX_SET_LOWERBOUND in mdbx_get_equal_or_great().  
						
						... 
						
						
						
						Change-Id: I5dd72fe82bd15938afc60cbc0f92e23c00f0d344 
						
						
					 
					
						2020-11-17 08:13:46 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5e02e7fb56 
					 
					
						
						
							
							mdbx: add MDBX_SET_LOWERBOUND for mdbx_cursor_get().  
						
						... 
						
						
						
						Change-Id: I3638fdd10be8dfe128c43b465e9ca71f89175b3e 
						
						
					 
					
						2020-11-17 08:13:46 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9ea6922a2f 
					 
					
						
						
							
							mdbx: minor simplify mdbx_cursor_set().  
						
						... 
						
						
						
						Change-Id: I034f396368024af21e8ee741c13a28c9bc277121 
						
						
					 
					
						2020-11-17 07:59:51 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						149b3d09e6 
					 
					
						
						
							
							mdbx: don't export DBIs from nested txn.  
						
						... 
						
						
						
						Change-Id: I8c354ac7f889debe2fcf830263cb060253887652 
						
						
					 
					
						2020-11-16 07:07:39 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						1c925a0f2e 
					 
					
						
						
							
							mdbx: minor fix/avoid assertion inside mdbx_cursor_set().  
						
						... 
						
						
						
						Change-Id: I2cc38da698765b3eaa2bb575e16505d5d9438431 
						
						
					 
					
						2020-11-16 07:07:39 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0c3deac9db 
					 
					
						
						
							
							mdbx: fix cursors-EOF after search.  
						
						... 
						
						
						
						Change-Id: Ie578611b64cca8dbcc00f958510143e8d1dc262a 
						
						
					 
					
						2020-11-16 07:07:39 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						21bbba82fb 
					 
					
						
						
							
							mdbx: minor fix cursor_on_first/last for empty sub-db.  
						
						... 
						
						
						
						Change-Id: I68c2e1bd28e62c9512bf8ef711fe21573e3450b9 
						
						
					 
					
						2020-11-16 07:07:39 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						4ea2bea22e 
					 
					
						
						
							
							mdbx: fix save/restore/commit cursors for nested txn.  
						
						... 
						
						
						
						Change-Id: Ibaf356bbc631ca2e41058787bd3e4aaaa8bc085a 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						e328c1f829 
					 
					
						
						
							
							mdbx: refactor/move mdbx_cursor_count().  
						
						... 
						
						
						
						Change-Id: I5487342013dfc3a9cf12d9081471ace0c37de23d 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						ca115dd6a4 
					 
					
						
						
							
							mdbx: refactor/rename/refine tw.cursors internals.  
						
						... 
						
						
						
						Change-Id: Ie46d15f52a9d7365b52534a630754a31d3005a69 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9a2dbb845c 
					 
					
						
						
							
							mdbx: refactor/refine cursor next/prev.  
						
						... 
						
						
						
						Change-Id: I0bfe0fed62e137e933027ba90cec23dbf1a6310b 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5f09ec73c9 
					 
					
						
						
							
							mdbx: return MDBX_ENODATA instead of MDBX_EINVAL for non-positioned/EOF cursor and MDBX_GET_CURRENT.  
						
						... 
						
						
						
						Change-Id: I2adf76f8f662e77e5a6aa077344fab6b430975c4 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						c55f99073b 
					 
					
						
						
							
							mdbx: fix MDBX_NEXT for EOF case.  
						
						... 
						
						
						
						Change-Id: I84c033a24d2215a4867affab5b148bf6ba5d57dc 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b1446b7752 
					 
					
						
						
							
							mdbx: minor fix/distinction MDBX_EBADSIGN and MDBX_EINVAL errors for cursors.  
						
						... 
						
						
						
						Change-Id: I6d72638a69ff0f793156fe5e0e7ca5531a97c7cf 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b6f0070f85 
					 
					
						
						
							
							mdbx: add mdbx_cursor_copy().  
						
						... 
						
						
						
						Change-Id: I476f1230beec6a550897bef236745530154c1079 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2489e0ba6e 
					 
					
						
						
							
							mdbx: refactor/rename cursor_copy_internal().  
						
						... 
						
						
						
						Change-Id: I334e68d3d424ef15cafcaafd23d61f80611fce01 
						
						
					 
					
						2020-11-16 07:07:38 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						459e769844 
					 
					
						
						
							
							mdbx: engage cursor tracking for all merge/rebalance operations.  
						
						... 
						
						
						
						Assume this resolves https://github.com/erthink/libmdbx/issues/131 .
Change-Id: I5111618a34d91d083b81245ac959b744a86c4495 
						
						
					 
					
						2020-11-16 07:07:27 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						37a1d546b7 
					 
					
						
						
							
							mdbx: minor refine mdbx_rebalance().  
						
						... 
						
						
						
						Change-Id: I10a6a208b173bdee1d325aa7b2624de879814647 
						
						
					 
					
						2020-11-16 06:28:11 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b209e91ad4 
					 
					
						
						
							
							mdbx: zeroed mc_top while tracking nested cursors.  
						
						... 
						
						
						
						This avoids scanning dummy cursors during tracking.
Change-Id: Id4edc665010215b4a946f9438475691f1387313c 
						
						
					 
					
						2020-11-16 05:48:44 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0c78da99b0 
					 
					
						
						
							
							mdbx: add cursor_is_tracked() and assertions.  
						
						... 
						
						
						
						Change-Id: I83db1a714597b134aa30e4ca7019bb7f541a2428 
						
						
					 
					
						2020-11-16 05:48:23 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						10681a53ae 
					 
					
						
						
							
							mdbx: cleanup/refine GC-flags inside mdbx_page_alloc().  
						
						... 
						
						
						
						Change-Id: Ie81c703815a7b3fbe59ad9b406811d5ed2913d02 
						
						
					 
					
						2020-11-16 05:43:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5ad167410c 
					 
					
						
						
							
							mdbx: fix handling MDBX_GET_BOTH_RANGE.  
						
						... 
						
						
						
						Partially revert 77e84ccca87522246ccdhttps://github.com/erthink/libmdbx/issues/130 
Change-Id: Ib9f49a3e6a108a0d914ccde7ccb4dc0ef6056ff7 
						
						
					 
					
						2020-10-31 20:54:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						70241e25db 
					 
					
						
						
							
							mdbx: don't limit reclaimed-pglist if DB full.  
						
						... 
						
						
						
						More for 55d190bad9https://github.com/erthink/libmdbx/issues/123 
Change-Id: Iecd19fe8f159d29a1434d03f43f0b277f2d6ab86 
						
						
					 
					
						2020-10-30 19:22:37 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						d5658c496f 
					 
					
						
						
							
							mdbx: fix mp_txnid check for spilled pages.  
						
						... 
						
						
						
						This is OMG stupid bug.
Тем не менее, ошибка не была замечена по трём причинам:
- some TODOs should be resolved, like [this](faddc71eac/src/core.c (4014)https://github.com/erthink/libmdbx/issues/128 ).
Resolves https://github.com/erthink/libmdbx/issues/126 
Change-Id: If76336620aa83e6916e3aeaa838e0b6e68c34fd7 
						
						
					 
					
						2020-10-30 17:44:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						16c900b0a1 
					 
					
						
						
							
							mdbx: fix assertion inside mdbx_cursor_del0().  
						
						... 
						
						
						
						Change-Id: I87ad3777215bee8a2b19f53ec92299db89431fa4 
						
						
					 
					
						2020-10-29 00:55:42 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3fd079262c 
					 
					
						
						
							
							mdbx: fix extra-rare MDBX_KEY_EXIST during mdbx_commit().  
						
						... 
						
						
						
						The MDX_KEYEXISTS error could occur inside mdbx_update_gc() in the extremely rare case:
- no GC records was reclaimed before mdbx_txn_commit() called;
- there were few loose pages during the transaction;
- some reader prohibit reclaiming, therefore mdbx_page_alloc(MDBX_ALLOC_GC),
  which called for obtain present GC-record's Id, returns MDBX_NOTFOUND;
- immediately then the reader completes its transaction and unlocks reclaiming;
- mdbx_update_gc() decide that no reclaimable GC entries,
  i.e. no GC-entries with ID < find_oldest(),
  and it is safe to use find_oldest() - 1 to store loose page list;
- but find_oldest() actually returns new/larger ID than expected,
  So KEYEXISTS will returned if using this ID.
Change-Id: I9726217d6b5983f1e31a211c0eeb3edc8ff94282 
						
						
					 
					
						2020-10-26 14:37:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						77e84ccca8 
					 
					
						
						
							
							mdbx: refine mdbx_cursor_set() around the exact-flag.  
						
						... 
						
						
						
						Change-Id: Ifbad6bb4a3a4eabaf85c7986f9566705d53c45b9 
						
						
					 
					
						2020-10-26 03:52:07 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						7522246ccd 
					 
					
						
						
							
							mdbx: fix intenals for mdbx_get_equal_or_great().  
						
						... 
						
						
						
						Change-Id: I7b44df14c6f9ede4844d53e28c1b34d84fc664fa 
						
						
					 
					
						2020-10-26 00:42:21 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						005517539b 
					 
					
						
						
							
							mdbx: adds SIGPIPE suppression inside the env_copy-thread.  
						
						... 
						
						
						
						Change-Id: Ib7d22b8db7435b396bd997b65ae1d6d5d3431ba9 
						
						
					 
					
						2020-10-23 03:22:22 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						fed14c8f4c 
					 
					
						
						
							
							mdbx: minor tweak mdbx_pages_xkeep().  
						
						... 
						
						
						
						Change-Id: I6df699aeb49640b0365918c33cff05dcbcef2b71 
						
						
					 
					
						2020-10-23 03:18:00 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						55d190bad9 
					 
					
						
						
							
							mdbx: avoid MDBX_TXN_FULL while searching for a large multi-page region.  
						
						... 
						
						
						
						Resolves https://github.com/erthink/libmdbx/issues/123 
but with TODO:
 - provide a user-configurable threshold instead of currently hard-coded default (MDBX_PNL_MAX/2).
Change-Id: Ia7bfd5f8d36e027444d234e3c3aabe4832313466 
						
						
					 
					
						2020-10-22 18:04:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8a7caec54a 
					 
					
						
						
							
							mdbx: cleanup deletion internals.  
						
						... 
						
						
						
						Change-Id: Ibcc5e02d5274c4eac5d6f269bc2b029f6b30c5ab 
						
						
					 
					
						2020-10-22 16:28:44 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b0928219c3 
					 
					
						
						
							
							mdbx: fast completion pure nested transactions.  
						
						... 
						
						
						
						Change-Id: I467cc0f2f3e781bf23bf8c45eb021987ae7c123b 
						
						
					 
					
						2020-10-21 02:24:39 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						daf37363b4 
					 
					
						
						
							
							mdbx: fix cursor state after delete current entry.  
						
						... 
						
						
						
						The fix affect enough of code sections,
so there is a chance that some more changes will be required.
Resolves https://github.com/erthink/libmdbx/issues/121 
Related to https://github.com/ledgerwatch/turbo-geth/issues/1147 
Change-Id: I45b7637516de410923a0d723dbda8d818662ba15 
						
						
					 
					
						2020-10-21 02:24:33 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b964b2abf5 
					 
					
						
						
							
							mdbx: more spelling.  
						
						... 
						
						
						
						Change-Id: I45e42c1d8ef51f910b8e41279b92e54a6b2ce772 
						
						
					 
					
						2020-10-21 01:00:48 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						7001d971e1 
					 
					
						
						
							
							mdbx: clarify/refine mdbx_flush_iov().  
						
						... 
						
						
						
						Change-Id: Ib9462efdbf97e42b1e80bf130f8150072102d9ed 
						
						
					 
					
						2020-10-21 01:00:48 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						f73a8a8680 
					 
					
						
						
							
							mdbx: add latency gathering for commit stages.  
						
						... 
						
						
						
						Change-Id: If68ceb6e69e5e565ce9de0fd9a80424b6da280c5 
						
						
					 
					
						2020-10-21 01:00:48 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						7cf92b66cf 
					 
					
						
						
							
							mdbx: add LIBMDBX_INLINE_API (both inline and non-inline of some API functions).  
						
						... 
						
						
						
						Change-Id: I00c2b6d3d2a0467080791ea0c1c2242742a20c78 
						
						
					 
					
						2020-10-17 01:00:36 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						38485c9f30 
					 
					
						
						
							
							mdbx: minor refine cursor_sibling().  
						
						... 
						
						
						
						Change-Id: I2c92ef2c3081dfa0a9bdcd47de0f912a9927519e 
						
						
					 
					
						2020-10-16 18:57:07 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						112ce742f5 
					 
					
						
						
							
							mdbx: refine update_gc().  
						
						... 
						
						
						
						Change-Id: I877cdf2efb623c61dc810ec1cebb985fe925a120 
						
						
					 
					
						2020-10-12 00:09:06 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						62da4db09a 
					 
					
						
						
							
							mdbx: fix/refine the use of C11 atomics.  
						
						... 
						
						
						
						Change-Id: I5d925d4625b06296fd82f4b35ee36be682e7b2d3 
						
						
					 
					
						2020-10-11 18:54:07 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						041a4c0aa5 
					 
					
						
						
							
							mdbx: make enabling of read-ahead strategy more aggressive.  
						
						... 
						
						
						
						Change-Id: I7765c1a1ac27db86ce9676846ec5a723860dc934 
						
						
					 
					
						2020-10-11 01:14:30 +03:00