Hallvard Furuseth
36d374ba9e
Fix mdb_page_list() message
2016-08-21 23:20:22 +02:00
Howard Chu
7e2290c52b
MDB_VL32 plug rpage leak
...
mdb_cursor_set wasn't unref'ing as intended.
2016-08-11 21:30:56 +01:00
Hallvard Furuseth
77d522d151
Comment MDB_page
2016-08-02 22:17:54 +02:00
Hallvard Furuseth
8670805b4f
Doc fixes: VALID_FLAGS, mm_last_pg, mt_loose_count
2016-08-02 22:16:09 +02:00
Hallvard Furuseth
58b0ce50b3
mdb_size comments
2016-08-02 21:04:17 +02:00
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)"...".
2016-08-02 21:02:35 +02:00
Hallvard Furuseth
65d9791ada
Refactor mdb_page_get()
2016-07-23 12:45:46 +02:00
Hallvard Furuseth
f25d716513
Fix MDB_INTEGERKEY doc of integer types
2016-07-23 12:18:01 +02:00
Hallvard Furuseth
12ad38d67f
Fix size_t/formats -> mdb_size_t for MDB_VL32
2016-07-23 12:16:20 +02:00
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().
2016-07-23 12:11:34 +02:00
Hallvard Furuseth
32764bcb52
Factor out MDB_SIZE_MAX, MDB_FMT_Y, MDB_FMT_Z
2016-07-23 12:08:12 +02:00
Hallvard Furuseth
84610e65da
Add error MDB_PROBLEM, replace some MDB_CORRUPTED
...
When problem is most likely in txn, not on disk.
2016-07-14 05:53:21 +02:00
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.
2016-06-29 06:25:37 +02:00
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.
2016-06-25 07:57:04 +02:00
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.
2016-06-25 07:55:34 +02:00
Hallvard Furuseth
c4c7833d24
mdb_env_setup_locks: Plug mutexattr leak on error
2016-06-05 23:42:44 +02:00
Hallvard Furuseth
53a0fdf1be
Init "locked" flag for SysV semaphores
2016-06-03 06:11:54 +02:00
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.
2016-06-02 21:01:27 +01:00
Howard Chu
b045bce260
ITS#8424 init cursor in mdb_env_cwalk
2016-05-15 00:44:54 +01:00
Hallvard Furuseth
e2b8b6448d
Comment ovpage code in mdb_cursor_put()
2016-05-10 07:11:44 +02:00
Howard Chu
a04aad31c2
ITS#8412 fix NEXT_DUP after cursor_del
2016-04-26 12:52:21 +01:00
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
2016-04-18 18:07:56 +01:00
Howard Chu
c8dbd772f7
mdb_drop optimization
...
If we know there are no sub-DBs and no overflow pages, skip leaf scan.
2016-04-09 20:42:45 +01:00
Howard Chu
8fff90db7e
ITS#8393 fix MDB_GET_BOTH on non-dup record
2016-03-28 01:36:26 +01:00
Howard Chu
3f62b727cc
Tweak MDB_PREV_MULTIPLE for uninit'd cursor
2016-02-16 23:38:43 +00:00
Howard Chu
d909ab2f36
Tweak Win32 errmsg buffer
2016-02-15 00:07:04 +00:00
Howard Chu
5ef1908224
ITS#8324 Map NTAPI result codes to WIN32 codes
2016-02-14 23:53:05 +00:00
Hallvard Furuseth
fcac8d0774
ITS#7992 Fix memleak in prev change
2016-02-04 03:23:13 +01:00
Howard Chu
5f5f4dab9c
Happy New Year
2016-01-30 12:54:32 +00:00
Hallvard Furuseth
e394e023e4
Fix MDB_VL32 mdb_cursor_count()/entrycount types
2016-01-28 19:45:01 +01:00
Howard Chu
3f62ddc81c
MDB_VL32 change overflow page scan
...
Just check the requested page, don't worry about any other pages
2016-01-28 14:23:02 +00:00
Howard Chu
6f653ca205
MDB_VL32 more for 1ba5adb2ec
...
fix 32bit overflow in set_mapsize
2016-01-27 11:48:22 +00:00
Howard Chu
8f88b1b0ba
ITS#8324 fix a6ccef73ed
...
Removing the WRITEMAP test dropped this into the MDB_VL32 code path,
which was wrong.
2016-01-26 22:13:01 +00:00
Howard Chu
8c215aa970
ITS#8355 fix subcursors
...
make sure C_DEL gets reset in subcursor after it moves.
2016-01-24 11:35:42 +00:00
Howard Chu
20dec1f69b
WIN64 needs off_t redefined too
2016-01-20 01:30:57 +00:00
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.
2016-01-16 17:13:25 +00:00
Howard Chu
15880014ba
ITS#8346 fix typo in prev commit
2016-01-12 07:13:48 +00:00
Howard Chu
a5bf1648c6
ITS#8347 fix off-by-one in VL32 purge
2016-01-11 20:25:33 +00:00
Howard Chu
447683a824
ITS#8346 free last txn0->mt_rpages in env_close
2016-01-11 20:17:42 +00:00
Howard Chu
27b1c5f366
Add MDB_PREV_MULTIPLE
...
Logical counterpart to GET_MULTIPLE, NEXT_MULTIPLE
2016-01-07 18:28:29 +00:00
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.
2016-01-02 12:31:49 +00:00
Howard Chu
53f624bff0
MDB_VL32 fix cursor_unref - ignore cursor with empty stack
2015-12-28 20:31:09 +00:00
Howard Chu
1c2a5888cf
ITS#8342 MDB_VL32/WIN32 - close file mapping handle in env_close
2015-12-28 19:38:32 +00:00
Howard Chu
90d1ee279f
MDB_VL32 - Fix me_rpmutex usage
2015-12-22 20:24:26 +00:00
Howard Chu
9d75a82ae1
MDB_VL32 - fix prev commit
...
Only tweak length for read-only envs
2015-12-22 06:13:25 +00:00
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.
2015-12-22 05:20:33 +00:00
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.
2015-12-22 04:22:01 +00:00
Hallvard Furuseth
6534b804a5
mdb_page_alloc(): Use original snapshot of freeDB.
...
I can't help thinking this should be safer, and useful somewhere.
2015-12-22 04:21:23 +00:00
Hallvard Furuseth
33025182cc
Prep for next commit: C_WRITEMAP, C_ORIG_RDONLY.
...
No change in behavior.
2015-12-22 04:21:13 +00:00
Hallvard Furuseth
397d85d13c
Pass cursor to mdb_page_get(), mdb_node_read().
...
No change in behavior.
2015-12-22 04:20:41 +00:00