Commit graph

1250 commits

Author SHA1 Message Date
Howard Chu
d1814f7e5d ITS#9017 fixes for encryption 2020-10-11 01:45:45 +01:00
Howard Chu
1002664c33 Fix rawpart flag collision 2020-10-11 01:32:30 +01:00
Howard Chu
1738a2a779 Fix fallthru warning 2020-10-10 16:29:01 +01:00
Howard Chu
de08119a29 Add mdb_env_set_pagesize() 2020-10-10 16:26:24 +01:00
Howard Chu
a7df9e63a5 More RAWPART support
Use mmap to read and initialize the meta pages, raw device
may not support read/write syscalls.
2020-10-10 16:21:57 +01:00
Howard Chu
5c0dda76c9 Preliminary raw partition support
Autodetects that a block device is being used.
2020-10-10 16:12:33 +01:00
Howard Chu
8bcc050fee ITS#9278 fix robust mutex cleanup for FreeBSD
FreeBSD 11 supports robust process-shared POSIX mutexes,
but requires them to be explicitly destroyed before munmap
2020-10-10 15:24:15 +01:00
Howard Chu
034a7e98a6 ITS#9017 cleanup Windows off_t 2020-10-10 15:22:12 +01:00
Howard Chu
9c01725fae ITS#9017 doxygen comment for MDB_FIXEDSIZE 2020-10-10 15:22:00 +01:00
Howard Chu
7deed69202 ITS#9017 LMDB: fix off_t usage on Windows 2020-10-10 15:21:49 +01:00
Kris Zyp
485465b6a7 ITS#9017 LMDB: allow using fixed file size on Windows 2020-10-10 15:21:32 +01:00
Kris Zyp
dfb3bbed65 ITS#9017 LMDB: improve Windows sync commit perf 2020-10-10 15:20:54 +01:00
Howard Chu
b485f2869c ITS#9155 lmdb: free mt_spill_pgs in non-nested txn on end 2020-10-10 13:51:45 +01:00
Quanah Gibson-Mount
1cd0da08a7 Happy New Year! 2020-10-10 13:51:45 +01:00
Howard Chu
697d52b6b7 Silence spurious fallthru warning 2020-10-10 13:31:00 +01:00
Howard Chu
37e99c2b9d ITS#9118 add MAP_NOSYNC for FreeBSD 2020-10-10 13:30:09 +01:00
Howard Chu
4bdf8bf5e3 ITS#8704 add missing opt flags in prev commit 2020-10-10 13:24:49 +01:00
Howard Chu
cf074e6c1b ITS#9068 fix backslash escaping
mdb_load wasn't properly inserting escaped backslashes into the data.
mdb_dump wasn't escaping backslashes when generating printable output.
2020-10-10 13:24:30 +01:00
Kris Zyp
52fbc38925 ITS#9007 don't free loose writemap pages
Broken in ITS#8756
2020-10-10 13:24:19 +01:00
Ka Ho Ng
29f33e7b3a ITS#8978 Fix mdb_env_open2() failing when getting handle for NTDLL.dll
Always call GetModuleHandleW() with Unicode string, as mdb_fopen() is
calling CreateFileW() already.
2020-10-10 13:23:54 +01:00
Howard Chu
a51fb486d8 ITS#8969 tweak mdb_page_split
Bump up number of keys for which we use fine-grained splitpoint search
2020-10-10 13:23:39 +01:00
Howard Chu
09fb1de05e IDLs for VL32 must be same size as for 64bit 2020-10-10 13:22:09 +01:00
Howard Chu
0a202f2ac7 Happy New Year 2020-10-10 13:21:36 +01:00
Quanah Gibson-Mount
227840fe25 Happy New Year! 2020-10-10 13:21:18 +01:00
moneromooo-monero
4efa54e5f3 ITS#8857 document mdb_cursor_del does not invalidate the cursor 2020-10-10 13:20:57 +01:00
Howard Chu
0612992edf ITS#8908 DOC: GET_MULTIPLE etc don't return the key
Unnecessary since these are DUPs, the key will always be the same
2020-10-10 13:20:47 +01:00
Howard Chu
279cc7b836 ITS#8891 fix M$ WINAPI typedefs 2020-10-10 13:20:33 +01:00
Howard Chu
b65765443a ITS#8756 remove loose pg from dirty list in freelist_save 2020-10-10 13:19:04 +01:00
Howard Chu
bfe439cd52 ITS#8844 use getpid() in mdb_env_close0() 2020-10-10 13:17:18 +01:00
Howard Chu
8218d06717 ITS#8831 move flag init into readhdr
Avoid stomping on flags from 1st readhr invocation
2020-10-10 13:16:34 +01:00
Quanah Gibson-Mount
5a5e056f22 Happy New Year 2020-10-10 13:15:18 +01:00
Howard Chu
d52328b75d ITS#8819 can't use fakepage mp_ptrs directly 2020-10-10 13:12:59 +01:00
Howard Chu
bdfb167105 ITS#8324 More for Win32 NTDLL junk
Use GetProcAddress at runtime, avoid buildtime NTDLL link issues
2020-10-10 13:12:46 +01:00
Howard Chu
ec3e4ed9d8 Add mdb_drop tool 2020-10-10 13:12:34 +01:00
Howard Chu
4d747ff2f9 ITS#8760 fix regression in 0.9.19 2020-10-10 13:10:58 +01:00
Howard Chu
cf3588baae Add -a append option to mdb_load
To allow reloading of custom-sorted DBs from mdb_dump
2020-10-10 13:10:34 +01:00
Quanah Gibson-Mount
d9ef7ace69 ITS#8612 Fix Solaris builds with liblmdb
This patch fixes liblmdb builds on Solaris and derivatives by defining
_POSIX_PTHREAD_SEMANTICS
2020-10-10 13:10:14 +01:00
Hallvard Furuseth
b9488faae4 Tweak ITS#8722 fix: Use XCURSOR_REFRESH()
This checks XCURSOR_INITED() and fixes the mn_flags check.
2020-10-10 13:09:49 +01:00
Hallvard Furuseth
5601781247 XCURSOR_REFRESH() fixups/cleanup
* Check NUMKEYS(), similar to f34b61f947
  "ITS#8722 fix FIRST_DUP/LAST_DUP cursor bounds check".
* Move XCURSOR_INITED() into XCURSOR_REFRESH().  This adds a check in
  mdb_cursor_put, below /* converted, write the original data first */.
* Factor mc_ki[] out to XCURSOR_REFRESH().
* Replace an mc_pg[] with mp which is equal (mdb_cursor_del0).
2020-10-10 13:09:39 +01:00
Howard Chu
2b397001a8 ITS#8728 fix MDB_VL32 freeing overflow page 2020-10-10 13:09:09 +01:00
Howard Chu
0e91bde589 ITS#8722 fix FIRST_DUP/LAST_DUP cursor bounds check 2020-10-10 13:06:28 +01:00
Howard Chu
05d5a9d3f6 Doc tweaks
Note about DB names being C strings
2020-10-10 13:06:19 +01:00
Howard Chu
27c8cee72d Add mdb_cursor_is_db()
Return 1 if the cursor is pointing to a named DB record
2020-10-10 13:06:09 +01:00
Howard Chu
e4cf950264 mdb_dbi_open tweak
Always save the terminating NUL of the incoming DB name
Stop using the old mdb_open/mdb_close function names
 .. should consider renaming mdb_stat/mdb_drop to mdb_dbi_... too.
2020-10-10 13:05:55 +01:00
Howard Chu
3585a1eb97 ITS#8704 Fix PREVMETA, rename to PREVSNAPSHOT
and enforce exclusive access to environment. Also fix txn_begin/pick_meta
to use correct meta page, and reset the flag after successful commit.
2020-10-10 13:04:50 +01:00
Hallvard Furuseth
16839f9893 Unref ovpages when deleting them 2020-10-10 13:04:37 +01:00
Hallvard Furuseth
73d75c6215 Drop always-false MDB_WRITEMAP test when IS_DIRTY_NW() 2020-10-10 13:04:26 +01:00
Howard Chu
789c71c4c9 ITS#8704 Add MDB_PREVMETA support to tools 2020-10-10 13:04:09 +01:00
Howard Chu
d12ebb655a ITS#8704 Add PREVMETA to envflags() 2020-10-10 13:03:58 +01:00
moneromooo-monero
0158f67c14 ITS#8704 add MDB_PREVMETA flag to mdb_env_open
used to open the previous meta page, in case the latest one
is corrupted

From https://github.com/LMDB/lmdb/pull/12
2020-10-10 13:03:36 +01:00