use a different error for MySQL bug#11747970 - kill the query,

as it was supposed to be in bug#11747970, don't fake an error.
(this kill can be useful for other bugs too)
This commit is contained in:
Sergei Golubchik 2014-02-13 20:20:17 +01:00
parent 642495345f
commit 4b57720caa
3 changed files with 3 additions and 9 deletions

View File

@ -94,7 +94,7 @@ INSERT INTO t1 VALUES (1),(2);
INSERT INTO t2 VALUES (1),(2);
SET SESSION debug="+d,bug11747970_raise_error";
INSERT IGNORE INTO t2 SELECT f1 FROM t1 a WHERE NOT EXISTS (SELECT 1 FROM t2 b WHERE a.f1 = b.f1);
ERROR HY000: Unknown error
ERROR 70100: Query execution was interrupted
SET SESSION debug = DEFAULT;
DROP TABLE t1,t2;
#

View File

@ -103,7 +103,7 @@ CREATE TABLE t2(f1 INT);
INSERT INTO t1 VALUES (1),(2);
INSERT INTO t2 VALUES (1),(2);
SET SESSION debug="+d,bug11747970_raise_error";
--error 1105
--error ER_QUERY_INTERRUPTED
INSERT IGNORE INTO t2 SELECT f1 FROM t1 a WHERE NOT EXISTS (SELECT 1 FROM t2 b WHERE a.f1 = b.f1);
SET SESSION debug = DEFAULT;
DROP TABLE t1,t2;

View File

@ -3154,13 +3154,7 @@ make_join_statistics(JOIN *join, List<TABLE_LIST> &tables_list,
#endif
DBUG_EXECUTE_IF("bug11747970_raise_error",
{
if (!error)
{
my_error(ER_UNKNOWN_ERROR, MYF(0));
goto error;
}
});
{ join->thd->killed= KILL_QUERY_HARD; });
if (error)
{
table->file->print_error(error, MYF(0));