Hallvard Furuseth
a43fcad8c6
MDB_VL32: Match mdb_size_t type with format modifier.
...
When using format modifier "ll" or "I64", use the matching
type unsigned <long long / __int64> rather than uint64_t.
8 years ago
Hallvard Furuseth
f25d716513
Fix MDB_INTEGERKEY doc of integer types
8 years ago
Hallvard Furuseth
0842f998ee
Use mdb_size_t for line numbers in mdb_load
...
This matches the mdb_size_t entry counts.
8 years ago
Hallvard Furuseth
12ad38d67f
Fix size_t/formats -> mdb_size_t for MDB_VL32
8 years ago
Hallvard Furuseth
dff8bafb36
Factor some MDB_VL32-related '#if's out to macros
...
Add MC_OVPG() + MC_SET_OVPG(), NEED_CMP_CLONG(), MDB_CURSOR_UNREF().
8 years ago
Hallvard Furuseth
32764bcb52
Factor out MDB_SIZE_MAX, MDB_FMT_Y, MDB_FMT_Z
8 years ago
Hallvard Furuseth
84610e65da
Add error MDB_PROBLEM, replace some MDB_CORRUPTED
...
When problem is most likely in txn, not on disk.
8 years ago
Hallvard Furuseth
291c69ddbd
ITS#8209 Tweak previous fixes
...
Some _aligned_malloc() doc seems to think arg NULL = user error.
Don't know if posix_memalign() pointer is defined after failure.
9 years ago
Hallvard Furuseth
5ea12b0be8
ITS#8209 MDB_CP_COMPACT: Handle empty or broken DB
...
Preserve DB flags (use metapage#1) when main DB is empty.
Fail if metapage root != actual root in output file.
9 years ago
Hallvard Furuseth
eb7bbed967
ITS#8209 MDB_CP_COMPACT fixes
...
Handle errors. Fix cond_wait condition so mc_new
is the sole control var. Drop specious cond_waits.
Do not look at 'mo' while copythr writes it.
9 years ago
Hallvard Furuseth
c4c7833d24
mdb_env_setup_locks: Plug mutexattr leak on error
9 years ago
Hallvard Furuseth
53a0fdf1be
Init "locked" flag for SysV semaphores
9 years ago
Howard Chu
c367c1f696
ITS#8339 Solaris 10/11 robust mutex fixes
...
Check for PTHREAD_MUTEX_ROBUST_NP definition (this doesn't work
on Linux/glibc because they used an enum). Zero out mutex before
initing.
9 years ago
Howard Chu
b045bce260
ITS#8424 init cursor in mdb_env_cwalk
9 years ago
Hallvard Furuseth
e2b8b6448d
Comment ovpage code in mdb_cursor_put()
9 years ago
Howard Chu
a04aad31c2
ITS#8412 fix NEXT_DUP after cursor_del
9 years ago
Howard Chu
37081325f7
ITS#8406 fix xcursors after cursor_del
...
Don't leave them uninit'd if they now point at a valid DUP node
9 years ago
Howard Chu
c8dbd772f7
mdb_drop optimization
...
If we know there are no sub-DBs and no overflow pages, skip leaf scan.
9 years ago
Howard Chu
8fff90db7e
ITS#8393 fix MDB_GET_BOTH on non-dup record
9 years ago
Howard Chu
e46d78b7b0
MDB_VL32 - increase max write txn size
9 years ago
Howard Chu
3f62b727cc
Tweak MDB_PREV_MULTIPLE for uninit'd cursor
9 years ago
Howard Chu
d909ab2f36
Tweak Win32 errmsg buffer
9 years ago
Howard Chu
5ef1908224
ITS#8324 Map NTAPI result codes to WIN32 codes
9 years ago
Hallvard Furuseth
fcac8d0774
ITS#7992 Fix memleak in prev change
9 years ago
Howard Chu
5f5f4dab9c
Happy New Year
9 years ago
Hallvard Furuseth
e394e023e4
Fix MDB_VL32 mdb_cursor_count()/entrycount types
9 years ago
Howard Chu
3f62ddc81c
MDB_VL32 change overflow page scan
...
Just check the requested page, don't worry about any other pages
9 years ago
Howard Chu
5bf313e820
ITS#8363 Fix off-by-one in mdb_midl_shrink
9 years ago
Howard Chu
6f653ca205
MDB_VL32 more for 1ba5adb2ec
...
fix 32bit overflow in set_mapsize
9 years ago
Howard Chu
8f88b1b0ba
ITS#8324 fix a6ccef73ed
...
Removing the WRITEMAP test dropped this into the MDB_VL32 code path,
which was wrong.
9 years ago
Howard Chu
8c215aa970
ITS#8355 fix subcursors
...
make sure C_DEL gets reset in subcursor after it moves.
9 years ago
Howard Chu
b5018e26bc
Update WRITEMAP doc
9 years ago
Howard Chu
20dec1f69b
WIN64 needs off_t redefined too
9 years ago
Howard Chu
a6ccef73ed
ITS#8324 fix c4e31434c7
...
Actually, there is no guarantee that Windows will map newly written
data, so we need VirtualAlloc even for non-WRITEMAP.
9 years ago
Hallvard Furuseth
d6995599b4
lmdb.h Caveats: Reserved vs. actual mem/disk usage
9 years ago
Howard Chu
15880014ba
ITS#8346 fix typo in prev commit
9 years ago
Howard Chu
a5bf1648c6
ITS#8347 fix off-by-one in VL32 purge
9 years ago
Howard Chu
447683a824
ITS#8346 free last txn0->mt_rpages in env_close
9 years ago
Howard Chu
27b1c5f366
Add MDB_PREV_MULTIPLE
...
Logical counterpart to GET_MULTIPLE, NEXT_MULTIPLE
9 years ago
Howard Chu
5db0b54ca1
Fixups for env_copy with large files
...
wsize was being truncated to 32bits on Windows.
Only try to write 1GB at a time on Windows64;
larger writes fail with ERROR_WORKING_SET_QUOTA.
9 years ago
Howard Chu
53f624bff0
MDB_VL32 fix cursor_unref - ignore cursor with empty stack
9 years ago
Howard Chu
1c2a5888cf
ITS#8342 MDB_VL32/WIN32 - close file mapping handle in env_close
9 years ago
Howard Chu
c3852f29af
MDB_VL32 tweak prev commit
9 years ago
Howard Chu
7b9928ced4
MDB_VL32 - prevent mixing with non-VL32 builds
9 years ago
Howard Chu
90d1ee279f
MDB_VL32 - Fix me_rpmutex usage
9 years ago
Howard Chu
825ab2ad52
MDB_RESERVE doc
...
Add mdb_put text to mdb_cursor_put description for people who
fail to draw logical conclusions.
9 years ago
Howard Chu
9d75a82ae1
MDB_VL32 - fix prev commit
...
Only tweak length for read-only envs
9 years ago
Howard Chu
5eb25c5cb9
MDB_VL32 - fix for Win32 read-only envs
...
We can't map with MEM_RESERVE because that requires write access
to the underlying file/section. Mapping with the default (MEM_COMMIT)
requires that we don't map past the end of the file.
9 years ago
Howard Chu
3a2ac24f5b
MDB_VL32 - track overflow pages too
...
Otherwise they'll fill up the txn's pageref list when traversing
a DB with lots of overflow records.
9 years ago
Hallvard Furuseth
6534b804a5
mdb_page_alloc(): Use original snapshot of freeDB.
...
I can't help thinking this should be safer, and useful somewhere.
9 years ago