Hallvard Furuseth
1e7eeed28d
Fix loose pages in mdb_freelist_save().
...
Leaving them in dirty_list caused breakage. Instead merge them
into me_pghead at the end, when no more pages will be allocated.
2014-08-17 00:29:12 +02:00
Hallvard Furuseth
983f896aa7
Split out mdb_midl_xmerge, add MDB_IDL_ALLOCLEN
2014-08-16 11:34:44 +02:00
Howard Chu
992a96e171
ITS#7917
2014-08-11 11:01:20 -07:00
Howard Chu
322cd26a7b
ITS#7917 fix mdb_dbi_open
...
Don't let dummy go out of scope
2014-08-11 11:00:11 -07:00
Howard Chu
ada2630699
Just use memalign, not posix_memalign
...
Everything has it. Solaris doesn't have posix_memalign.
2014-08-07 11:06:53 -07:00
Howard Chu
899b23f89d
More for MIPS
...
Do a cacheflush after writing data pages, separate from meta's cacheflush
2014-08-04 11:40:24 -07:00
Howard Chu
ae0c9f484d
ITS#7793 more for branch key update
2014-08-04 09:26:35 -07:00
Howard Chu
9cf1749f73
ITS#7793 doc update, again
2014-08-04 05:13:29 -07:00
Howard Chu
f21f15e5a0
ITS#7793 update branch key if needed
2014-08-04 04:57:53 -07:00
Howard Chu
9febe03eb5
More for MIPS
...
Paranoia for 3630066843
do the
cacheflush before setting mti_txnid.
2014-08-02 10:33:35 -07:00
Howard Chu
8498c6cba2
ITS#7913 mdb_cursor_get(*_DUP) cleanup
...
FIRST_DUP/LAST_DUP should succeed even on non-duplicate values
PREV_DUP should reset cursor's EOF flag.
2014-07-31 09:59:52 -07:00
Howard Chu
3630066843
Fix MIPS cache coherency on Linux
...
MIPS chips require manual control of on-chip caches. The cacheflush
syscall being used here only exists on MIPS Linux, other OSs will
require revisiting.
2014-07-26 18:16:02 -07:00
Howard Chu
d098184f61
Update date
2014-07-24 04:15:45 -07:00
Howard Chu
082bac1492
more for mdb_cursor_count
...
return MDB_NOTFOUND if the cursor is empty
2014-07-24 04:13:55 -07:00
Hallvard Furuseth
6cb1166635
Fix mdb_copy & co when MDB pagesize < OS pagesize
2014-07-24 04:04:24 -07:00
Howard Chu
1b08d8e503
ITS#7789 doc updates
2014-07-23 17:31:34 -07:00
Hallvard Furuseth
81b502e17e
ITS#7789 Fix mdb_env_write_meta().
...
Always write mapsize = max(other metapage:mapsize, env:mapsize).
2014-07-23 17:25:42 -07:00
Howard Chu
7ef970436d
Revert ITS#7789 commits, let's try this again.
...
Revert "ITS#7789 Fix resize vs MDB_NOMETASYNC, and a comment."
Revert "ITS#7789 more"
Revert "Revert "ITS#7789 update RESIZED errmsg text""
Revert "ITS#7789 update RESIZED errmsg text"
Revert "ITS#7789 persist mapsize changes"
This reverts commit 02285aca58
.
This reverts commit 38e71c68de
.
This reverts commit a5e4eecb1e
.
This reverts commit d8e18551c3
.
This reverts commit 5926e54bba
.
2014-07-23 17:19:33 -07:00
Howard Chu
015d6b909a
Fix env_open mode bits
2014-07-21 18:20:31 -07:00
Howard Chu
58e9c3add8
Fix mdb_cursor_count, reject uninit'd cursor
2014-07-21 08:33:59 -07:00
Howard Chu
fcb0768e7d
Silence prototype warnings
2014-07-21 08:11:33 -07:00
Howard Chu
204637b18d
Typo
2014-07-14 09:53:53 -07:00
Howard Chu
9049efe493
ITS#7896 fix for mdb_env_map
...
Don't pass non-NULL map address unless MDB_FIXEDMAP was used.
2014-07-14 09:53:36 -07:00
Howard Chu
886ee41d55
More for cursor EOF
...
Must also set in sub-cursor if deleting entire subDB
2014-07-09 15:03:54 -07:00
Howard Chu
7f038d0f15
Zero-init copy2 writebuf
2014-07-09 12:05:37 -07:00
Hallvard Furuseth
2825ad64c2
MDB_MAXKEYSIZE = 0 (dynamic value) when MDB_DEVEL
2014-07-09 20:18:08 +02:00
Hallvard Furuseth
b3dedde612
MDB_DEVEL doxygen fix
2014-07-09 20:17:13 +02:00
Hallvard Furuseth
02285aca58
ITS#7789 Fix resize vs MDB_NOMETASYNC, and a comment.
2014-07-09 20:16:33 +02:00
Howard Chu
bda6a60ad4
Windows fixes
...
Always set the filesize when opening for writes. Otherwise
can't use backups from mdb_copy.
2014-07-09 10:22:25 -07:00
Howard Chu
f3573a7383
Windows compat
...
We mainly use Win32 functions, so cannot just use C-runtime strerror
to return error messages. We have to use Win32-specific messages.
Unfortunately, we document the API to return C-runtime error codes,
so we can't just switch to all Win32 error codes.
2014-07-09 10:02:21 -07:00
Howard Chu
c4d0f90fce
Fix loading of printable dump
...
Off-by-one in end check, would complain on valid input.
2014-07-09 09:16:03 -07:00
Howard Chu
38e71c68de
ITS#7789 more
...
persist size changes from env_open() as well. This was the
original behavior.
2014-07-09 06:54:32 -07:00
Howard Chu
a5e4eecb1e
Revert "ITS#7789 update RESIZED errmsg text"
...
This reverts commit d8e18551c3
.
And partially reverts mapsize check. Only mapsize increases are relevant.
2014-07-09 06:19:06 -07:00
Howard Chu
d5371347e8
ITS#7825 more
...
Set read txn's dbiseqs to env's. Set child txn's dbiseqs to parent's.
Simplify DBI_CHANGED test, no need to check md_name. No-op dbi_close
of already closed handle.
2014-07-09 05:55:30 -07:00
Howard Chu
e0273020bd
Updates #7789 , #7825
2014-07-08 21:40:11 -07:00
Howard Chu
276aa55969
ITS#7825 more
...
only update dbiseq in dbi_open on write txns
2014-07-08 21:31:48 -07:00
Howard Chu
04851e442f
ITS#7825 tweak prev commit
...
dbiseqs are only checked in write txns so omit from read txns
2014-07-08 21:22:07 -07:00
Howard Chu
0401f2deed
ITS#7825 add MDB_BAD_DBI error code
...
Use DBI sequence numbers to detect DBIs being closed while in use.
2014-07-08 21:02:40 -07:00
Howard Chu
d8e18551c3
ITS#7789 update RESIZED errmsg text
2014-07-08 20:05:31 -07:00
Howard Chu
5926e54bba
ITS#7789 persist mapsize changes
...
Write decreases too, not just increases. Check for any size change
that was not requested by this process.
2014-07-08 19:18:02 -07:00
Howard Chu
604256ceff
Update LMDB version date/info
2014-07-08 16:37:28 -07:00
Howard Chu
2f04728471
ITS#7892 Fix MacOSX section name
2014-07-08 16:27:03 -07:00
Hallvard Furuseth
e1a676eb18
ITS#7713 cleanups
...
'#ifdef MDB_DEVEL' -> '#if MDB_DEVEL'
Fix comments, use actual PAGEBASE macro as originally intended.
Actually enable 64K pages. Set MDB_DATA_VERSION for testing only.
2014-07-08 15:01:18 -07:00
Hallvard Furuseth
6ed295b256
Fixes for loose pages
...
mdb_txn_commit(child): Give loose pages to parent.
Use a pointer beyond the page header instead of mp_next, so
we will not need to save/restore mp_pgno. This avoids a crash
caused by references to mp_pgno.
2014-07-08 14:39:57 -07:00
Howard Chu
b3e8c71dc7
Re-fix cursor EOF
...
Fix in 534dcc7212
was in wrong place
2014-07-08 11:54:24 -07:00
Howard Chu
68e6faad5c
ITS#7713 handle 65536 byte page size
...
Fix mp_lower/mp_upper to exclude PAGEHDRSZ, which means our
max mp_upper is now pagesize - PAGEHDRSZ and won't overflow.
Currently must define MDB_DEVEL to use. Will be default for
LMDB 1.0/OpenLDAP 2.5
2014-07-07 17:31:15 -07:00
Howard Chu
534dcc7212
Set xcursor EOF after deleting last entry
2014-07-07 17:13:51 -07:00
Howard Chu
1ac5147fc1
Compacting copy doesn't need to snapshot metas
2014-07-06 17:47:25 -07:00
Howard Chu
61f7ec9bfa
Windows fixes
2014-07-06 07:49:38 -07:00
Howard Chu
7d996d7f3d
Play games with object file layout
...
Use gcc section attribute to keep less frequently used functions
away from main code.
2014-07-05 08:48:47 -07:00