summaryrefslogtreecommitdiff
path: root/KNOWN_BUGS.txt
diff options
context:
space:
mode:
authorGuilhem Bichot <guilhem@mysql.com>2008-07-09 14:07:38 +0200
committerGuilhem Bichot <guilhem@mysql.com>2008-07-09 14:07:38 +0200
commit81d3d3ac423ca1724a1b13bb0fc52f63ea765869 (patch)
tree6cf9dce52f985996821e4ab581e829e96d970c73 /KNOWN_BUGS.txt
parent60b88ce475cbc4e4ce5b9a90e2f821df5e5a10a1 (diff)
downloadmariadb-git-81d3d3ac423ca1724a1b13bb0fc52f63ea765869.tar.gz
- lifting a limit: INSERT|REPLACE SELECT and LOAD DATA always prevented versioning, now what do so is if
the table is empty. - lifting another limit: versioning was disabled if table had more than one unique index - correcting test of statement-based binlogging, when converting read locks to TL_READ_NO_INSERT KNOWN_BUGS.txt: removing mostly fixed limitation (see ha_maria.cc) mysql-test/r/maria-mvcc.result: result update mysql-test/t/maria-mvcc.test: now when table is empty it does not do versioning, so test hung; inserting one row at start of the test, to enable versioning. sql/sql_parse.cc: Maria team wrongly removed this "break", thanks Davi for noticing storage/maria/ha_maria.cc: - We used to prevent versioning in INSERT/REPLACE SELECT and LOAD DATA, because the index rebuild done by bulk insert sometimes, is unsafe when versioning is on. Here we change that: in store_lock(), if the table is empty (which is required for index rebuild to be used), we disable versioning; in start_bulk_insert(), we don't do index rebuild if versioning is enabled. - Test for statement-based binlogging was incomplete: statement-based binlogging is on for this statement if binlog is open and statement has binlogging enabled and statement is not doing row-based binlogging storage/maria/ma_open.c: Monty and I agreed that it's ok to have versioning on a table with more than one unique index: if an INSERT hits a duplicate key when inserting the second index' key, no other thread should be able to touch the first index' just-inserted key, because that key has an uncommitted transaction id, so the first thread should have time to remove the first index' key.
Diffstat (limited to 'KNOWN_BUGS.txt')
-rw-r--r--KNOWN_BUGS.txt11
1 files changed, 1 insertions, 10 deletions
diff --git a/KNOWN_BUGS.txt b/KNOWN_BUGS.txt
index a69384910e2..12f9c2fa123 100644
--- a/KNOWN_BUGS.txt
+++ b/KNOWN_BUGS.txt
@@ -54,16 +54,7 @@ Known bugs that are planned to be fixed later
=============================================
LOCK TABLES .. WRITE CONCURRENT is mainly done for testing MVCC. Don't
-use this in production. Things that is not working if you are using
-this on a table:
-
-- INSERT/REPLACE ... SELECT on an empty table may cause crashes or
- wrong results if someone else is doing writes on the table during repair
- or someone is doing selects during the repair index phase.
-
-INSERT ... SELECT, REPLACE ... SELECT and LOAD DATA are blocking
-inserts and SELECT for the table. They should only have to do this if
-the destination is empty (as then we are using fast index rebuild).
+use this in production.
Missing features that is planned to fix before Beta
===================================================