Loading mysql-test/r/delete.result +9 −0 Original line number Diff line number Diff line Loading @@ -61,3 +61,12 @@ select * from t1; a b 1 apple 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; mysql-test/t/delete.test +11 −0 Original line number Diff line number Diff line Loading @@ -71,3 +71,14 @@ select * from t1; delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a; select * from 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; sql/sql_delete.cc +1 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order, bzero((char*) &tables,sizeof(tables)); tables.table = table; tables.alias = table_list->alias; table->io_cache = (IO_CACHE *) my_malloc(sizeof(IO_CACHE), MYF(MY_FAE | MY_ZEROFILL)); Loading Loading
mysql-test/r/delete.result +9 −0 Original line number Diff line number Diff line Loading @@ -61,3 +61,12 @@ select * from t1; a b 1 apple 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;
mysql-test/t/delete.test +11 −0 Original line number Diff line number Diff line Loading @@ -71,3 +71,14 @@ select * from t1; delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a; select * from 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;
sql/sql_delete.cc +1 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ int mysql_delete(THD *thd, TABLE_LIST *table_list, COND *conds, ORDER *order, bzero((char*) &tables,sizeof(tables)); tables.table = table; tables.alias = table_list->alias; table->io_cache = (IO_CACHE *) my_malloc(sizeof(IO_CACHE), MYF(MY_FAE | MY_ZEROFILL)); Loading