Hallvard Furuseth
|
af29f6a594
|
Kill magic numbers for NUM_METAS, databases
|
9 years ago |
Hallvard Furuseth
|
4dea7d44fa
|
ITS#7377 Catch mdb_put() to blocked/read-only txns
...early enough that txn state is left unchanged.
|
10 years ago |
Hallvard Furuseth
|
d7db12ad77
|
ITS#7377 Always notice env error on txn startup.
Move the check to the end of txn startup. Catches env
breakage which happens while the new txn waits for a lock.
|
10 years ago |
Hallvard Furuseth
|
060b63a58d
|
Cleanup: Drop !mt_dbxs hack, use MDB_TXN_FINISHED
|
10 years ago |
Hallvard Furuseth
|
3e301ec400
|
Catch most uses of finished/parent txns.
* Add MDB_TXN_FINISHED, MDB_TXN_HAS_CHILD, MDB_TXN_BLOCKED.
* Clear mt_numdbs in writers, for TXN_DBI_EXIST() to catch.
We already do in readers.
|
10 years ago |
Hallvard Furuseth
|
b6973a3324
|
Move code into mdb_txn_end(). Was mdb_txn_reset0.
Side effects:
* Clean txn up a bit even before freeing it.
* Tweak DEBUG output at txn end. Add DEBUG after commit(writer).
|
10 years ago |
Hallvard Furuseth
|
90f6fc4ba7
|
ITS#8200 Fix mdb_midl_shrink() usage, return void
|
10 years ago |
Hallvard Furuseth
|
91fc43f17c
|
Factor me_metas[toggle] out to mdb_env_pick_meta()
|
10 years ago |
Hallvard Furuseth
|
62aabaa4aa
|
Simpler mdb_node_add()
|
10 years ago |
Hallvard Furuseth
|
45e405528b
|
ITS#8181 Verify that records are/aren't DBs.
Except we don't catch the user passing F_SUBDATA to
mdb_cursor_<put/del>, like an internal LMDB call.
|
10 years ago |
Howard Chu
|
749633e48a
|
ITS#8190 fix cursor EOF bug
|
10 years ago |
Hallvard Furuseth
|
ad87d6a3f4
|
More ESECT declarations
|
10 years ago |
Hallvard Furuseth
|
ebb8b67109
|
Add DB_USRVALID, to avoid 'dbi == FREE_DBI' tests
|
10 years ago |
Hallvard Furuseth
|
5cd5e928c1
|
Simpler flag/DBI checks and MDB_DEBUG
|
10 years ago |
Hallvard Furuseth
|
4033f31acb
|
Simpler mdb_drop().
MDB_DBI_CHANGED(,MAIN_DBI) is never true.
|
10 years ago |
Hallvard Furuseth
|
be0cdc1c9d
|
Simpler mdb_node_shrink()
|
10 years ago |
Hallvard Furuseth
|
084d412f9b
|
Simpler mdb_txn_commit().
mt_env is always set.
Commit(mt_child) resets mt_child, so parent need not.
|
10 years ago |
Hallvard Furuseth
|
5305871585
|
mdb_txn_begin() cleanup
|
10 years ago |
Hallvard Furuseth
|
b6ac0cd90a
|
mdb_drop0(): Omit scanning DUPSORT sub-DB leaves
|
10 years ago |
Hallvard Furuseth
|
f702e33b6c
|
Use mdb_cmp_long() for FREE_DBI
|
10 years ago |
Hallvard Furuseth
|
11536bea25
|
mdb_env_get_flags(): Hide internal flags
|
10 years ago |
Hallvard Furuseth
|
a937740aa0
|
ITS#7969 Wrap unportable __sync_synchronize in #if
|
10 years ago |
Hallvard Furuseth
|
943b23f011
|
Restore support for Posix semaphores
|
10 years ago |
Hallvard Furuseth
|
9574b65648
|
Fix mdb_mutex_t, add mdb_mutexref_t, drop MDB_MUTEX().
Fixes the types of Windows HANDLEs, they became HANDLE*.
MDB_MUTEX() took a magic r/w arg which it's nice to get rid of.
|
10 years ago |
Hallvard Furuseth
|
8293b20cfe
|
Add MDB_USE_POSIX_MUTEX.
So far just to help aligning mdb.master and mdb.RE.
We'll make it an option later.
|
10 years ago |
Hallvard Furuseth
|
e95d57f39c
|
Use ftok() for semget(), and only lower mode bits
|
10 years ago |
Hallvard Furuseth
|
579ad14d7c
|
ITS#8156 Fix MDB_MAXKEYSIZE doc
|
10 years ago |
Hallvard Furuseth
|
aa16d7bc0a
|
ITS#8157 mdb_txn_renew0(): init after error checks
|
10 years ago |
Hallvard Furuseth
|
8d1f6ca782
|
mdb_txn_renew(): Drop pointless diff from mdb.RE.
Makes the code friendlier to "git cherry-pick".
|
10 years ago |
Hallvard Furuseth
|
02e8de5edb
|
Set/clear mp_pad, md_pad (MDB_DUPFIXED data size).
mdb_xcursor_init1(): md_pad is only used when MDB_DUPFIXED.
mdb_page_split(): Copy mp_pad too. Used by mdb_page_list().
|
10 years ago |
Hallvard Furuseth
|
9bb915675a
|
ITS#8117 Fix MDB_INTEGERDUP keysize doc + md_dcmp
|
10 years ago |
Howard Chu
|
329e12e4c5
|
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.
|
10 years ago |
Howard Chu
|
3d2202f31c
|
Revert "ITS#8117 cleanup prev commit"
This reverts commit ce7ba0ceb6 .
Revert "ITS#8117 fix INTEGERDUP compare"
This reverts commit ed13d4aa59 .
|
10 years ago |
Howard Chu
|
ce7ba0ceb6
|
ITS#8117 cleanup prev commit
|
10 years ago |
Howard Chu
|
ed13d4aa59
|
ITS#8117 fix INTEGERDUP compare
|
10 years ago |
Howard Chu
|
f4cab2994f
|
ITS#8109 fix mdb_cursor_del0 on empty DB
|
10 years ago |
Howard Chu
|
4c62fde880
|
ITS#8106 retry writes on EINTR
|
10 years ago |
Howard Chu
|
ccf4d8b385
|
ITS#8062 also handle subcursors
|
10 years ago |
Howard Chu
|
b0fca5b956
|
ITS#8062 fix rebalance
(Probably fixes the ITS, definitely fixes a bug) when collapsing
the root page, fixups of other cursors was incomplete.
|
10 years ago |
Hallvard Furuseth
|
6a86f22b2a
|
Cleanup MDB_env.me_txn0.
More fallout from 4d02c741b1 .
|
10 years ago |
Hallvard Furuseth
|
8adee9464f
|
Fix per-txn MDB_NOMETASYNC, MDB_NOSYNC.
Fallout from 4d02c741b1 . The flags
were ignored: mdb_txn_renew0/begin cleared and/or did not set them.
|
10 years ago |
Hallvard Furuseth
|
54516639ac
|
Renumber MDB_TXN_* flags, simplify flag code
|
10 years ago |
Hallvard Furuseth
|
49bb9e82e8
|
mdb_txn_renew(): Clear error from previous txn
|
10 years ago |
Howard Chu
|
d2dab3c905
|
ITS#8062 fix uninit'd cursor index
|
10 years ago |
Quanah Gibson-Mount
|
6fe12f3273
|
Happy New Year
|
10 years ago |
Howard Chu
|
8bb541bc40
|
Also support NOMETASYNC on txn_begin
|
10 years ago |
Howard Chu
|
3368d1f5e2
|
Support MDB_NOSYNC on mdb_txn_begin()
|
10 years ago |
Hallvard Furuseth
|
b2ab9910dd
|
ITS#7971 Fix reader allocation and me_numreaders
|
10 years ago |
Hallvard Furuseth
|
404697b369
|
mdb_env_set_flags(): Reject CHANGELESS flags.
Reverts part of a2ac10107e .
MDB_ROBUST needed to be accepted, but that flag is gone.
|
10 years ago |
Howard Chu
|
71741a6b08
|
Fix potential null deref (coverity)
|
10 years ago |