Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9bbf09b5c4 
					 
					
						
						
							
							mdbx: minor update README for the locations of a source code.  
						
						
						
						
					 
					
						2022-07-09 14:54:25 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9d9df11509 
					 
					
						
						
							
							mdbx: update ChangeLog.  
						
						
						
						
					 
					
						2022-07-09 14:11:36 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						61d0d63ac2 
					 
					
						
						
							
							mdbx-test: refine/fix batch-get testcase for large page size (i.e. when more pairs per page).  
						
						
						
						
					 
					
						2022-07-09 13:30:40 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						e9a1042cc2 
					 
					
						
						
							
							mdbx-test: add --pagesize NN option to long-stotastic script.  
						
						
						
						
					 
					
						2022-07-09 13:30:40 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f7f9eaff95 
					 
					
						
						
							
							mdbx-test: update Valgrind-suppressions for modern GCC.  
						
						
						
						
					 
					
						2022-07-09 13:30:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9108a241a2 
					 
					
						
						
							
							mdbx: minor fix/clarify debug logging inside page_alloc_slowpath().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9aa2aae93e 
					 
					
						
						
							
							mdbx: rework/simplify kick_longlived_readers().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9421bb424d 
					 
					
						
						
							
							mdbx: refine/simplify read-latch loop inside mdbx_txn_renew0().  
						
						... 
						
						
						
						1. Explicitly check and handle a race/collision case with `find_oldest_reader()`.
2. Handle "recovery mode" (me_stuck_meta >= 0) by the same code as for regular latch.
3. Add bailout error message for buggy compiler and/or hardware (paranoid). 
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						434ad8edc8 
					 
					
						
						
							
							mdbx: refine bind_rslot().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a4a35ce9cb 
					 
					
						
						
							
							mdbx: rework find_oldest_reader().  
						
						... 
						
						
						
						1. Fix regression `assert: oldest >= lck->mti_oldest_reader.weak` after d4bf0a3332 
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d572052178 
					 
					
						
						
							
							mdbx: refine meta_checktxnid() and meta_waittxnid().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6f6c581c6e 
					 
					
						
						
							
							mdbx: minor refine safe64_write(), safe64_read() and safe64_inc().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						baea4c81c9 
					 
					
						
						
							
							mdbx: simplify safe64_reset().  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ad5a83586b 
					 
					
						
						
							
							mdbx: fix insignificant uint8_t-casting warnings.  
						
						
						
						
					 
					
						2022-07-08 23:44:03 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b5346ee765 
					 
					
						
						
							
							mdbx: use unsigned constants for page flags (to avoid MSVC warnings).  
						
						
						
						
					 
					
						2022-07-08 21:48:08 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						db0f4e3d1e 
					 
					
						
						
							
							mdbx: minor fix mdbx_page_check() for case debug-audit enforced.  
						
						
						
						
					 
					
						2022-07-08 21:45:26 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c0a274e8ec 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						
						
						
					 
					
						2022-07-08 01:32:30 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						61825e9bc8 
					 
					
						
						
							
							mdbx: update ChangeLog for v0.11.9  
						
						
						
						
					 
					
						2022-07-08 01:17:21 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c499f2bb36 
					 
					
						
						
							
							mdbx: minor fix EINVAL from mdbx_env_set_geometry().  
						
						... 
						
						
						
						Silently growth `size_lower` to the `MIN_PAGENO` instead of returning `MDBX_EINVAL`. 
						
						
					 
					
						2022-07-08 01:14:29 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6e2a1ebfbd 
					 
					
						
						
							
							mdbx: minor fix meta_checktxnid() to avoid assertion in debug mode.  
						
						
						
						
					 
					
						2022-07-08 01:08:54 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a2c4f84f9c 
					 
					
						
						
							
							mdbx: update ChangeLog for v0.12.x  
						
						
						
						
					 
					
						2022-07-08 01:03:23 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f17bd06116 
					 
					
						
						
							
							mdbx: update ChangeLog.  
						
						
						
						
					 
					
						2022-07-08 00:27:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2cfcfcf91c 
					 
					
						
						
							
							mdbx: merge branch erigon into devel.  
						
						
						
						
					 
					
						2022-07-07 23:24:45 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						81ea7bd41e 
					 
					
						
						
							
							mdbx: fix copy&paste typo inside meta_checktxnid().  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f16bee8fa1 
					 
					
						
						
							
							mdbx: fix/setup zero mod_txnid during copy-with-compactification.  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c95143f41b 
					 
					
						
						
							
							mdbx: add poor_page().  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						19c5e4d424 
					 
					
						
						
							
							mdbx-tools: use MDBX_VALIDATION.  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6076c510f8 
					 
					
						
						
							
							mdbx-tools: refine assertions logging inside mdbx_chk.  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						bc744a843a 
					 
					
						
						
							
							mdbx: refine/speedup PAGETYPE().  
						
						
						
						
					 
					
						2022-07-07 21:48:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a812198c49 
					 
					
						
						
							
							mdbx: rework/clone page_get() to three for the cases: any, large, branch-leaf.  
						
						
						
						
					 
					
						2022-07-07 21:48:30 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						fbe97a79a3 
					 
					
						
						
							
							mdbx: more checking for a large/overflow nodes and pages.  
						
						
						
						
					 
					
						2022-07-07 21:46:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3cc7f105a5 
					 
					
						
						
							
							mdbx: fix copy&paste typo inside meta_checktxnid().  
						
						
						
						
					 
					
						2022-07-07 19:11:47 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b31b270ffd 
					 
					
						
						
							
							mdbx: refine copy-with-compactification to clear/zero unused gaps on a DB pages.  
						
						
						
						
					 
					
						2022-07-07 19:09:52 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0b5cdee6ef 
					 
					
						
						
							
							mdbx: fix mdbx_env_compact() hand when DB is corrupted or the volume of an output pages aliquot to MDBX_ENVCOPY_WRITEBUF.  
						
						
						
						
					 
					
						2022-07-07 19:05:35 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6eefa05f3d 
					 
					
						
						
							
							mdbx: minor refine CC_RETIRING handling.  
						
						
						
						
					 
					
						2022-07-07 14:10:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ca3f188370 
					 
					
						
						
							
							mdbx: extend CHECK_LEAF_TYPE() by adding CC_OVERFLOW.  
						
						
						
						
					 
					
						2022-07-07 14:10:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						498514dae1 
					 
					
						
						
							
							mdbx: remove unneeded CC_COPYING.  
						
						
						
						
					 
					
						2022-07-07 14:10:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1740f8227a 
					 
					
						
						
							
							mdbx: rework copy-with-compactification.  
						
						... 
						
						
						
						Кроме небольшого рефакторинга здесь реализуется более регулярный способ
обхода дерева при копировании с компактификаций. В частности, полная
инициализация курсоров позволяет выполнять больше проверок/контроля
структуры БД и избавиться от флажка CC_COPYING.
Beside a small refactoring, a more regular way of traversing the tree
when copying with compactification is implemented here. In particular,
full initialization of cursors allows to perform more checks/control of
the DB structure and get rid of the CC_COPYING flag. 
						
						
					 
					
						2022-07-07 14:10:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2d300d807b 
					 
					
						
						
							
							mdbx: extract node_read_bigdata().  
						
						
						
						
					 
					
						2022-07-07 14:10:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d4ef9bf233 
					 
					
						
						
							
							mdbx: rework page validation/checking, add MDBX_VALIDATION option (squashed).  
						
						... 
						
						
						
						Здесь основная часть изменений преобразующих отладочную проверку страниц
в регулярный и доступный пользователю осторожный/безопасный режим работы
с потенциально поврежденной БД.
Here the major part of the changes that transform a debugging check of
pages into a regular and user-accessible careful/safe mode for working
with a potentially corrupted database. 
						
						
					 
					
						2022-07-07 14:10:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6c5ff863ff 
					 
					
						
						
							
							mdbx: remove pp_txnid4chk(), preparing to rework of page checking/validation.  
						
						
						
						
					 
					
						2022-07-05 15:32:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d61c096313 
					 
					
						
						
							
							mdbx: drop mdbx_recent_steady_txnid() and fix extra search for steady meta-page.  
						
						
						
						
					 
					
						2022-07-02 22:53:48 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b9835389f4 
					 
					
						
						
							
							mdbx: add cache for pointers to last/steady meta-pages (off by default).  
						
						
						
						
					 
					
						2022-07-02 22:52:31 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						720b4d56be 
					 
					
						
						
							
							mdbx: bigfoot feature.  
						
						... 
						
						
						
						Chunking long list of retired pages during huge transactions commit
to avoid use sequences of pages:
 - splits a long retired page-number-list into chunks
   which fits one per single overflow/large page;
 - this requires a few unique id for keys
   for create such records into GC/freeDB;
 - just use the necessary subsequent IDs following the current
   transaction ID and then take the last of ones to update a meta-page.
Thus avoids using/allocating/searching a sequence of free pages
but just increase txnid more than one during the commit
a huge write transaction with a long retired-pages-list. 
						
						
					 
					
						2022-07-02 22:33:25 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						4f6b92248d 
					 
					
						
						
							
							mdbx: add pgop_stat.gcrtime for collect the time spent loading and searching inside GC.  
						
						
						
						
					 
					
						2022-07-01 09:27:38 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						48c6051482 
					 
					
						
						
							
							mdbx: minor fix meta_checktxnid() to avoid assertion in debug mode.  
						
						
						
						
					 
					
						2022-06-29 13:37:26 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						23bbceb367 
					 
					
						
						
							
							mdbx: minor fix EINVAL from mdbx_env_set_geometry().  
						
						... 
						
						
						
						Silently growth `size_lower` to the `MIN_PAGENO` instead of returning `MDBX_EINVAL`. 
						
						
					 
					
						2022-06-27 13:55:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						46f61c3006 
					 
					
						
						
							
							mdbx: merge branch master into devel.  
						
						
						
						
					 
					
						2022-06-27 12:39:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						065e5849da 
					 
					
						
						
							
							mdbx: speedup GC-related pnl-merge and sequence-search.  
						
						
						
						
					 
					
						2022-06-27 12:37:29 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						acce7d4b16 
					 
					
						
						
							
							mdbx-test: remove obsolete coalesce option.  
						
						
						
						
					 
					
						2022-06-27 12:37:29 +03:00