Commit 3d35d306 authored by unknown's avatar unknown

delete.result, delete.test:

  Added a test case for bug #8392.
sql_delete.cc:
  Fixed bug #8392.
  The bug caused a crash for a delete statement with ORDER BY
  that explicitly referred to the modified table.


sql/sql_delete.cc:
  Fixed bug #8392.
  The bug caused a crash for a delete statement with ORDER BY
  that explicitly referred to the modified table.
mysql-test/t/delete.test:
  Added a test case for bug #8392.
mysql-test/r/delete.result:
  Added a test case for bug #8392.
parent 113078d2
...@@ -61,3 +61,12 @@ select * from t1; ...@@ -61,3 +61,12 @@ select * from t1;
a b a b
1 apple 1 apple
drop table t1; drop table t1;
CREATE TABLE t1 ( a int PRIMARY KEY );
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a;
INSERT INTO t1 VALUES (0),(1),(2);
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a LIMIT 1;
SELECT * FROM t1;
a
0
2
DROP TABLE t1;
...@@ -71,3 +71,14 @@ select * from t1; ...@@ -71,3 +71,14 @@ select * from t1;
delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a; delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a;
select * from t1; select * from t1;
drop table t1; drop table t1;
#
# Bug #8392: delete with ORDER BY containing a direct reference to the table
#
CREATE TABLE t1 ( a int PRIMARY KEY );
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a;
INSERT INTO t1 VALUES (0),(1),(2);
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a LIMIT 1;
SELECT * FROM t1;
DROP TABLE t1;
...@@ -111,6 +111,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order, ...@@ -111,6 +111,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order,
bzero((char*) &tables,sizeof(tables)); bzero((char*) &tables,sizeof(tables));
tables.table = table; tables.table = table;
tables.alias = table_list->alias;
table->io_cache = (IO_CACHE *) my_malloc(sizeof(IO_CACHE), table->io_cache = (IO_CACHE *) my_malloc(sizeof(IO_CACHE),
MYF(MY_FAE | MY_ZEROFILL)); MYF(MY_FAE | MY_ZEROFILL));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment