From 16227c28e65ba6355b44f6657d6fc67672f68bac Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 20 May 2004 02:02:49 +0300 Subject: PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) mysql-test/r/sp.result: test suite for Bug #2266 mysql-test/t/sp.test: test suite for Bug #2266 sql/item_subselect.cc: made ancestor for Statement (Item_arena) sql/item_subselect.h: made ancestor for Statement (Item_arena) sql/item_sum.cc: made ancestor for Statement (Item_arena) sql/item_sum.h: made ancestor for Statement (Item_arena) sql/mysql_priv.h: reset_stmt_for_execute use PS and SP sql/sp_head.cc: sp_head use Item_arena as ancestor to be PS cleunup compatible SP use PS storing/restoring/cleanup mechanisms cleanup() of SP Items added Items created in temporary memory pool during SP execution saved for normal freeing after SP execution sql/sp_head.h: sp_head use Item_arena sql/sql_base.cc: made ancestor for Statement (Item_arena) results of wild_setup made permanent setup_conds make natural joins expanding only once and store results in PS/SP memory sql/sql_class.cc: made ancestor for Statement (Item_arena) sql/sql_class.h: made ancestor for Statement (Item_arena) method to detect PS preparation added sql/sql_delete.cc: storing where for DELETE and mark first execution sql/sql_derived.cc: use method sql/sql_insert.cc: mark first execution for INSERT sql/sql_lex.cc: flags to correctly make transformations of query and storing them in memory of PS/SP made ancestor for Statement (Item_arena) sql/sql_lex.h: reved variable od SP ol saving data flags to correctly make transformations of query and storing them in memory of PS/SP sql/sql_parse.cc: cleunup unit for any query sql/sql_prepare.cc: made ancestor for Statement (Item_arena) storing where moved to preparation changed interface of reset_stmt_for_execute to use it is SP do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand)) sql/sql_select.cc: storing where for SELECT/multi-DELETE/... and mark first execution sql/sql_union.cc: made ancestor for Statement (Item_arena) sql/sql_update.cc: storing where for UPDATE and mark first execution --- sql/sql_derived.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sql/sql_derived.cc') diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc index 2e2ad6786fc..46794f45f3c 100644 --- a/sql/sql_derived.cc +++ b/sql/sql_derived.cc @@ -152,7 +152,7 @@ static int mysql_derived(THD *thd, LEX *lex, SELECT_LEX_UNIT *unit, if it is preparation PS only then we do not need real data and we can skip execution (and parameters is not defined, too) */ - if (!thd->current_statement) + if (!thd->only_prepare()) { if (is_union) { -- cgit v1.2.1