Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7aa5d9ab97 
					 
					
						
						
							
							mdbx++: доработка использования std::experimental::filesystem.  
						
						
						
						
					 
					
						2024-11-13 15:05:26 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6893a79c70 
					 
					
						
						
							
							mdbx-testing: добавление extra/cursor_closing.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6f41276dbc 
					 
					
						
						
							
							mdbx++: поддержка вложенных пишущих транзакций.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9da743515c 
					 
					
						
						
							
							mdbx-cmake: включение тестов использующих mdbx::path на Windows только для C++17 и выше.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9b9d6c6d65 
					 
					
						
						
							
							mdbx-cmake: очистка условий включения стандартов C и C++.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						bd7b272bca 
					 
					
						
						
							
							mdbx-tests: корректировка использования mdbx::default_buffer для совместимости с C++11.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						4cc1c7d8de 
					 
					
						
						
							
							mdbx: доработка MDBX_DEPRECATED_ENUM для старых компиляторов при включении С++11.  
						
						
						
						
					 
					
						2024-11-10 20:17:44 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						10a93f4b9f 
					 
					
						
						
							
							mdbx: дополнение ChangeLog.  
						
						
						
						
					 
					
						2024-11-07 11:40:16 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ca8e9fe7b1 
					 
					
						
						
							
							mdbx-testing: переименование скрипта stochastic.sh  
						
						
						
						
					 
					
						2024-11-07 09:32:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c0e5108d71 
					 
					
						
						
							
							mdbx-testing: реализация/перенос поддержки сценария мелких транзакций в long_stochastic скрипт.  
						
						
						
						
					 
					
						2024-11-07 09:32:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						00be608af9 
					 
					
						
						
							
							mdbx-testing: проверка версии bash >= 4.3  
						
						
						
						
					 
					
						2024-11-07 09:32:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6c56ed97bb 
					 
					
						
						
							
							mdbx: доработка/исправление и постоянная активация корректирующей обратной связи при обновлении GC.  
						
						... 
						
						
						
						При обновлении GC, с помещением/возвратом страниц, возникает рекурсивная
зависимость, так как страницы, необходимые для CoW-модификации GC и
размещения списков возвращаемых страниц, берутся/выделяются из этих-же
списков и/или из GC. Эта рекуррентная зависимость разрешается путём
подготовки необходимого запаса страниц и двух-стадийным заполнением
списков, с повторением всего цикла при изменении ситуации/расклада, плюс
применение некоторых эвристик и поправок. Кроме корректной работы,
принципиально важным тут является минимизация количества
повторов/рестартов процесса, в том числе исключение возможности
бесконечного зацикливания.
Существующая реализация многократно/итеративно дорабатывалась. Поэтому
она неплохо обкатана и стабильна, но одновременно сложна и запутана.
Тем не менее, до последнего момента для текущей реализации были известны
условия/сценарии, в которых сходимость итеративного процесса обновления
GC нарушалась и при фиксации транзакции возвращалась ошибка
MDBX_PROBLEM. Эти условия/сценарии очень специфичны и далеки от реальных
практических случаев, поэтому этот недостаток не мешал использованию
библиотеки.
Этим коммитом добавляется и активируется еще один механизм нацеленный на
улучшение сходимости и минимизацию повторов/рестартов. Суть механизма в
формировании и учета поправки, которая на следующем цикле позволит
учесть все переходные процессы/затраты вне зависимости от их природы, и
этим обеспечить моментальную сходимость.
В текущем понимании, описанный выше недостаток полностью
устраняется/исправляется этим коммитом. 
						
						
					 
					
						2024-11-07 09:32:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						acb15790b4 
					 
					
						
						
							
							mdbx-testing: косметика в long_stochastic.sh для уменьшения объема вывода в консоль.  
						
						
						
						
					 
					
						2024-11-06 13:43:40 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						029f14280b 
					 
					
						
						
							
							mdbx-testing: удаление /usr/bin/time так как rusage() есть в коде теста.  
						
						
						
						
					 
					
						2024-11-06 13:15:25 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						af41bcf11e 
					 
					
						
						
							
							mdbx-testing: исправление опечатки для /usr/bin/banner.  
						
						
						
						
					 
					
						2024-11-06 13:15:25 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2669f285f9 
					 
					
						
						
							
							mdbx-testing: проверка поддержки tee -p.  
						
						
						
						
					 
					
						2024-11-06 13:14:58 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						157ede4e42 
					 
					
						
						
							
							mdbx-testing: добавление опции --report-depth для сокращения накладных расходов.  
						
						
						
						
					 
					
						2024-11-06 13:14:58 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						6067ba5f9d 
					 
					
						
						
							
							mdbx-testing: минимальная обработка SIGINT/SIGTERM/SIGHUP/SIGQUIT для прозрачности прерываний в логах.  
						
						
						
						
					 
					
						2024-11-06 13:14:58 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						2c919c0efe 
					 
					
						
						
							
							mdbx-testing: предотвращение потери логов из-за отстрела gzip/lz4 в составе группы процессов.  
						
						
						
						
					 
					
						2024-11-06 13:14:58 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						de36d94aca 
					 
					
						
						
							
							mdbx: предотвращение включения отладки только из-за активации assert-проверок.  
						
						
						
						
					 
					
						2024-11-04 20:42:39 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						8571eac81b 
					 
					
						
						
							
							mdbx-cmake: корректировка пробы OpenMP.  
						
						
						
						
					 
					
						2024-10-28 08:55:37 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						dc6f29a046 
					 
					
						
						
							
							mdbx: импорт дополнений ChangeLog из ветки stable.  
						
						
						
						
					 
					
						2024-10-27 23:00:34 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						90642bffab 
					 
					
						
						
							
							mdbx: импорт обновления патча для старых версий buildroot из ветки stable.  
						
						
						
						
					 
					
						2024-10-27 22:59:20 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b8f9b8659c 
					 
					
						
						
							
							mdbx: дополнение ChangeLog.  
						
						
						
						
					 
					
						2024-10-26 23:23:17 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3d6e196422 
					 
					
						
						
							
							mdbx: исправление отрытия таблицы с пустым/нулевым именем и устранение SIGSEGV при её закрытии.  
						
						
						
						
					 
					
						2024-10-26 09:57:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						03077773cb 
					 
					
						
						
							
							mdbx-testing: добавление extra/early_close_dbi.  
						
						
						
						
					 
					
						2024-10-26 09:57:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						5dc1f36b67 
					 
					
						
						
							
							mdbx++: смена базового типа на intptr_t для размерных констант mdbx::env::geometry.  
						
						
						
						
					 
					
						2024-10-26 09:49:22 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						80708f9591 
					 
					
						
						
							
							mdbx: добавление T-макросов для парных char/wchar_t функций.  
						
						
						
						
					 
					
						2024-10-26 09:49:22 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						3049bb87b5 
					 
					
						
						
							
							mdbx: доработка mdbx_close_dbi() для возврата MDBX_DANGLING_DBI при попытке закрыть dbi-хендл измененной в транзакции таблицы.  
						
						
						
						
					 
					
						2024-10-26 09:49:22 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						7232d7b5fc 
					 
					
						
						
							
							mdbx: уточнение описания mdbx_dbi_close() для случая хендлов измененных таблиц.  
						
						
						
						
					 
					
						2024-10-23 13:28:26 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						964ee00116 
					 
					
						
						
							
							mdbx: костыль для некорректной обработки [[gnu::pure]] в Apple Clang.  
						
						
						
						
					 
					
						2024-10-23 11:26:09 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b43eed2c2b 
					 
					
						
						
							
							mdbx++: переименование внутренних методов mdbx::buffer<>::silo::bin::inplace_lastbyte().  
						
						
						
						
					 
					
						2024-10-22 22:45:29 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						06dd50580c 
					 
					
						
						
							
							mdbx: корректировка API-макросов для Doxygen.  
						
						
						
						
					 
					
						2024-10-22 22:45:29 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						bfce1cd24d 
					 
					
						
						
							
							mdbx: использование __has_c_attribute() и __has_cxx_attribute(), добавление __has_C23_or_CXX_attribute().  
						
						
						
						
					 
					
						2024-10-10 06:16:49 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						22233b0991 
					 
					
						
						
							
							mdbx: перемещение MDBX_NORETURN в прототипах assert-failed  для нового clang.  
						
						
						
						
					 
					
						2024-10-10 06:15:17 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d2b74e4da5 
					 
					
						
						
							
							mdbx-cmake: включение стандарта C23.  
						
						
						
						
					 
					
						2024-10-10 06:15:17 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						d40e4db13a 
					 
					
						
						
							
							mdbx: дополнение ChangeLog.  
						
						
						
						
					 
					
						2024-10-08 18:14:15 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						57848b1d2d 
					 
					
						
						
							
							mdbx-testing: добавление логирования С++ исключений в extra/dupfix_multiple.  
						
						
						
						
					 
					
						2024-10-08 18:13:29 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ca2dbf0933 
					 
					
						
						
							
							mdbx-testing: уменьшение кол-ва итераций extra/crunched-delete для CI.  
						
						
						
						
					 
					
						2024-10-08 18:11:16 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ecf862a4f6 
					 
					
						
						
							
							mdbx: доработка osal_jitter() для уменьшения задержек в тестах под Windows.  
						
						
						
						
					 
					
						2024-10-08 18:11:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bf58ec59f5 
					 
					
						
						
							
							mdbx: допущение 4-байтового выравнивания данных MDBX_MULTIPLE для 32-битных сборок.  
						
						... 
						
						
						
						На 32-битных платформах элементы массивов 64-битных типов могут быть
выравнены на 4-байтовую границу. Из-за этого `mdbx_put(MDBX_MULTIPLE)`
могла возвращать ошибку `MDBX_BAD_VALSIZE`, считая что переданные
пользователем данные не выровнены. 
						
						
					 
					
						2024-10-08 18:11:12 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						486fb3c36d 
					 
					
						
						
							
							mdbx-testing: исправление максимальной длины значений в extra/crunched-delete.  
						
						
						
						
					 
					
						2024-10-08 00:06:13 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						ce579bcb8e 
					 
					
						
						
							
							mdbx-testing: добавление extra/open.  
						
						
						
						
					 
					
						2024-10-07 09:12:07 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						b11998de01 
					 
					
						
						
							
							mdbx-cmake: добавление dll-костыля для Windows для работы исключений в тестах на C++.  
						
						
						
						
					 
					
						2024-10-07 09:09:35 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						54dfc1f16d 
					 
					
						
						
							
							mdbx-testing: унификация extra-тестов и интеграция в ctest.  
						
						
						
						
					 
					
						2024-10-07 09:05:08 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						0178d5b5c8 
					 
					
						
						
							
							mdbx-testing: уменьшение кол-ва итераций extra/crunched_delete для Windows.  
						
						... 
						
						
						
						До этих изменений тесты на CI могли длиться несколько часов и завершаться по таймауту, что неприемлемо. 
						
						
					 
					
						2024-10-07 09:05:08 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						9fa76a56fc 
					 
					
						
						
							
							mdbx: добавление #ifdef для iPhone.  
						
						
						
						
					 
					
						2024-09-28 08:22:14 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						42ca4edec8 
					 
					
						
						
							
							mdbx: дополнение ChangeLog.  
						
						
						
						
					 
					
						2024-09-18 21:25:10 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c96714423d 
					 
					
						
						
							
							mdbx-cmake: использование WIN32 вместо ${CMAKE_SYSTEM_NAME}.  
						
						
						
						
					 
					
						2024-09-18 21:19:27 +03:00 
						 
				 
			
				
					
						
							
							
								Леонид Юрьев (Leonid Yuriev) 
							
						 
					 
					
						
						
							
						
						c964523978 
					 
					
						
						
							
							mdbx-testing: добавление get_multiple_samelength() в extra/dupfix_multiple.  
						
						
						
						
					 
					
						2024-09-18 21:19:27 +03:00