From 5afacbab5192b3a8967006fb914c42a8e47e4900 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Aug 2005 11:15:17 +0300 Subject: item_subselect.cc: postmerge fix subselect.result: new 5.0 result (postmerge) mysql-test/r/subselect.result: new 5.0 result (postmerge) sql/item_subselect.cc: postmerge fix --- sql/item_subselect.cc | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'sql/item_subselect.cc') diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc index 1eddb36b34c..a5985a6c4a9 100644 --- a/sql/item_subselect.cc +++ b/sql/item_subselect.cc @@ -1093,21 +1093,24 @@ Item_in_subselect::row_value_transformer(JOIN *join) DBUG_RETURN(RES_ERROR); Item *item_eq= new Item_func_eq(new - Item_direct_ref((*optimizer->get_cache())-> + Item_direct_ref(&select_lex->context, + (*optimizer->get_cache())-> addr(i), (char *)"", (char *)in_left_expr_name), new - Item_direct_ref(select_lex->ref_pointer_array + i, + Item_direct_ref(&select_lex->context, + select_lex->ref_pointer_array + i, (char *)"", (char *)"") ); Item *item_isnull= new Item_func_isnull(new - Item_direct_ref( select_lex-> - ref_pointer_array+i, - (char *)"", - (char *)"") + Item_direct_ref(&select_lex->context, + select_lex-> + ref_pointer_array+i, + (char *)"", + (char *)"") ); having_item= and_items(having_item, @@ -1117,7 +1120,8 @@ Item_in_subselect::row_value_transformer(JOIN *join) new Item_is_not_null_test(this, new - Item_direct_ref(select_lex-> + Item_direct_ref(&select_lex->context, + select_lex-> ref_pointer_array + i, (char *)"", (char *)"") @@ -1157,15 +1161,17 @@ Item_in_subselect::row_value_transformer(JOIN *join) DBUG_RETURN(RES_ERROR); item= new Item_func_eq(new - Item_direct_ref((*optimizer->get_cache())-> + Item_direct_ref(&select_lex->context, + (*optimizer->get_cache())-> addr(i), (char *)"", (char *)in_left_expr_name), new - Item_direct_ref( select_lex-> - ref_pointer_array+i, - (char *)"", - (char *)"") + Item_direct_ref(&select_lex->context, + select_lex-> + ref_pointer_array+i, + (char *)"", + (char *)"") ); if (!abort_on_null) { @@ -1174,7 +1180,8 @@ Item_in_subselect::row_value_transformer(JOIN *join) new Item_is_not_null_test(this, new - Item_direct_ref(select_lex-> + Item_direct_ref(&select_lex->context, + select_lex-> ref_pointer_array + i, (char *)"", (char *)"") @@ -1182,10 +1189,11 @@ Item_in_subselect::row_value_transformer(JOIN *join) ); item_isnull= new Item_func_isnull(new - Item_direct_ref( select_lex-> - ref_pointer_array+i, - (char *)"", - (char *)"") + Item_direct_ref(&select_lex->context, + select_lex-> + ref_pointer_array+i, + (char *)"", + (char *)"") ); item= new Item_cond_or(item, item_isnull); -- cgit v1.2.1