Commit graph

1203 commits

Author SHA1 Message Date
Howard Chu
2fd44e3251 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-06-16 19:49:14 +01:00
Howard Chu
8d0cbbc936 ITS#9017 cleanup Windows off_t 2020-04-25 00:46:58 +01:00
Howard Chu
1f026685fd ITS#9017 doxygen comment for MDB_FIXEDSIZE 2020-04-24 15:07:33 +01:00
Howard Chu
b77c2ba72a ITS#9017 LMDB: fix off_t usage on Windows 2020-04-24 15:03:33 +01:00
Kris Zyp
147582b5dc ITS#9017 LMDB: allow using fixed file size on Windows 2020-04-24 14:47:32 +01:00
Kris Zyp
da0527ac75 ITS#9017 LMDB: improve Windows sync commit perf 2020-04-24 14:44:33 +01:00
Howard Chu
cb256f409b ITS#9155 lmdb: free mt_spill_pgs in non-nested txn on end 2020-01-23 14:51:37 +00:00
Quanah Gibson-Mount
b1afa1f2c7 Happy New Year! 2020-01-09 16:32:20 +00:00
Howard Chu
d7b515ca3b Silence spurious fallthru warning 2019-11-15 16:07:51 +00:00
Howard Chu
522c62035c ITS#9118 add MAP_NOSYNC for FreeBSD 2019-11-15 16:06:34 +00:00
Howard Chu
c3e6b4209e Revert "ITS#9116 LMDB: fix bogus error check in read-only txns"
This reverts commit 0e895ffe43.
Was not an LMDB bug.
2019-11-10 05:20:37 +00:00
Howard Chu
a2121bb078 ITS#8704 add missing opt flags in prev commit 2019-11-10 05:00:47 +00:00
Howard Chu
0e895ffe43 ITS#9116 LMDB: fix bogus error check in read-only txns 2019-11-10 04:58:35 +00:00
Howard Chu
5c012bbe03 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.
2019-08-26 17:51:53 +01:00
Kris Zyp
332718f148 ITS#9007 don't free loose writemap pages
Broken in ITS#8756
2019-04-16 10:32:42 +01:00
Ka Ho Ng
22af3288c7 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.
2019-02-17 17:47:10 +00:00
Howard Chu
4f9fe9fcea ITS#8969 tweak mdb_page_split
Bump up number of keys for which we use fine-grained splitpoint search
2019-01-30 23:43:34 +00:00
Howard Chu
ef8364575f Fix merge error 2019-01-17 19:50:03 +00:00
Howard Chu
0a954f1a67 Fix Android recognition
The official macro is __ANDROID__; ANDROID may or may not be defined.
2019-01-17 19:37:40 +00:00
Howard Chu
aa77c832b8 Add -a append option to mdb_load
To allow reloading of custom-sorted DBs from mdb_dump
2019-01-17 19:08:15 +00:00
Howard Chu
af2f8cc814 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.
2019-01-17 19:02:39 +00:00
Howard Chu
ce83455904 ITS#8704 Add MDB_PREVMETA support to tools 2019-01-17 18:59:30 +00:00
Howard Chu
7edf504106 IDLs for VL32 must be same size as for 64bit 2019-01-17 18:46:10 +00:00
Howard Chu
1de70b2130 Happy New Year 2019-01-14 19:06:20 +00:00
Quanah Gibson-Mount
11308dfe26 Happy New Year! 2019-01-14 18:39:38 +00:00
moneromooo-monero
561ba50158 ITS#8857 document mdb_cursor_del does not invalidate the cursor 2018-09-10 19:05:16 +01:00
Howard Chu
eab90d5389 ITS#8908 DOC: GET_MULTIPLE etc don't return the key
Unnecessary since these are DUPs, the key will always be the same
2018-08-29 01:25:01 +01:00
Howard Chu
26c7df88e4 ITS#8891 fix M$ WINAPI typedefs 2018-08-06 13:10:59 +01:00
Howard Chu
1ffe472a08 ITS#8756 remove loose pg from dirty list in freelist_save 2018-06-22 16:30:13 +01:00
Howard Chu
86a90cad72 ITS#8844 use getpid() in mdb_env_close0() 2018-05-02 17:05:29 +01:00
Howard Chu
7aa7fadc5b ITS#8831 move flag init into readhdr
Avoid stomping on flags from 1st readhr invocation
2018-04-02 18:01:19 +01:00
Quanah Gibson-Mount
0a2622317f Happy New Year 2018-03-22 15:20:57 +00:00
Howard Chu
3b0f68a462 ITS#8819 can't use fakepage mp_ptrs directly 2018-03-20 18:34:56 +00:00
Howard Chu
e85ae1fe88 ITS#8324 More for Win32 NTDLL junk
Use GetProcAddress at runtime, avoid buildtime NTDLL link issues
2018-02-18 21:54:20 +00:00
Howard Chu
55fcd0cfee Add mdb_drop tool 2017-11-19 19:44:53 +00:00
Howard Chu
4d5e2d2a2a ITS#8760 fix regression in 0.9.19 2017-10-26 19:07:35 +01:00
Quanah Gibson-Mount
bb8502f088 ITS#8612 Fix Solaris builds with liblmdb
This patch fixes liblmdb builds on Solaris and derivatives by defining
_POSIX_PTHREAD_SEMANTICS
2017-10-06 11:35:37 -07:00
Hallvard Furuseth
8c2c5e2b4b Tweak ITS#8722 fix: Use XCURSOR_REFRESH()
This checks XCURSOR_INITED() and fixes the mn_flags check.
2017-09-11 00:00:14 +02:00
Hallvard Furuseth
7ead4169b6 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).
2017-09-10 23:59:35 +02:00
Howard Chu
fbdd452799 ITS#8728 fix MDB_VL32 freeing overflow page 2017-09-09 15:08:03 +01:00
Howard Chu
f34b61f947 ITS#8722 fix FIRST_DUP/LAST_DUP cursor bounds check 2017-09-06 21:16:47 +01:00
moneromooo-monero
3daab3be73 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
2017-07-31 18:48:30 +01:00
Howard Chu
47ca2f7095 ITS#8699 more for cursor_del ITS#8622
Set C_DEL flag on reinit'd subcursor
2017-07-26 21:37:40 +01:00
Howard Chu
4d2154397a ITS#8622 fix xcursor after cursor_del
Re-fix 6b1df0e4c7 from ITS#8406
2017-03-23 20:55:12 +00:00
Hallvard Furuseth
b5e5fcc31d ITS#8582 Fill in MDB_LOCK_FORMAT
Attempt to stop liblmdb variants compiled with conflicting options
from using the lockfile at the same time and thus breaking it.
2017-03-19 13:24:08 +01:00
Hallvard Furuseth
52c0df1d50 Clear any struct padding in idbuf 2017-03-19 13:21:52 +01:00
Hallvard Furuseth
172d825155 Simplify mdb_hash_val() -> mdb_hash()
Simpler usage since it's only called once, rename to match new usage,
and drop 3 loop pessimizations which were optimizations 20 years ago.
2017-03-19 13:21:52 +01:00
Hallvard Furuseth
68eda68f0b Store lock ID instead of pathname in lockfile
This limits the namespace which the user can meddle with for
POSIX semaphores and Windows mutexes.  Their names change a
bit, they no longer have fixed lengths.
2017-03-19 13:21:51 +01:00
Hallvard Furuseth
58ba039b8f ITS#8582 MDB_LOCK_VERSION = 2 due to format change 2017-03-04 13:03:15 +01:00
Howard Chu
e36517dbbe ITS#8582 keep mutex at end of struct
since it's variable size on Linux/glibc
2017-02-06 15:09:26 +00:00