Loading include/config-win.h +15 −8 Original line number Diff line number Diff line Loading @@ -23,18 +23,25 @@ #include <io.h> #include <malloc.h> #if defined(__NT__) #define SYSTEM_TYPE "NT" #elif defined(__WIN2000__) #define SYSTEM_TYPE "WIN2000" #if defined(_WIN64) || defined(WIN64) #define SYSTEM_TYPE "Win64" #elif defined(_WIN32) || defined(WIN32) #define SYSTEM_TYPE "Win32" #else #define SYSTEM_TYPE "Win95/Win98" #define SYSTEM_TYPE "Windows" #endif #if defined(_WIN64) || defined(WIN64) #define MACHINE_TYPE "ia64" /* Define to machine type name */ #if defined(_M_IA64) #define MACHINE_TYPE "ia64" #elif defined(_M_IX86) #define MACHINE_TYPE "ia32" #elif defined(_M_ALPHA) #define MACHINE_TYPE "axp" #else #define MACHINE_TYPE "i32" /* Define to machine type name */ #define MACHINE_TYPE "unknown" /* Define to machine type name */ #endif #if !(defined(_WIN64) || defined(WIN64)) #ifndef _WIN32 #define _WIN32 /* Compatible with old source */ #endif 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
include/config-win.h +15 −8 Original line number Diff line number Diff line Loading @@ -23,18 +23,25 @@ #include <io.h> #include <malloc.h> #if defined(__NT__) #define SYSTEM_TYPE "NT" #elif defined(__WIN2000__) #define SYSTEM_TYPE "WIN2000" #if defined(_WIN64) || defined(WIN64) #define SYSTEM_TYPE "Win64" #elif defined(_WIN32) || defined(WIN32) #define SYSTEM_TYPE "Win32" #else #define SYSTEM_TYPE "Win95/Win98" #define SYSTEM_TYPE "Windows" #endif #if defined(_WIN64) || defined(WIN64) #define MACHINE_TYPE "ia64" /* Define to machine type name */ #if defined(_M_IA64) #define MACHINE_TYPE "ia64" #elif defined(_M_IX86) #define MACHINE_TYPE "ia32" #elif defined(_M_ALPHA) #define MACHINE_TYPE "axp" #else #define MACHINE_TYPE "i32" /* Define to machine type name */ #define MACHINE_TYPE "unknown" /* Define to machine type name */ #endif #if !(defined(_WIN64) || defined(WIN64)) #ifndef _WIN32 #define _WIN32 /* Compatible with old source */ #endif 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