From e6b0be38f9ea03b4f657b210755f6891ce2a30f0 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Wed, 9 Mar 2011 19:45:48 +0200 Subject: Bug fix for lp:732124 union + limit returns wrong result mysql-test/r/union.result: Added test for lp:732124 mysql-test/t/union.test: Added test for lp:732124 sql/sp_rcontext.cc: Updated function definition for ::send_data() sql/sp_rcontext.h: Updated function definition for ::send_data() sql/sql_analyse.cc: Test if send_data() returned an error sql/sql_class.cc: Updated function definition for ::send_data() sql/sql_class.h: Changed select_result::send_data(List &items) to return -1 in case of duplicate row that should not be counted as part of LIMIT sql/sql_cursor.cc: Check if send_data returned error sql/sql_delete.cc: Updated function definition for ::send_data() sql/sql_insert.cc: Updated function definition for ::send_data() sql/sql_select.cc: Don't count rows which send_data() tells you to ignore sql/sql_union.cc: Inform caller that the row should be ignored. This is the real bug fix for lp:732124 sql/sql_update.cc: Updated function definition for ::send_data() --- sql/sp_rcontext.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/sp_rcontext.h') diff --git a/sql/sp_rcontext.h b/sql/sp_rcontext.h index 368a017da21..8da0a4bee82 100644 --- a/sql/sp_rcontext.h +++ b/sql/sp_rcontext.h @@ -254,7 +254,7 @@ public: void set_spvar_list(List *vars) { spvar_list= vars; } virtual bool send_eof() { return FALSE; } - virtual bool send_data(List &items); + virtual int send_data(List &items); virtual int prepare(List &list, SELECT_LEX_UNIT *u); }; -- cgit v1.2.1