Pavel Medvedev
22958b0f9e
ITS#8067 add ssize_t typedef for MSVC
9 years ago
Hallvard Furuseth
de5b689308
Simpler mdb_env_write_meta()
9 years ago
Hallvard Furuseth
bde5c231bc
Kill magic numbers for NUM_METAS, databases
9 years ago
Hallvard Furuseth
8901d9cfbc
ITS#7377 Catch mdb_put() to blocked/read-only txns
...
...early enough that txn state is left unchanged.
9 years ago
Hallvard Furuseth
01342bd5d2
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.
9 years ago
Hallvard Furuseth
602c978761
Cleanup: Drop !mt_dbxs hack, use MDB_TXN_FINISHED
9 years ago
Hallvard Furuseth
a3ae2e7db1
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.
9 years ago
Hallvard Furuseth
9266843fa6
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).
9 years ago
Hallvard Furuseth
0cfc0a9736
Factor me_metas[toggle] out to mdb_env_pick_meta()
9 years ago
Hallvard Furuseth
490243424c
Simpler mdb_node_add()
9 years ago
Hallvard Furuseth
6318038138
More ESECT declarations
9 years ago
Hallvard Furuseth
110fba2ef1
Add DB_USRVALID, to avoid 'dbi == FREE_DBI' tests
9 years ago
Hallvard Furuseth
b6f0179683
Simpler flag/DBI checks and MDB_DEBUG
9 years ago
Hallvard Furuseth
06df0a4655
Simpler mdb_drop().
...
MDB_DBI_CHANGED(,MAIN_DBI) is never true.
9 years ago
Hallvard Furuseth
e5f41ce56b
Simpler mdb_node_shrink()
9 years ago
Hallvard Furuseth
9d6c973f76
Simpler mdb_txn_commit().
...
mt_env is always set.
Commit(mt_child) resets mt_child, so parent need not.
9 years ago
Hallvard Furuseth
ee06adb311
mdb_txn_begin() cleanup
9 years ago
Hallvard Furuseth
cc2a50aca2
mdb_drop0(): Omit scanning DUPSORT sub-DB leaves
9 years ago
Hallvard Furuseth
70788bfe45
Use mdb_cmp_long() for FREE_DBI
9 years ago
Hallvard Furuseth
a36f7a7fc2
mdb_env_get_flags(): Hide internal flags
9 years ago
Hallvard Furuseth
600e2b6ce0
Support robust mutexes/locks. Add mdb_mutex_t etc.
9 years ago
Hallvard Furuseth
3a71450436
Add MDB_USE_POSIX_MUTEX.
...
So far just to help aligning mdb.master and mdb.RE.
We'll make it an option later.
9 years ago
Hallvard Furuseth
f25c4f0db9
Whitespace (align with mdb.master)
9 years ago
leo@yuriev.ru
086bc04cd2
ITS#7969 Use __sync_synchronize()
...
The rest of 9a80a8a8e8
plus commit a937740aa0
.
9 years ago
Hallvard Furuseth
3f6fa7aece
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().
9 years ago
Hallvard Furuseth
c616689d9a
Cleanup MDB_env.me_txn0.
...
More fallout from 4d02c741b1
.
9 years ago
Hallvard Furuseth
c0170bc0ec
Copy some env flags to txn. Factor out flags.
...
Taken from mdb_txn_begin(,,MDB_NOMETASYNC, MDB_NOSYNC,,)
without adding those two flags yet, to align with mdb.master:
Part of 54516639ac
(Renumber...)
+ 8adee9464f
(Fix per-txn...).
9 years ago
leo@yuriev.ru
c65ca298b9
ITS#7971 mdb_txn_renew0(): Fix new readers slots.
...
commit 9a8eb95674
(mdb_txn_renew0)
plus b2ab9910dd
(reader allocation)
from mdb.master.
9 years ago
David Barbour
076b773d6b
ITS#7994 Access to current transaction ID.
...
commit b660491d3f
(mdb_txn_id())
plus c36c167cc4
(fix prev commit)
from mdb.master.
9 years ago
Hallvard Furuseth
f3d3f60e3d
Try to avoid an invalid datafile after failed init
9 years ago
Hallvard Furuseth
aa10c98f3f
For ITS#7789: Ensure mapsize >= pages in use.
...
Check new mapsizes against mm_last_pg. Move
mdb_env_init_meta0() so it can set mm_last_pg earlier.
9 years ago
Howard Chu
fc3514152f
ITS#8263, 8264, 7771, 8270
9 years ago
Ignacio Casal Quinteiro
52446f93e7
ITS#8270 win32: fix conversion error with MSVC
9 years ago
Howard Chu
24add6589b
ITS#7771 fix cursor tracking on fake pages
...
node_del shifts nodes around, cursors pointing at fake pages
need to have their mc_pg[0] corrected.
9 years ago
Hallvard Furuseth
448b4c815a
ITS#8263 streamline prev patch
9 years ago
Howard Chu
7e3c532823
ITS#8263 fix cursor tracking in cursor_put
9 years ago
Howard Chu
9ed1e57440
ITS#8264 fix cursor_del cursor tracking
...
Some destination fixups need to happen immediately after nodes
are moved, before rebalancing
9 years ago
Howard Chu
6f53771687
ITS#8258
9 years ago
Howard Chu
8bdadf68c5
ITS#8258 fix rebalance/split
...
The tree height can also increase during rebalance, not just shrink.
This can happen if update_key needs to split a parent branch page.
9 years ago
Howard Chu
eccea851ff
ITS#8259 fix usage ordering
9 years ago
Howard Chu
be1795a616
ITS#8221 fix typos
9 years ago
Howard Chu
bc7d3d9124
ITS#8221, #8256
9 years ago
Howard Chu
4b01cb3727
ITS#8221 don't merge branch pages needlessly
9 years ago
Luke Yeager
ddb7478e06
ITS#8256 Create install directories if needed
9 years ago
Howard Chu
faeaa3ae8f
ITS#7377, 8237
9 years ago
Howard Chu
d84fae3fe3
ITS#8237 fix ITS#7589 regression
9 years ago
Hallvard Furuseth
7f151b1137
ITS#7377 mdb_env_init_meta(): Catch calloc error
9 years ago
Howard Chu
9a8d38a9de
Doc tweak - MDB_RESERVE / DUPSORT incompat
...
For those people who insist on ignoring the obvious.
9 years ago
Howard Chu
d7e4e206ad
Return to release engineering
9 years ago
Howard Chu
e55956a591
Another MDB_APPEND doc tweak
...
Missed this in 7ce29b9edb
9 years ago