summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2016-01-16 18:45:26 +0400
committerAlexander Barkov <bar@mariadb.org>2016-01-16 18:45:26 +0400
commit7b50447aa6d051b8d14bb01ef14802cb8ffee223 (patch)
tree551c3240ca2ebb227ebc5735157e6d97b0ce6501 /sql/item_timefunc.h
parent98b6026036913bed65b6e121c86580ebd92bd715 (diff)
downloadmariadb-git-7b50447aa6d051b8d14bb01ef14802cb8ffee223.tar.gz
MDEV-9407 Illegal mix of collation when using GROUP_CONCAT in a VIEW
MDEV-9408 CREATE TABLE SELECT MAX(int_column) creates different columns for table vs view There were three almost identical pieces of the code: - Field *Item_func::tmp_table_field(); - Field *Item_sum::create_tmp_field(); - Field *create_tmp_field_from_item(); with a difference in very small details (hence the bugs): Only Item_func::tmp_table_field() was correct, the other two were not. Removing the two incorrect pieces of the redundant code. Joining these three functions/methods into a single virtual method Item::create_tmp_field(). Additionally, moving Item::make_string_field() and Item::tmp_table_field_from_field_type() from the public into the protected section of the class declaration, as they are now not needed outside of Item.
Diffstat (limited to 'sql/item_timefunc.h')
-rw-r--r--sql/item_timefunc.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h
index 2bfa31c604d..175f3b06c1a 100644
--- a/sql/item_timefunc.h
+++ b/sql/item_timefunc.h
@@ -502,7 +502,7 @@ public:
bool get_date(MYSQL_TIME *res, ulonglong fuzzy_date) { DBUG_ASSERT(0); return 1; }
my_decimal *val_decimal(my_decimal *decimal_value)
{ return val_decimal_from_date(decimal_value); }
- Field *tmp_table_field(TABLE *table)
+ Field *create_field_for_create_select(THD *thd, TABLE *table)
{ return tmp_table_field_from_field_type(table, false, false); }
int save_in_field(Field *field, bool no_conversions)
{ return save_date_in_field(field); }