4355 Commits

Author SHA1 Message Date
Howard Chu
9f97c1d2ef Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-10-31 09:28:51 +00:00
Howard Chu
caca4d8be6 Use MDB_USE_ROBUST not MDB_NO_ROBUST 2015-10-31 02:27:31 +00:00
Howard Chu
447f552756 Add MDB_NO_ROBUST to disable Robust Mutexes 2015-10-31 02:12:31 +00:00
Howard Chu
597ce61000 ITS#8295 fix Windows microsecond timer
Also add ldap_pvt_gettimeofday() to
emulate gettimeofday on Windows
2015-10-28 13:49:25 +00:00
Howard Chu
65f3ad14d5 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-10-26 20:19:04 +00:00
Howard Chu
550df2a583 More misc updates 2015-10-26 20:18:19 +00:00
Hallvard Furuseth
f1e07f9d14 Fix typo in mdb_tassert().
No effect on current code.
2015-10-25 14:40:27 +01:00
Pavel Medvedev
56adc467a6 ITS#8069 char* strings on Windows are ASCII 2015-10-25 10:56:39 +01:00
Pavel Medvedev
22958b0f9e ITS#8067 add ssize_t typedef for MSVC 2015-10-25 10:56:39 +01:00
Hallvard Furuseth
de5b689308 Simpler mdb_env_write_meta() 2015-10-25 10:56:39 +01:00
Hallvard Furuseth
bde5c231bc Kill magic numbers for NUM_METAS, databases 2015-10-25 10:56:38 +01:00
Hallvard Furuseth
8901d9cfbc ITS#7377 Catch mdb_put() to blocked/read-only txns
...early enough that txn state is left unchanged.
2015-10-25 10:55:22 +01:00
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.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
602c978761 Cleanup: Drop !mt_dbxs hack, use MDB_TXN_FINISHED 2015-10-25 10:55:22 +01:00
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.
2015-10-25 10:55:22 +01:00
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).
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
0cfc0a9736 Factor me_metas[toggle] out to mdb_env_pick_meta() 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
490243424c Simpler mdb_node_add() 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
6318038138 More ESECT declarations 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
110fba2ef1 Add DB_USRVALID, to avoid 'dbi == FREE_DBI' tests 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
b6f0179683 Simpler flag/DBI checks and MDB_DEBUG 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
06df0a4655 Simpler mdb_drop().
MDB_DBI_CHANGED(,MAIN_DBI) is never true.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
e5f41ce56b Simpler mdb_node_shrink() 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
9d6c973f76 Simpler mdb_txn_commit().
mt_env is always set.
Commit(mt_child) resets mt_child, so parent need not.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
ee06adb311 mdb_txn_begin() cleanup 2015-10-25 10:55:22 +01:00
Hallvard Furuseth
cc2a50aca2 mdb_drop0(): Omit scanning DUPSORT sub-DB leaves 2015-10-25 10:55:21 +01:00
Hallvard Furuseth
70788bfe45 Use mdb_cmp_long() for FREE_DBI 2015-10-25 10:55:21 +01:00
Hallvard Furuseth
a36f7a7fc2 mdb_env_get_flags(): Hide internal flags 2015-10-25 10:55:21 +01:00
Hallvard Furuseth
600e2b6ce0 Support robust mutexes/locks. Add mdb_mutex_t etc. 2015-10-25 10:55:21 +01:00
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.
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
f25c4f0db9 Whitespace (align with mdb.master) 2015-10-25 10:55:21 +01:00
leo@yuriev.ru
086bc04cd2 ITS#7969 Use __sync_synchronize()
The rest of 9a80a8a8e8feed56fbccd8851b8a789f7fff9c11
plus commit a937740aa0c47dc7a1a5e9be42dcea2dd3c81683.
2015-10-25 10:55:21 +01:00
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().
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
c616689d9a Cleanup MDB_env.me_txn0.
More fallout from 4d02c741b120786df1b87ee9ed49c1d3f9bc7522.
2015-10-25 10:55:21 +01:00
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 54516639acab87aad156230f8a799e9128d266fe (Renumber...)
+ 8adee9464f65d1702b81a7c604f1a48baa7a0ad5 (Fix per-txn...).
2015-10-25 10:55:21 +01:00
leo@yuriev.ru
c65ca298b9 ITS#7971 mdb_txn_renew0(): Fix new readers slots.
commit 9a8eb95674c7b500cfe5f44d03493ff76c9fc0c1 (mdb_txn_renew0)
plus b2ab9910dd5f13ca2d92eeb4c39a90b922df8dfe (reader allocation)
from mdb.master.
2015-10-25 10:55:21 +01:00
David Barbour
076b773d6b ITS#7994 Access to current transaction ID.
commit b660491d3fa359325cb3615a276bba78f32e2075 (mdb_txn_id())
plus c36c167cc49a59d4f40ae5fc259c013de601164e (fix prev commit)
from mdb.master.
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
f3d3f60e3d Try to avoid an invalid datafile after failed init 2015-10-25 10:55:21 +01:00
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.
2015-10-25 10:55:21 +01:00
Howard Chu
015e8675fd Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-10-25 08:14:55 +00:00
Howard Chu
fc3514152f ITS#8263, 8264, 7771, 8270 2015-10-25 08:13:25 +00:00
Ignacio Casal Quinteiro
52446f93e7 ITS#8270 win32: fix conversion error with MSVC 2015-10-25 08:10:34 +00:00
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.
2015-10-25 08:10:13 +00:00
Hallvard Furuseth
448b4c815a ITS#8263 streamline prev patch 2015-10-25 08:09:16 +00:00
Howard Chu
7e3c532823 ITS#8263 fix cursor tracking in cursor_put 2015-10-25 08:09:06 +00:00
Howard Chu
9ed1e57440 ITS#8264 fix cursor_del cursor tracking
Some destination fixups need to happen immediately after nodes
are moved, before rebalancing
2015-10-25 08:08:53 +00:00
Howard Chu
28a02271f0 ITS#8273 Windows file:// URL fixup 2015-10-19 08:52:28 +01:00
Howard Chu
6f53771687 ITS#8258 2015-10-04 03:02:04 +01:00
Howard Chu
b6974ccd9f Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-10-04 02:50:50 +01:00
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.
2015-10-04 02:13:07 +01:00