Howard Chu
b87dedd99e
ITS#9376 Fixes for repeated deletes with xcursor
...
On DUPSORT DBs, must initialize xcursor regardless of whether
caller requested its data. Also in cursor_prev must check whether
cursor index is still within range before using it.
2020-10-23 17:03:54 +00:00
Howard Chu
93c72a7726
ITS#9364 add sample for authenticated encryption
2020-10-11 17:29:54 +01:00
Howard Chu
0bc8a4e929
ITS#9364 add error code texts
2020-10-11 14:07:26 +01:00
Howard Chu
8dc526c54f
ITS#9364 rework crypto API
...
And add support for per-page checksums. Reserve space for checksum
at tail of page. Pass pgno+txnid as IV input for encryption.
2020-10-11 13:56:52 +01:00
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
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
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
0a202f2ac7
Happy New Year
2020-10-10 13:21:36 +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
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
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
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
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
Hallvard Furuseth
b4ddec0bb4
Expose MDB_ENCRYPT flag
2020-10-10 13:03:21 +01:00
Hallvard Furuseth
6e1f74856d
Rename mdb_env_getflags->envflags, clarify options
...
The old name resembled existing function mdb_env_get_flags().
2020-10-10 13:03:01 +01:00
Hallvard Furuseth
8b31a4a62b
mdb_page_get() can ignore the toplevel spill list
...
...when we search dirty list before instead of after spill list.
2020-10-10 13:02:52 +01:00
Hallvard Furuseth
d6cf476169
Drop mdb_page_get() arg 'level', it's always NULL
2020-10-10 13:01:46 +01:00
Hallvard Furuseth
61b5b6270d
Doc fixes
2020-10-10 13:00:52 +01:00
Hallvard Furuseth
24f437df86
Less hungry mdb_pages_xkeep()
...
Skip pages that are dirty only in an ancestor txn
2020-10-10 13:00:42 +01:00
Hallvard Furuseth
972917449d
Keep MC_OVPG() == NULL when not MDB_REMAPPING()
...
Needed since 418ea8b94e14567ba2be9f9772f38f563a0d7e9c introduced
option MDB_REMAP_CHUNKS.
2020-10-10 13:00:27 +01:00