summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2007-02-24 23:04:15 +0300
committerunknown <evgen@moonbone.local>2007-02-24 23:04:15 +0300
commitb1e1f77f1ffcbd1f3f9d07d8da598061ea2cb75c (patch)
tree93f5cf3f07b92e41d92bd82d3ed9a39abb068a5d /sql/item.cc
parenta1234294c6344e648a60c7b0489985f5c16cd8a6 (diff)
downloadmariadb-git-b1e1f77f1ffcbd1f3f9d07d8da598061ea2cb75c.tar.gz
item.cc:
Post fix for bug#23800. The Item_field constructor now increases the select_n_where_fields counter. sql_yacc.yy: Post fix for bug#23800. Take into account fields that might be added by subselects. sql_lex.h: Post fix for bug#23800. Added the select_n_where_fields variable to the st_select_lex class. sql_lex.cc: Post fix for bug#23800. Initialization of the select_n_where_fields variable. sql/sql_lex.cc: Post fix for bug#23800. Initialization of the select_n_where_fields variable. sql/sql_lex.h: Post fix for bug#23800. Added the select_n_where_fields variable to the st_select_lex class. sql/item.cc: Post fix for bug#23800. The Item_field constructor now increases the select_n_where_fields counter. sql/sql_yacc.yy: Post fix for bug#23800. Take into account fields that might be added by subselects.
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/item.cc b/sql/item.cc
index a57f3c0fa96..9149a1240ea 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -1664,7 +1664,10 @@ Item_field::Item_field(Name_resolution_context *context_arg,
field(0), result_field(0), item_equal(0), no_const_subst(0),
have_privileges(0), any_privileges(0), fixed_as_field(0)
{
+ SELECT_LEX *select= current_thd->lex->current_select;
collation.set(DERIVATION_IMPLICIT);
+ if (select && select->parsing_place != IN_HAVING)
+ select->select_n_where_fields++;
}
// Constructor need to process subselect with temporary tables (see Item)