1
/* Copyright (c) 2000, 2010 Oracle and/or its affiliates. All rights reserved.
1
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3
3
This program is free software; you can redistribute it and/or modify
4
4
it under the terms of the GNU General Public License as published by
12
12
You should have received a copy of the GNU General Public License
13
13
along with this program; if not, write to the Free Software
14
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
14
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18
/* classes for sum functions */
339
340
forced_const= TRUE;
341
342
virtual bool const_item() const { return forced_const; }
343
virtual bool const_during_execution() const { return false; }
342
344
virtual void print(String *str, enum_query_type query_type);
343
345
void fix_num_length_and_dec();
834
836
Item_sum_hybrid(Item *item_par,int sign)
835
:Item_sum(item_par), value(0), cmp(0),
837
:Item_sum(item_par), value(0), arg_cache(0), cmp(0),
836
838
hybrid_type(INT_RESULT), hybrid_field_type(MYSQL_TYPE_LONGLONG),
837
839
cmp_sign(sign), was_values(TRUE)
838
840
{ collation.set(&my_charset_bin); }
839
841
Item_sum_hybrid(THD *thd, Item_sum_hybrid *item)
840
:Item_sum(thd, item), value(item->value), hybrid_type(item->hybrid_type),
841
hybrid_field_type(item->hybrid_field_type), cmp_sign(item->cmp_sign),
842
was_values(item->was_values)
842
:Item_sum(thd, item), value(item->value), arg_cache(0),
843
hybrid_type(item->hybrid_type), hybrid_field_type(item->hybrid_field_type),
844
cmp_sign(item->cmp_sign), was_values(item->was_values)
844
846
bool fix_fields(THD *, Item **);
845
847
void setup_hybrid(Item *item, Item *value_arg);