Hallvard Furuseth
26e226b2a8
Silence warning for initializer "mdb_copy my = {0}"
...
1st struct member was not a scalar.
8 years ago
Howard Chu
45a88275d2
ITS#8489 reset cursor EOF flag in cursor_set
...
It usually gets done anyway, but one of the fastpath shortcuts
bypassed this step.
8 years ago
Hallvard Furuseth
da4443a9b3
Clean up MDB_USE_ROBUST #defines
...
Make explicit and default nonzero equivalent. Parenthesize.
8 years ago
Hallvard Furuseth
36d374ba9e
Fix mdb_page_list() message
8 years ago
Howard Chu
7e2290c52b
MDB_VL32 plug rpage leak
...
mdb_cursor_set wasn't unref'ing as intended.
8 years ago
Hallvard Furuseth
77d522d151
Comment MDB_page
8 years ago
Hallvard Furuseth
8670805b4f
Doc fixes: VALID_FLAGS, mm_last_pg, mt_loose_count
8 years ago
Hallvard Furuseth
58b0ce50b3
mdb_size comments
8 years ago
Hallvard Furuseth
4d47e89f4d
MDB_VL32: Switch to mdb_size_t formats PRIu64 & co
...
Drop macro Y=MDB_FMT_Y, add Yu/Yd=MDB_PRIy(). Replace
Y"d..." -> Yd"...", Y"u..." -> Yu"..." / MDB_SCNy(u)"...".
8 years ago
Hallvard Furuseth
65d9791ada
Refactor mdb_page_get()
8 years ago
Hallvard Furuseth
f25d716513
Fix MDB_INTEGERKEY doc of integer types
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
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
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
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
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
90d1ee279f
MDB_VL32 - Fix me_rpmutex usage
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