Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						992eee4f0f 
					 
					
						
						
							
							mdbx++: добавление cursor::clone().  
						
						
						
						
					 
					
						2023-11-26 16:56:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d6a79a9c5f 
					 
					
						
						
							
							mdbx++: переименование slice::as_intXX() в slice::as_intXX_adapt() и добавление slice::as_intXX().  
						
						
						
						
					 
					
						2023-11-26 16:56:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6facd20b2b 
					 
					
						
						
							
							mdbx++: добавление buffer::as_uint64() и т.д.  
						
						
						
						
					 
					
						2023-11-26 16:56:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						e66df2c21b 
					 
					
						
						
							
							mdbx++: добавление методов buffer::hex_decode(), base64_decode(), base58_decode().  
						
						
						
						
					 
					
						2023-11-26 16:56:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						649bbb9d90 
					 
					
						
						
							
							mdbx++: добавление типа mdbx::comparator и функций mdbx::default_comparator().  
						
						
						
						
					 
					
						2023-11-26 16:56:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c8319aabe7 
					 
					
						
						
							
							mdbx++: добавление статических методов buffer::hex(), base64(), base58().  
						
						
						
						
					 
					
						2023-11-26 16:56:19 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7f21515940 
					 
					
						
						
							
							mdbx: микро-оптимизация cursor_set().  
						
						... 
						
						
						
						Чуть меньше сравнений и переходов. 
						
						
					 
					
						2023-11-26 12:25:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5abb6a9bbf 
					 
					
						
						
							
							mdbx-doc: удаление устаревшего упоминания MDBX_EAGAIN.  
						
						
						
						
					 
					
						2023-11-17 21:18:21 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c014685c01 
					 
					
						
						
							
							mdbx: обновление ChangeLog.  
						
						
						
						
					 
					
						2023-11-12 21:46:52 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						476da5f8cf 
					 
					
						
						
							
							mdbx++: добавление cursor::estimation_result и переделка cursor::estimate() (backport).  
						
						
						
						
					 
					
						2023-11-12 21:30:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b905a6a391 
					 
					
						
						
							
							mdbx: const для начала и конца диапазона в аргументах mdbx_estimate_range() (backport).  
						
						
						
						
					 
					
						2023-11-12 21:30:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d94f34b2c0 
					 
					
						
						
							
							mdbx: рефакторинг обработки MDBX_GET_MULTIPLE добавление проверки key на NULL (backport).  
						
						
						
						
					 
					
						2023-11-12 21:30:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f5ce7322c4 
					 
					
						
						
							
							mdbx: исправление авто-установки MDBX_ENV_CHECKPID для случая MDBX_ENABLE_MADVISE=0 (backport).  
						
						
						
						
					 
					
						2023-11-12 21:30:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ab5d290f11 
					 
					
						
						
							
							mdbx: проверка номеров корневых страниц в coherency_check() (backport).  
						
						
						
						
					 
					
						2023-11-12 21:29:18 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6cef39c32f 
					 
					
						
						
							
							mdbx++: добавление cursor::estimation_result и переделка cursor::estimate().  
						
						
						
						
					 
					
						2023-11-12 20:37:57 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						44beae00ec 
					 
					
						
						
							
							mdbx: const для начала и конца диапазона в аргументах mdbx_estimate_range().  
						
						
						
						
					 
					
						2023-11-12 20:37:57 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b7605e8033 
					 
					
						
						
							
							mdbx: рефакторинг обработки MDBX_GET_MULTIPLE добавление проверки key на NULL.  
						
						
						
						
					 
					
						2023-11-12 20:37:57 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						100e95957c 
					 
					
						
						
							
							mdbx-test: доработка логирования для использования после/из глобальных деструкторов.  
						
						
						
						
					 
					
						2023-11-12 20:37:57 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						cfce4ef4d3 
					 
					
						
						
							
							mdbx-test: явная установка append-режима для stdout/stderr.  
						
						
						
						
					 
					
						2023-11-12 20:37:57 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7eb2f4130e 
					 
					
						
						
							
							mdbx: использование const MDBX_txn где это возможно в API (backport).  
						
						
						
						
					 
					
						2023-11-12 19:33:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d9f49b17de 
					 
					
						
						
							
							mdbx-test: добавление тестов для mdbx_env_resurrect_after_fork().  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						af4dfe541b 
					 
					
						
						
							
							mdbx: добавление mdbx_env_resurrect_after_fork() в API.  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a22ec56938 
					 
					
						
						
							
							mdbx: использование pthread_atfork(after_fork).  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ce74fae036 
					 
					
						
						
							
							mdbx: рефакторинг и выделение env_open().  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						54efb8bd81 
					 
					
						
						
							
							mdbx: не считаем ошибки ipc-unlock критичными в случае смены pid.  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						a3e2300f58 
					 
					
						
						
							
							mdbx: возможность вызова osal_lck_destroy() в дочернем процессе после fork().  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7ad54f54b4 
					 
					
						
						
							
							mdbx: объединение lck-списка и rthc-таблицы для упрощения (де)регистрации TLS-деструкторов.  
						
						
						
						
					 
					
						2023-11-12 01:49:53 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						eddade7b99 
					 
					
						
						
							
							mdbx: корректировка префиксов имён osal-ipc функций.  
						
						
						
						
					 
					
						2023-11-12 01:00:41 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						97418d5c9c 
					 
					
						
						
							
							mdbx: рефакторинг env_handle_pathname() для одной точки выделения/освобождения памяти.  
						
						
						
						
					 
					
						2023-11-12 01:00:41 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						1b2f5f25d4 
					 
					
						
						
							
							mdbx: рефакторинг и вынос txn_abort() без кода входящих пероверок.  
						
						
						
						
					 
					
						2023-11-12 01:00:41 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2fe01eee89 
					 
					
						
						
							
							mdbx: проверка pid только для запроса активной env.  
						
						
						
						
					 
					
						2023-11-12 01:00:41 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6477e6c5de 
					 
					
						
						
							
							mdbx: исправление авто-установки MDBX_ENV_CHECKPID для случая MDBX_ENABLE_MADVISE=0.  
						
						
						
						
					 
					
						2023-11-12 01:00:41 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						dea6570fc1 
					 
					
						
						
							
							mdbx: доработка coherency_check() для случая плохих номеров корневых страниц.  
						
						
						
						
					 
					
						2023-11-11 12:29:15 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9a6f8a1bf8 
					 
					
						
						
							
							mdbx-test: увеличение tail-log до 3333 для CI.  
						
						
						
						
					 
					
						2023-11-11 12:29:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						24d5b26bc5 
					 
					
						
						
							
							mdbx-make: переименование целей.  
						
						
						
						
					 
					
						2023-11-11 12:29:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0916d24321 
					 
					
						
						
							
							mdbx: использование опции ENABLE_MEMCHECK вместо ENABLE_VALGRIND и MDBX_USE_VALGRIND.  
						
						
						
						
					 
					
						2023-11-11 12:29:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c216e1afb7 
					 
					
						
						
							
							mdbx-test: добавление проверки mdbx_dbi_rename().  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c9c02dddfb 
					 
					
						
						
							
							mdbx: добавление mdbx_dbi_rename() в API.  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						903d964f4d 
					 
					
						
						
							
							mdbx: интенсивное использование __restrict, в том числе при определении элементов структур.  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						96504bf338 
					 
					
						
						
							
							mdbx: отложенное освобождение имен связанных c dbi-хендлами и добавление опции MDBX_ENABLE_DBI_LOCKFREE.  
						
						... 
						
						
						
						Отложенное освобождение позволяет реализовать безопасное выполнение
fastpath/lockfree при повторном открытии из других потоков/транзакцйий
уже открытых subDB, что и происходит при активации добавленной опции
сборки `MDBX_ENABLE_DBI_LOCKFREE`. 
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3622669a9f 
					 
					
						
						
							
							mdbx: проверка db-флагов и ре-инициализация MainDB при изменении флагов другим процессом.  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						e6af7d7c53 
					 
					
						
						
							
							mdbx: переработка инициализации, проверки и импорта dbi-хендлов в транзакциях.  
						
						... 
						
						
						
						Ранее инициализация в транзакциях структур данных, связанных с
dbi-хендлами и subDb, выполнялась непосредственно при запуске
транзакций. Что в сценариях с большим кол-вом dbi-дексприторов (например
libfpta) порождало заметные накладные расходы, которые расли линейно от
общего кол-ва открытых subDb, а не от реально используемых в транзакции.
При использовании одной-двух сотен хендлов, при старте каждой транзакции
могли копироваться и/или обнуляться десятки килобайт. Теперь этот
недостаток устранен.
Изменена схема инициализации, валидации и импорта хендлов открытых после
старта транзакции:
1) Инициализация теперь выполняется отложенна, а при старте транзации
   обнуляется только массив с однобайтовыми статустами dbi-хендлов.
   При этом доступнва опция сборки `MDBX_ENABLE_DBI_SPARSE`, при активации
   которой используется битовая карты, что снижает объем инициализации
   при старте транзакции в 8 раз (CHAR_BIT).
2) Переработана валидация dbi-хендлов на входах API, с уменьшением кол-ва
   проверок и ветвлений до теоретического минимума.
3) Переработ импорт dbi-хендов открытых после старта транзакци, теперь
   при этом не захватывается мьютекс. 
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						796e56b9b9 
					 
					
						
						
							
							mdbx: добавление кода системной ошибки MDBX_EDEADLK.  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						4b79d46d38 
					 
					
						
						
							
							mdbx: удаление поля mt_dbxs из транзакции.  
						
						... 
						
						
						
						Явного выигрыша или проигрыша в производительности тут нет. Но теперь
меньше алиасинга указателей и чуть меньше полей в транзакциях. 
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						f317170706 
					 
					
						
						
							
							mdbx: переименование внутренних полей и макросов для улучшения читаемости кода.  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						81f386f831 
					 
					
						
						
							
							mdbx: перемещение полей внутри MDBX_txn и MDBX_env.  
						
						... 
						
						
						
						В текущем понимании так префетчер ЦПУ может быть чуть более эффективным
и чуть меньше зазоров для выравнивания. 
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						54920cd07b 
					 
					
						
						
							
							mdbx: исправление assert-проверок внутри osal_txn_lock().  
						
						
						
						
					 
					
						2023-11-11 12:29:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7a413406be 
					 
					
						
						
							
							mdbx-test: обновление исключений для Valgrind.  
						
						
						
						
					 
					
						2023-11-11 12:29:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						07fc7b9227 
					 
					
						
						
							
							mdbx-test: добавление опции --taillog в стохастический скрипт.  
						
						
						
						
					 
					
						2023-10-30 22:01:35 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ad4d00677b 
					 
					
						
						
							
							mdbx: PTHREAD_MUTEX_ERRORCHECK при MDBX_DEBUG > 0.  
						
						
						
						
					 
					
						2023-10-29 18:44:54 +03:00