Hallvard Furuseth
91743d66e6
mtest*.c: Fix MDB_NOOVERWRITE, plug cursor leak
2015-05-28 00:10:29 +02:00
Hallvard Furuseth
822b2d502f
ITS#8117 Fix MDB_INTEGERDUP keysize doc + md_dcmp
2015-05-28 00:08:51 +02:00
Howard Chu
6bd97d4286
ITS#8117 better fix
...
Don't change mc_dbx because we would need to undo the change if
the txn aborts. Make the fix (for get) match existing code for put.
2015-05-03 07:52:47 +01:00
Howard Chu
7127753244
Revert "ITS#8117 cleanup prev commit"
...
This reverts commit 47c4e747a0
.
Revert "ITS#8117 fix INTEGERDUP compare"
This reverts commit ba45e0c05a
.
2015-05-03 07:43:50 +01:00
Howard Chu
0fd2214a8b
ITS#8117
2015-04-29 17:30:02 +01:00
Howard Chu
47c4e747a0
ITS#8117 cleanup prev commit
2015-04-29 17:30:02 +01:00
Howard Chu
ba45e0c05a
ITS#8117 fix INTEGERDUP compare
2015-04-29 17:12:40 +01:00
Howard Chu
5cdde0c5b7
ITS#8109
2015-04-23 05:52:13 +01:00
Howard Chu
b7511480c5
ITS#8109 fix mdb_cursor_del0 on empty DB
2015-04-23 05:50:48 +01:00
Howard Chu
8cf73291fb
ITS#8106
2015-04-23 03:27:33 +01:00
Howard Chu
32d46d4ea2
ITS#8106 retry writes on EINTR
2015-04-23 03:26:03 +01:00
Hallvard Furuseth
5c89827817
Cleanup mtest* and sample-*.
...
Fix mdb_txn_begin(&read-only txn) calls. Test mdb_env_set_maxreaders().
Rename DBI open/close functions. Move mdb_dbi_close() out of txn.
2015-04-19 03:07:53 +02:00
Hallvard Furuseth
1693012d57
Reformat mdb_dbi_open() doc for clarity
2015-04-19 03:07:53 +02:00
Hallvard Furuseth
f46b642b06
mdb_txn_renew(): Clear error from previous txn
2015-04-19 03:05:47 +02:00
Howard Chu
dce0911b17
ITS#8062 fix uninit'd cursor index
2015-04-19 03:05:47 +02:00
Hallvard Furuseth
2072ae6a3b
Fix EACCES description
2015-04-19 03:05:47 +02:00
Howard Chu
b0032feb85
ITS#8062 also handle subcursors
2015-04-16 00:19:40 +01:00
Howard Chu
ddc4aa1aa3
ITS#8062
2015-04-15 23:48:09 +01:00
Howard Chu
97c7b6151e
ITS#8062 fix rebalance
...
(Probably fixes the ITS, definitely fixes a bug) when collapsing
the root page, fixups of other cursors was incomplete.
2015-04-15 23:30:52 +01:00
Quanah Gibson-Mount
dd58f3dde4
ITS#8066
2015-02-27 17:15:23 -06:00
Howard Chu
82b6a04bb7
ITS#8066 fix mdb_load with large values
2015-02-27 17:14:52 -06:00
Quanah Gibson-Mount
b7d1afad42
Happy New Year
2015-02-12 11:28:55 -06:00
Quanah Gibson-Mount
21a374f2d4
Happy New Year
2015-02-12 11:28:21 -06:00
Hallvard Furuseth
6586299f55
Restrictive mdb_copy file mode.
...
Copied from 58ddb5527b
.
2015-01-15 07:19:30 +01:00
leo@yuriev.ru
8230b1b630
ITS#7970 LMDB: Critical Heisenbug
...
Inconsistent reading & SIGSEGV due to the race condition.
2015-01-14 19:24:18 +01:00
leo@yuriev.ru
1e5d79831c
ITS#7969 LMDB: volatile.
...
Globally shared fields of meta-data were not 'volatile'.
Code from 9a80a8a8e8
,
except the unportable __synchronize().
2015-01-14 19:24:18 +01:00
Howard Chu
ea80418cfc
Fix potential null deref (coverity)
2015-01-13 19:22:42 +00:00
Hallvard Furuseth
0599dee9d4
ITS#8021 doc: Don't mix MDB_WRITEMAP + non-WRITEMAP
2015-01-12 12:20:31 +01:00
Howard Chu
bf3961e3c7
More cleanup for fdatasync hack
2015-01-12 10:41:32 +00:00
Howard Chu
e85c944a3a
Tweak conditionals for fdatasync hack
2015-01-11 11:41:08 +00:00
Howard Chu
0b9f42d1f4
ITS#8021 env_sync is invalid in RDONLY env
2015-01-09 11:25:07 +00:00
Howard Chu
4500d49f36
fdatasync hack, again
...
Check for ext3/ext4 fs, then check kernel version.
2015-01-08 13:03:55 +00:00
Howard Chu
888a76f651
Revert "Fix prev commit for env_sync0"
...
This reverts commit e95c9231fc
.
Revert "Hack for potential ext3/ext4 corruption issue"
This reverts commit 91155b9d67
.
2015-01-08 12:57:08 +00:00
Howard Chu
fe8b13f225
Tweak fdatasync hack description
2014-12-22 18:07:08 +00:00
Howard Chu
e95c9231fc
Fix prev commit for env_sync0
2014-12-21 00:14:16 +00:00
Howard Chu
02495837dc
Update for fsync hack
2014-12-18 04:46:43 +00:00
Howard Chu
91155b9d67
Hack for potential ext3/ext4 corruption issue
...
Use regular fsync() if we think this commit grew the DB file.
2014-12-18 04:45:02 +00:00
Howard Chu
e6ac9c2314
Update for 0.9.15
2014-12-17 15:29:48 +00:00
Howard Chu
a0accc86f2
Fix MDB_APPEND doc
...
We actually compare the new key against the last key, to prevent
corruption.
2014-12-15 20:45:02 +00:00
Hallvard Furuseth
f1417e2634
make clean: remove *.lo
2014-12-15 20:44:42 +00:00
Howard Chu
dcccd8a89a
Clarify mdb_dbi_open doc
...
The concurrency restriction is on threads within a single process.
Multiple processes can use mdb_dbi_open without affecting each other.
2014-12-15 20:44:30 +00:00
Leo Yuriev
196e07ca58
ITS#7987 fix excessive space for single write txn
2014-12-05 21:07:55 +00:00
Hallvard Furuseth
f284c3232d
Fix WIN32 -> _WIN32
2014-12-05 18:43:07 +01:00
Hallvard Furuseth
8704eff591
mdb_strerror: Silence warning @ Windows
2014-12-01 20:17:27 +01:00
Hallvard Furuseth
5bf495abdc
Fix comments
2014-12-01 20:17:27 +01:00
Hallvard Furuseth
3aa7537adc
Simplify recent changes a bit.
2014-12-01 20:17:27 +01:00
Hallvard Furuseth
17bf75b12e
ITS#7961,#7987 Re-fix txn init.
...
More fallout from 4d02c741b1
:
Don't modify another thread's write txn. Reinit me_txn0 fully.
2014-12-01 20:17:13 +01:00
Howard Chu
3ce002fd13
ITS#7959 fix prev commit
...
fstat returns -1, not an errno. Move code into its own function
for reuse.
2014-12-01 20:15:36 +01:00
Howard Chu
ce40f4f314
ITS#7961 fix txn init
...
More fallout from 4d02c741b1
2014-12-01 20:15:36 +01:00
Jean-Christophe DUBOIS
042e76685e
ITS#7959 Check fstat return value
...
Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
2014-12-01 20:15:36 +01:00
Leo Yuriev
c473091f8f
ITS#7841 trivial cleanup
...
TRIVIA - lmdb: clean testdb-dir while "make test".
2014-12-01 20:15:36 +01:00
Howard Chu
98ed192949
ITS#7956 fix compact of empty env
2014-12-01 20:15:36 +01:00
Howard Chu
af99820ac8
ITS#7955, #7671 fix MDB_PREV_DUP
2014-12-01 20:15:36 +01:00
Howard Chu
0482f1898d
ITS#7953 .gitignore *.lo
2014-12-01 20:15:35 +01:00
Howard Chu
9227f66673
ITS#7952 .gitignore mdb_dump/load
2014-12-01 20:15:35 +01:00
Howard Chu
20ad21dcc4
Don't use -fPIC for static lib
2014-12-01 20:15:35 +01:00
Howard Chu
df9da7c7be
Must do dlist_free before releasing Wmutex
2014-12-01 20:15:35 +01:00
Howard Chu
9eede0b103
Free write mutex earlier in txn_reset0
2014-12-01 20:15:30 +01:00
Howard Chu
a7639a66a4
Android also only has memalign
2014-09-25 19:25:56 +01:00
Howard Chu
2f587ae081
new date
2014-09-20 07:24:32 +01:00
Howard Chu
62e4eeb7f7
ITS#7943 reinit txn flags
...
When reusing the main write txn
2014-09-19 01:45:43 +01:00
Howard Chu
891e662754
Plug leak in 4d02c741b1
...
Free writer txn on env_close
2014-09-18 01:22:02 +01:00
Howard Chu
674f52fdb4
Silence some clang warnings
2014-09-16 21:54:07 +01:00
Howard Chu
b9495245b4
Release 0.9.14
2014-09-15 19:48:32 +01:00
Quanah Gibson-Mount
5ee99f1125
Change retry to num times 60. Testing shows that on a known dataset, this has the same growth behavior as 2.4.39, while num times 20 resulted in significant growth.
2014-09-13 16:21:17 -05:00
Howard Chu
3646ba966c
More for me_pgoldest
...
Leave it in main env struct, it doesn't need to be rolled back
with nested txns.
2014-09-09 19:44:23 +01:00
Howard Chu
29fd241fad
Remember oldest reader txnid
...
Don't walk the readers table unless we really need to.
2014-09-09 19:40:05 +01:00
Howard Chu
4d02c741b1
Use a single write txn
2014-09-04 10:40:11 +01:00
Howard Chu
a054a194e8
ITS#7913 cleanup
...
we already checked for data == NULL, drop unnecessary if
2014-08-24 21:18:03 +01:00
Howard Chu
8fbbc71506
More for MIPS
...
Move CACHEFLUSH, avoid unnecessary if()
2014-08-21 17:40:20 -07:00
Howard Chu
4008e5e583
Partially revert ada2630699
...
Of course, MacOSX only has posix_memalign, and only in recent versions.
(Older versions could use valloc instead. That precludes ever changing
the LMDB pagesize to be different from the OS pagesize.) Not all that
crucial since it only affects mdb_env_copyfd1.
2014-08-17 20:44:53 -07:00
Hallvard Furuseth
cf4fe3b1fb
Microoptimize loose pages
2014-08-17 01:50:32 +02:00
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