Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						68e0076ca3 
					 
					
						
						
							
							mdbx: rework auto-sync by volume feature.  
						
						... 
						
						
						
						Change-Id: I0a34a65a974f28c6f0a950c11d55a43cfcfcab22 
						
						
					 
					
						2019-08-23 12:05:09 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						6f8238e1e9 
					 
					
						
						
							
							mdbx: LCK-format version 3.  
						
						... 
						
						
						
						The LCK file is re-created at every opportunity when the process that
opens the database is the only one that works with it. Thus the change
of the format of the file LCK creates only minimal compatibility
problems.
Applications using different versions of _libmdbx_ will be able to work
with one database alternately, but not at the same time. This appears to
be an acceptable inconvenience in exchange for new features.
Change-Id: I9414b3fffd53d5519c8172c57345b1eaf6e51c77 
						
						
					 
					
						2019-08-23 03:38:11 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						de88707946 
					 
					
						
						
							
							mdbx: don't shrink DB less largest reader inside mdbx_env_set_geometry().  
						
						... 
						
						
						
						Change-Id: I42a5d3a08313fb9590a6730bc0dc06c7b4f16634 
						
						
					 
					
						2019-08-23 02:34:54 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0c63859459 
					 
					
						
						
							
							mdbx: minor refine copy_asis().  
						
						... 
						
						
						
						Change-Id: I5d6240a99cba7e16e39f6466a7e582a068ab746a 
						
						
					 
					
						2019-08-23 02:34:54 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						65fd8be9b5 
					 
					
						
						
							
							mdbx: fix env_sync_ex() for out-of-txn case.  
						
						... 
						
						
						
						Change-Id: Ie19bbe1d467ce4fc83f8dfc1e367070f532ee335 
						
						
					 
					
						2019-08-23 02:34:45 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						9168f8c69d 
					 
					
						
						
							
							mdbx: fix NULL-deref bug (Coverity).  
						
						... 
						
						
						
						Change-Id: If48f1780d2887b6c2041effc6ca0f158eddb29c2 
						
						
					 
					
						2019-08-21 02:07:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						e04bfc05fa 
					 
					
						
						
							
							mdbx: rename MDBX_OSX_SPEED_INSTEADOF_DURABILITY option.  
						
						... 
						
						
						
						Change-Id: I1d0a05880507da0781ccd2bff5fa68610ad884a9 
						
						
					 
					
						2019-08-20 15:04:52 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						6f0a11f155 
					 
					
						
						
							
							mdbx: merge branch 'osx-try'.  
						
						... 
						
						
						
						This resolves https://github.com/leo-yuriev/libmdbx/issues/49 .
Change-Id: Ib20c3898e99ca229f10e7d41cda3989b8b4a832c 
						
						
					 
					
						2019-08-20 03:18:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						657d37c9e3 
					 
					
						
						
							
							mdbx: add MDBX_OSX_SPEED_OR_DURABILITY build-time #define for MacOS.  
						
						
						
						
					 
					
						2019-08-20 02:48:30 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						ccbf3a2bcf 
					 
					
						
						
							
							mdbx: rework mdbx_filesync().  
						
						
						
						
					 
					
						2019-08-20 00:56:06 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						261f697d8c 
					 
					
						
						
							
							mdbx: skip msync(MS_ASYNC) on Linux > 2.6.19.  
						
						... 
						
						
						
						Change-Id: Ic1f631ef856a09cf62353c2b0092b0341ecf4fa2 
						
						
					 
					
						2019-08-19 21:31:23 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						226cb3ac90 
					 
					
						
						
							
							mdbx: use F_FULLFSYNC on MacOS.  
						
						
						
						
					 
					
						2019-08-19 20:41:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						91088af935 
					 
					
						
						
							
							mdbx: initial OSX support.  
						
						
						
						
					 
					
						2019-08-13 02:10:03 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						7960f67ea6 
					 
					
						
						
							
							mdbx-chk: "backed-pages > file-pages" isn't error in the non-exclusive or read-only modes.  
						
						
						
						
					 
					
						2019-08-12 15:44:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bceace7a09 
					 
					
						
						
							
							mdbx: clarify shrink/grow-related internals.  
						
						
						
						
					 
					
						2019-08-12 15:44:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5244c1a9c2 
					 
					
						
						
							
							mdbx-chk: "backed-pages less filesize" isn't an error on Windows.  
						
						... 
						
						
						
						Change-Id: Iea212a469225b0617221cdf292352eb1f896b4c6 
						
						
					 
					
						2019-08-12 12:23:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						cfaed9d761 
					 
					
						
						
							
							mdbx-chk: don't use internal mdbx_filesize().  
						
						... 
						
						
						
						Change-Id: I539b92f345ba7884629b702b2568ca805466be3a 
						
						
					 
					
						2019-08-12 11:40:58 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						5b09105a6d 
					 
					
						
						
							
							mdbx-chk: check filesize/backed-pages/alloc-pages.  
						
						... 
						
						
						
						Change-Id: I231e461d81d3157441f67d2c28470283eb68920a 
						
						
					 
					
						2019-08-12 02:55:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bc3d1a84cc 
					 
					
						
						
							
							mdbx-chk: use mdbx_env_stat2() and mdbx_env_stat2() to avoid races.  
						
						... 
						
						
						
						Change-Id: Ib956c19bec0b8bf9999cf1e97b8b630f119a0906 
						
						
					 
					
						2019-08-12 02:55:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						17407c9ecc 
					 
					
						
						
							
							mdbx: add mdbx_env_info2(txn) and mdbx_env_stat2(txn).  
						
						... 
						
						
						
						Change-Id: Ifd128185a084c9dc61da140eeeaaf4b6022d3537 
						
						
					 
					
						2019-08-12 02:55:53 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						d6a2f98ef5 
					 
					
						
						
							
							mdbx: more env-signature checks.  
						
						... 
						
						
						
						Change-Id: I0155821e9b03731f755e43640d8dc9e5c12acf62 
						
						
					 
					
						2019-08-11 22:54:06 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						a6449f36f6 
					 
					
						
						
							
							mdbx-chk: more for false-positive 'wrong idl entry' fix.  
						
						... 
						
						
						
						Change-Id: I66e42a98c8f4a5c58e12adb666984fed8a70bece 
						
						
					 
					
						2019-08-11 21:41:01 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						69f831af0b 
					 
					
						
						
							
							mdbx: refine lck-posix implementation.  
						
						
						
						
					 
					
						2019-08-11 19:13:29 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						036144eed4 
					 
					
						
						
							
							mdbx-chk: fix false-positive 'wrong idl entry' error(s).  
						
						... 
						
						
						
						Исторически mdbx_env_info() получает информацию вне контекста
транзакции. Поэтому транзакция чтения, внутри которой проверяются записи
GC, может быть не последней. При этом в более новых транзакциях
последние страницы могут быть возвращены в пул нераспределенных с
уменьшением номера последней выделенной страницы. Тогда в проверяемом
снимке в записях GC могут быть номера страниц больше, чем возвращает
mdbx_env_info() в поле mi_last_pgno, что трактовалось в mdbx_chk как
ошибка.
Change-Id: I51ae102603e1eda77d6b6d511e2094410ab8c2c2 
						
						
					 
					
						2019-08-11 16:49:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8917fb30bf 
					 
					
						
						
							
							mdbx: make lck-wait ops breakable for linux/posix.  
						
						... 
						
						
						
						Change-Id: Ieb113f3c01bceced99b122988f93331d5619c2be 
						
						
					 
					
						2019-08-11 12:22:41 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bf0e0382fc 
					 
					
						
						
							
							mdbx: use O_DIRECT for db-copy.  
						
						... 
						
						
						
						Change-Id: Ib17fcdc2eba3382ed841a1e5e0a4f69f88c2491d 
						
						
					 
					
						2019-08-11 01:14:52 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bdc77df921 
					 
					
						
						
							
							mdbx: fix race-with-close for lck-posix.  
						
						... 
						
						
						
						Change-Id: Ie601ebbec8cc47d26935e12a57abe991aec1cb41 
						
						
					 
					
						2019-08-11 00:07:21 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						673f867e3c 
					 
					
						
						
							
							mdbx: minor refine Linux lck-implementation.  
						
						... 
						
						
						
						Change-Id: Ib95398f8d86eb94fc55b506066f78eda4a29f4a8 
						
						
					 
					
						2019-08-10 23:25:17 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						c6369e68a3 
					 
					
						
						
							
							mdbx: draft support for non-Linux POSIX-platforms (FreeBSD, MacOS, etc).  
						
						... 
						
						
						
						Change-Id: Iaee2dc31b134fe92fc67508d011835a60f3723e6 
						
						
					 
					
						2019-08-10 23:24:31 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						ce64c5aa37 
					 
					
						
						
							
							mdbx: use OFD (open file) locks on Linux.  
						
						... 
						
						
						
						Change-Id: Id9718da28d4e367b0ff10976d2afaaf3d18122fb 
						
						
					 
					
						2019-08-10 12:53:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						a008b0b16f 
					 
					
						
						
							
							mdbx: description of lck-implementation for Linux.  
						
						... 
						
						
						
						Change-Id: I8fe5f49a19e5cc61198ecd96dfe479d0e17c10a5 
						
						
					 
					
						2019-08-09 21:36:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						1798904cf4 
					 
					
						
						
							
							mdbx: description of internal lck API.  
						
						... 
						
						
						
						Change-Id: Ic677ba62ca566409a44234a1c0d8b0b41158fe86 
						
						
					 
					
						2019-08-09 21:34:19 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						663f3f3c58 
					 
					
						
						
							
							mdbx: conditionally use cacheflush() for linux < 2.6.11  
						
						... 
						
						
						
						Change-Id: Id34c67797e14f709f767bf1b687319cd2dfef874 
						
						
					 
					
						2019-07-22 00:19:15 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						a6bad26e1d 
					 
					
						
						
							
							mdbx: rename/clarify flush_noncoherent_cpu_writeback().  
						
						... 
						
						
						
						Change-Id: I05a5df8d2a283159f449fc1e68a14d0a1861a714 
						
						
					 
					
						2019-07-21 22:52:21 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						f39044124e 
					 
					
						
						
							
							mdbx: clarify/rework invalidate_mmap_noncoherent_cache() for MIPS.  
						
						... 
						
						
						
						Change-Id: I70c279c2ba67191c7cb93cd8875082eb9c8e58b7 
						
						
					 
					
						2019-07-21 22:52:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						0b8ac37450 
					 
					
						
						
							
							mdbx: reduces number of getpid() calls for checking PID against fork().  
						
						... 
						
						
						
						PID check could be ommited:
 - on Linux when madvise(MADV_DONTFORK) is available. i.e. after the fork()
    mapped pages will not be available for child process.
 - in Windows where fork() not available.
Change-Id: I4dd6bcb209cfc816ae3ec43825ea913d2249663c 
						
						
					 
					
						2019-07-16 11:52:10 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						4adb1ab2d8 
					 
					
						
						
							
							mdbx: portability - rename lck-posix.c to lck-linux.c  
						
						... 
						
						
						
						Change-Id: I0ecee2b1a5d8e664eb795e5f5df2fa2d3cb73c83 
						
						
					 
					
						2019-07-15 00:29:46 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						2544a621e7 
					 
					
						
						
							
							mdbx: portability - support for non-_GNU_SOURCE mode.  
						
						... 
						
						
						
						Change-Id: I9988d0ea8a9ddc06c799c65c4b2728bd17ff77e7 
						
						
					 
					
						2019-07-14 15:13:43 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						41f00485fd 
					 
					
						
						
							
							mdbx: portability - allows operation without mremap().  
						
						... 
						
						
						
						Change-Id: I7fed42d51259e582e9dbc401c78f7f829a80f71c 
						
						
					 
					
						2019-07-14 15:11:59 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						97e4f66d16 
					 
					
						
						
							
							mdbx: portability - support for musl libc.  
						
						... 
						
						
						
						Change-Id: Ida8a3bd9da896bc6c00bef931ddf3dce65bef8eb 
						
						
					 
					
						2019-07-14 15:08:10 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						cf7160bda2 
					 
					
						
						
							
							mdbx: portability - don't include malloc.h on BSD.  
						
						... 
						
						
						
						Change-Id: I67f580c073bfe52fbd2e4ff599354e6d0f597e95 
						
						
					 
					
						2019-07-14 15:08:02 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						097b274aa4 
					 
					
						
						
							
							mdbx: portability - use C11 aligned_alloc().  
						
						... 
						
						
						
						Change-Id: I61819614ce355c8a2597c9b26997458b3d16081c 
						
						
					 
					
						2019-07-14 15:07:54 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						8f7ea1844b 
					 
					
						
						
							
							mddx: portability - compatibility with BSD-style __assert().  
						
						... 
						
						
						
						Change-Id: Ic18f2de8a23597c62fab07041aeb62960e82c37a 
						
						
					 
					
						2019-07-14 15:07:47 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						b3286bad16 
					 
					
						
						
							
							mdbx: portability - fix __dll_hidden/__hidden typo.  
						
						... 
						
						
						
						Change-Id: Iccd225d8c77eafdccc7f021809c26843974153e4 
						
						
					 
					
						2019-07-14 15:07:16 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						3ac2af61aa 
					 
					
						
						
							
							mdbx: cleanup msvc-compat feature test defs.  
						
						... 
						
						
						
						Change-Id: I2c61bcecedc32beb3b0d70180da9e52cb7e6c9eb 
						
						
					 
					
						2019-07-13 12:07:14 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						eefbb7f063 
					 
					
						
						
							
							mdbx: remove extra prep_backlog_data() inside update_gc().  
						
						... 
						
						
						
						Change-Id: Ic6250159c5abe03ed0705c7a432c5eb5b17b790e 
						
						
					 
					
						2019-07-09 15:58:48 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						4ecf78163d 
					 
					
						
						
							
							mdbx: fix/refine mdbx_find_largest().  
						
						... 
						
						
						
						Change-Id: Ib40ca0014da18793be0bdae5133806304ad42819 
						
						
					 
					
						2019-07-09 03:27:23 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						53563e75bb 
					 
					
						
						
							
							mdbx: fix DB-shrinking race with copy-asis & readers.  
						
						... 
						
						
						
						Change-Id: I1e05616de03d814850a1c8ad20e83941b2d1c911 
						
						
					 
					
						2019-07-09 00:41:04 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						bd5078347b 
					 
					
						
						
							
							mdbx: refine backlog preparation inside update_gc().  
						
						... 
						
						
						
						Change-Id: Ib18842c2922afba794d6ab69337580bcea29bfe6 
						
						
					 
					
						2019-07-09 00:41:04 +03:00 
						 
				 
			
				
					
						
							
							
								Leonid Yuriev 
							
						 
					 
					
						
						
							
						
						06f16464aa 
					 
					
						
						
							
							mdbx-test: adds more jitter while DB opening.  
						
						... 
						
						
						
						Change-Id: Ic0f03f4fbe064ea00f719baa11b28cc24aafcb5b 
						
						
					 
					
						2019-07-07 21:21:54 +03:00