summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-03-24 17:52:55 +0400
committerAlexander Barkov <bar@mariadb.org>2017-03-24 17:52:55 +0400
commit48c59f394bb9bd4dfd34be19ff4cf933557eb017 (patch)
treee94ad81afab772d6913502cc155d1a51a043c11c /sql/item_sum.h
parent1b3bd00c6b517dec73b35672875aeda9f2143bed (diff)
downloadmariadb-git-48c59f394bb9bd4dfd34be19ff4cf933557eb017.tar.gz
MDEV-12338 Split Item_type_holder::get_real_type() into virtual Item::real_type_handler()
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index 3ceb2a04dcc..ee1c10f9fbe 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -456,7 +456,6 @@ public:
Updated value is then saved in the field.
*/
virtual void update_field()=0;
- virtual bool keep_field_type(void) const { return 0; }
virtual void fix_length_and_dec() { maybe_null=1; null_value=1; }
virtual Item *result_item(THD *thd, Field *field);
@@ -520,7 +519,7 @@ public:
st_select_lex *depended_from()
{ return (nest_level == aggr_level ? 0 : aggr_sel); }
- Item *get_arg(uint i) { return args[i]; }
+ Item *get_arg(uint i) const { return args[i]; }
Item *set_arg(uint i, THD *thd, Item *new_val);
uint get_arg_count() const { return arg_count; }
@@ -1047,7 +1046,10 @@ protected:
my_decimal *val_decimal(my_decimal *);
void reset_field();
String *val_str(String *);
- bool keep_field_type(void) const { return 1; }
+ const Type_handler *real_type_handler() const
+ {
+ return get_arg(0)->real_type_handler();
+ }
const Type_handler *type_handler() const
{ return Type_handler_hybrid_field_type::type_handler(); }
enum Item_result result_type () const