Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						4e33bad6e7 
					 
					
						
						
							
							mdbx: отсечение хвоста ChangeLog с отделением в ChangeLog-01.  
						
						 
						
						
						
						
					 
					
						2025-03-21 00:31:54 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a313dd2fae 
					 
					
						
						
							
							mdbx: merge branch stable into master.  
						
						 
						
						
						
						
					 
					
						2025-03-21 00:11:00 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2e4962a2f3 
					 
					
						
						
							
							mdbx-docs: изменение <title> и meta-title в index.html  
						
						 
						
						
						
						
					 
					
						2025-03-20 21:50:53 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						00917f8c96 
					 
					
						
						
							
							mdbx: корректировка ChangeLog.  
						
						 
						
						
						
						
					 
					
						2025-03-20 19:15:56 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						999f8644f6 
					 
					
						
						
							
							mdbx: дополнение ChangeLog.  
						
						 
						
						
						
						
					 
					
						2025-03-20 18:02:00 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5d9fb63fb8 
					 
					
						
						
							
							mdbx: усиление контроля сигнатур курсоров (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 18:00:44 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						06f8573f5f 
					 
					
						
						
							
							mdbx: усиление контроля сигнатур курсоров.  
						
						 
						
						
						
						
					 
					
						2025-03-20 17:20:47 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1e0a1014a4 
					 
					
						
						
							
							mdbx-tests: корректировка обработки прерывания теста посредством SIGTERM/SIGINT (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 14:23:19 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7eb7931a23 
					 
					
						
						
							
							mdbx-tests: корректировка обработки прерывания теста посредством SIGTERM/SIGINT.  
						
						 
						
						
						
						
					 
					
						2025-03-20 14:13:20 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						35349cf538 
					 
					
						
						
							
							mdbx: добавление опции сборки MDBX_ENABLE_NON_READONLY_EXPORT и логирование соответствующих ситуаций (backport).  
						
						 
						
						... 
						
						
						
						Закрывает [запрос](https://gitflic.ru/project/erthink/libmdbx/issue/16 ). 
						
						
					 
					
						2025-03-20 13:55:07 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						8157d07b00 
					 
					
						
						
							
							mdbx: использование при наличии EREMOTEIO вместо ENOTBLK в качестве MDBX_EREMOTE (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 13:53:47 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3c3628c798 
					 
					
						
						
							
							mdbx-tests: кратное сокращение итераций тестов в зависимости от конфигурации Valgrind/Debug/CI (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:58:02 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3a0dbee58c 
					 
					
						
						
							
							mdbx-tests: устранение невыравненного доступа в extra/close-dbi для UBSAN (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:57:38 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						e11d419d20 
					 
					
						
						
							
							mdbx-tests: перехват и логирование исключений в extra-C++ тестах (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:56:55 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						59343d9106 
					 
					
						
						
							
							mdbx++: minor reflow Doxygen comments (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:56:07 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2127d3b7d7 
					 
					
						
						
							
							mdbx-tests: расширение extra/dupfix-multiple (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:55:41 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						065aef35ea 
					 
					
						
						
							
							mdbx++: добавление mdbx::cursor::put_multiple_samelength() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:55:10 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9653c8f45b 
					 
					
						
						
							
							mdbx: рефакторинг проверок с выносом в cursor_check_multiple() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:52:21 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7ed769e9c6 
					 
					
						
						
							
							mdbx: поддержка MDBX_MULTIPLE с нулевым размером данных (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:51:37 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						52a19fecca 
					 
					
						
						
							
							mdbx++: явное определение external-инстанцирования mdbx::buffer<> c API-атрибутами (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:50:27 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3282adf8bd 
					 
					
						
						
							
							mdbx: исправление регресса в пути обработки MDBX_MULTIPLE (backport).  
						
						 
						
						... 
						
						
						
						Пакетная вставка значений посредством операции `MDBX_MULTIPLE` могла
приводить к падениям и повреждению структуры БД. Ошибка оставалось не
замеченной из-за специфических условий проявления, которые не
реализовались в тестах.
Проблема присутствовала во всех выпусках начиная с v0.13.1, но
соответствующая ошибка не связана с конкретным коммита в истории, а
является следствием нескольких доработок (шагов рефакторинга), которые
суммарно привели к регрессу.
Технически ошибка обусловлена не-обнулением переменной, которая не
обнулялась в некотором пути выполнения и исходно не требовала обнуления,
но такое обнуление потребовалось после ряда этапов оптимизации кода и
рефакторинга.
Основным условием проявления является пакетная вставка multi-значений в
dupsort-таблицу с фиксированным размером значений, при котором набор
значений соответствующий обновляемом ключу, перестаёт помещаться на
вложенной странице и преобразуется/выносится во вложенное дерево
страниц. Если такой вынос/преобразование происходило до исчерпания
переданного набора значений, то при следующей итерации повторно
производились действия соответствующие выносу данных в отдельное дерево
страниц. Что могла приводить как к разыменованию неверных указателей
(повреждению содержимого памяти) и/или к повреждению содержимого страниц
образующих структуру БД.
Исправление свелось к добавлению одной строчки кода, но также были
расширены тесты для покрытия соответствующих сценариев. 
						
						
					 
					
						2025-03-20 01:49:42 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						529f2c2380 
					 
					
						
						
							
							mdbx-tests: уменьшение кол-ва итераций в extra/crunched-delete для 32-битных сборок во избежания MDBX_MAP_FULL (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:49:17 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1dfe1e872e 
					 
					
						
						
							
							mdbx++: добавление mdbx::cursor::seek_multiple_samelength() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:48:58 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						767ba21977 
					 
					
						
						
							
							mdbx: костыли для CLANG < 20 при использовании [[атрибутов]] C23 (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:48:22 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0a9c9840da 
					 
					
						
						
							
							mdbx-tests: существенное расширение extra/cursor-closing (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:47:56 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9c177de034 
					 
					
						
						
							
							mdbx-tests: дополнение extra/txn (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:47:24 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5f37ea60d2 
					 
					
						
						
							
							mdbx++: проверка __cpp_concepts >= 202002 для использования концептов C++ (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:46:43 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c457804fad 
					 
					
						
						
							
							mdbx: исправление затенения курсоров во вложенных транзакциях (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:46:13 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6c036add8b 
					 
					
						
						
							
							mdbx: переработка проверки курсоров на входе API-функций с добавлением cursor_check() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:44:20 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5fd319bbc2 
					 
					
						
						
							
							mdbx: переработка mdbx_txn_release_all_cursors_ex() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:42:50 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						682233ba28 
					 
					
						
						
							
							mdbx++: переформатирование (временно) неиспользуемого кода (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:41:58 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c5936eb5da 
					 
					
						
						
							
							mdbx++: удаление исключения при запросе транзакции у отсоединённого курсора (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:41:32 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d8890bc169 
					 
					
						
						
							
							mdbx++: добавление inplace_storage_size_rounding в capacity_policy для буферов (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:41:05 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						73d52c1963 
					 
					
						
						
							
							mdbx++: добавление mdbx::cursor_managed::withdraw_handle() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:40:41 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						58729a2fbd 
					 
					
						
						
							
							mdbx: корректировка описания MDBX_MVCC_RETARDED и соответствующего сообщения об ошибке (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:40:11 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5dfe3433a8 
					 
					
						
						
							
							mdbx: устранение гонки в tbl_setup(MDBX_DUPFIXED | MDBX_INTEGERDUP) при работе в разных потоках (backport).  
						
						 
						
						... 
						
						
						
						Проблема была в том, что в случаях фиксированного размера значений
clc.lmin/clc.lmax устанавливались в env->kvs[], а затем корректировались
по актуальному размеру данных в БД. Поэтому при конкурентном вызове из
разных потоков, один поток мог выполнять инициализацию, а второй
прочитать временные/промежуточные значения lmin/lmax.
В результате, при конкурентном старте транзакций в разных потоках при
использовании только-что открытого dbi-хендла, проверка допустимости
длины значения могла заканчиваться ложной ошибкой MDBX_BAD_VALSIZE. 
						
						
					 
					
						2025-03-20 01:24:34 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1720762080 
					 
					
						
						
							
							mdbx: переименование cursor_validate() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:24:30 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						91570a084f 
					 
					
						
						
							
							mdbx: добавление MDBX_SEEK_AND_GET_MULTIPLE в API операций курсора (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:17:47 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0fff8d0704 
					 
					
						
						
							
							mdbx-doc: doxygen-описания для doubtless-positioning констант (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:17:11 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						484b488f92 
					 
					
						
						
							
							mdbx-tests: добавление поддержки опции MDBX_VALIDATION и использование в стохастическом тесте (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:16:48 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2fbdaccf60 
					 
					
						
						
							
							mdbx-tests: поддержка значений on/off для опций командной строки (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:15:53 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						753b2270fd 
					 
					
						
						
							
							mdbx: добавление mdbx_cursor_close2() в API (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:14:34 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						33ceba0a5a 
					 
					
						
						
							
							mdbx: добавление cursor_reset() и cursor_drown() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:13:44 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2476fba287 
					 
					
						
						
							
							mdbx: рефакторинг cursor_eot() для упрощения txn_done_cursors() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:12:59 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2b6a768750 
					 
					
						
						
							
							mdbx: косметический рефакторинг cursor_shadow() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:12:15 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b6dcdcf2dc 
					 
					
						
						
							
							mdbx: запрещение unbind/close курсоров для вложенных транзакций (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:10:11 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						175e4a2e1b 
					 
					
						
						
							
							mdbx: проверка владельца потока владеющего транзакцией только при MDBX_TXN_CHECKOWNER=ON (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:06:56 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f9d7eb5525 
					 
					
						
						
							
							mdbx-doc: актуализация раздела MacOS в README (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 01:01:05 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						69895e2b55 
					 
					
						
						
							
							mdbx-make: поиск gnu-sed на Darwin/MacOS (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 00:57:17 +03:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						15bd9cfc89 
					 
					
						
						
							
							mdbx: удаление const у транзакции в cursor_bind() и cursor_renew() (backport).  
						
						 
						
						
						
						
					 
					
						2025-03-20 00:52:16 +03:00