From 06d08e89ccfe1a510800c079ba1c182c9969dfdf Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Mar 2003 15:16:26 +0200 Subject: A fix for a bug reported by Per Erik Martin, partaining to usage of expressions whose result are to be saved into user vars. --- sql/item.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sql/item.cc b/sql/item.cc index 3c6b85e933b..becda6751bc 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -1192,7 +1192,16 @@ bool Item_ref::fix_fields(THD *thd,TABLE_LIST *tables, Item **reference) } } - if (((*ref)->with_sum_func && +/* + * The following conditional is changed as to correctly identify + * incorrect references in group functions or forward references + * with sub-select's / derived tables, while it prevents this + * check when Item_ref is created in an expression involving + * summing function, which is to be placed in the user variable. + * + */ + + if (((*ref)->with_sum_func && name && (depended_from || !(thd->lex.current_select->linkage != GLOBAL_OPTIONS_TYPE && thd->lex.current_select->select_lex()->having_fix_field))) || -- cgit v1.2.1