Loading mysql-test/r/delete.result +8 −0 Original line number Diff line number Diff line Loading @@ -271,3 +271,11 @@ a DROP TABLE t1, t2; DROP DATABASE db1; DROP DATABASE db2; CREATE FUNCTION f1() RETURNS INT RETURN 1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (0); DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1; ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1 DROP TABLE t1; DROP FUNCTION f1; End of 5.0 tests mysql-test/t/delete.test +15 −0 Original line number Diff line number Diff line Loading @@ -277,3 +277,18 @@ SELECT * FROM t1; DROP TABLE t1, t2; DROP DATABASE db1; DROP DATABASE db2; # # Bug 31742: delete from ... order by function call that causes an error, # asserts server # CREATE FUNCTION f1() RETURNS INT RETURN 1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (0); --error 1318 DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1; DROP TABLE t1; DROP FUNCTION f1; --echo End of 5.0 tests sql/filesort.cc +4 −1 Original line number Diff line number Diff line Loading @@ -534,7 +534,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, file->unlock_row(); /* It does not make sense to read more keys in case of a fatal error */ if (thd->net.report_error) DBUG_RETURN(HA_POS_ERROR); break; } if (quick_select) { Loading @@ -551,6 +551,9 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, file->ha_rnd_end(); } if (thd->net.report_error) DBUG_RETURN(HA_POS_ERROR); DBUG_PRINT("test",("error: %d indexpos: %d",error,indexpos)); if (error != HA_ERR_END_OF_FILE) { Loading Loading
mysql-test/r/delete.result +8 −0 Original line number Diff line number Diff line Loading @@ -271,3 +271,11 @@ a DROP TABLE t1, t2; DROP DATABASE db1; DROP DATABASE db2; CREATE FUNCTION f1() RETURNS INT RETURN 1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (0); DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1; ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1 DROP TABLE t1; DROP FUNCTION f1; End of 5.0 tests
mysql-test/t/delete.test +15 −0 Original line number Diff line number Diff line Loading @@ -277,3 +277,18 @@ SELECT * FROM t1; DROP TABLE t1, t2; DROP DATABASE db1; DROP DATABASE db2; # # Bug 31742: delete from ... order by function call that causes an error, # asserts server # CREATE FUNCTION f1() RETURNS INT RETURN 1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (0); --error 1318 DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1; DROP TABLE t1; DROP FUNCTION f1; --echo End of 5.0 tests
sql/filesort.cc +4 −1 Original line number Diff line number Diff line Loading @@ -534,7 +534,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, file->unlock_row(); /* It does not make sense to read more keys in case of a fatal error */ if (thd->net.report_error) DBUG_RETURN(HA_POS_ERROR); break; } if (quick_select) { Loading @@ -551,6 +551,9 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, file->ha_rnd_end(); } if (thd->net.report_error) DBUG_RETURN(HA_POS_ERROR); DBUG_PRINT("test",("error: %d indexpos: %d",error,indexpos)); if (error != HA_ERR_END_OF_FILE) { Loading