diff --git a/sql/item.h b/sql/item.h index 07be964092a..c7eb7fc2c1b 100644 --- a/sql/item.h +++ b/sql/item.h @@ -140,7 +140,7 @@ public: virtual double val()=0; virtual longlong val_int()=0; virtual String *val_str(String*)=0; - virtual Field *tmp_table_field() { return 0; } + virtual Field *get_tmp_table_field() { return 0; } virtual Field *tmp_table_field(TABLE *t_arg) { return 0; } virtual const char *full_name() const { return name ? name : "???"; } virtual double val_result() { return val(); } @@ -267,7 +267,7 @@ public: { return field->type(); } - Field *tmp_table_field() { return result_field; } + Field *get_tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return result_field; } bool get_date(TIME *ltime,bool fuzzydate); bool get_date_result(TIME *ltime,bool fuzzydate); @@ -546,7 +546,7 @@ public: Item(thd, item), result_field(item.result_field) {} ~Item_result_field() {} /* Required with gcc 2.95 */ - Field *tmp_table_field() { return result_field; } + Field *get_tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return result_field; } table_map used_tables() const { return 1; } virtual void fix_length_and_dec()=0; diff --git a/sql/item_sum.cc b/sql/item_sum.cc index c429346a2e6..84cb7eade05 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1460,7 +1460,7 @@ int group_concat_key_cmp_with_distinct(void* arg, byte* key1, for (uint i= 0; i < item->arg_count_field; i++) { Item *field_item= item->args[i]; - Field *field= field_item->tmp_table_field(); + Field *field= field_item->get_tmp_table_field(); if (field) { uint offset= field->abs_offset; @@ -1491,7 +1491,7 @@ int group_concat_key_cmp_with_order(void* arg, byte* key1, byte* key2) { ORDER *order_item= item->order[i]; Item *item= *order_item->item; - Field *field= item->tmp_table_field(); + Field *field= item->get_tmp_table_field(); if (field) { uint offset= field->abs_offset; @@ -1542,7 +1542,7 @@ int dump_leaf_key(byte* key, uint32 count __attribute__((unused)), Item *show_item= group_concat_item->args[i]; if (!show_item->const_item()) { - Field *f= show_item->tmp_table_field(); + Field *f= show_item->get_tmp_table_field(); char *sv= f->ptr; f->ptr= (char *)key + f->abs_offset; String *res= f->val_str(&tmp,&tmp2); @@ -1709,7 +1709,7 @@ bool Item_func_group_concat::add() Item *show_item= args[i]; if (!show_item->const_item()) { - Field *f= show_item->tmp_table_field(); + Field *f= show_item->get_tmp_table_field(); if (!f->is_null()) { record_is_null= FALSE; diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index d84267a5066..6dcf7d00ce1 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -327,7 +327,6 @@ public: max_length=10*default_charset()->mbmaxlen; } int save_in_field(Field *to, bool no_conversions); - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_date(maybe_null, name, t_arg, default_charset())); @@ -342,7 +341,6 @@ public: Item_date_func(Item *a) :Item_str_func(a) {} Item_date_func(Item *a,Item *b) :Item_str_func(a,b) {} enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_datetime(maybe_null, name, t_arg, default_charset())); @@ -366,7 +364,6 @@ public: longlong val_int() { return value; } String *val_str(String *str); void fix_length_and_dec(); - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_time(maybe_null, name, t_arg, default_charset())); @@ -533,7 +530,6 @@ public: } enum_field_types field_type() const { return MYSQL_TYPE_TIME; } const char *func_name() const { return "sec_to_time"; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_time(maybe_null, name, t_arg, default_charset())); @@ -634,7 +630,6 @@ public: bool get_date(TIME *ltime, bool fuzzy_date); const char *func_name() const { return "date"; } enum_field_types field_type() const { return MYSQL_TYPE_DATE; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_date(maybe_null, name, t_arg, default_charset())); @@ -650,7 +645,6 @@ public: bool get_time(TIME *ltime); const char *func_name() const { return "time"; } enum_field_types field_type() const { return MYSQL_TYPE_TIME; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_time(maybe_null, name, t_arg, default_charset())); @@ -665,7 +659,6 @@ public: String *val_str(String *str); const char *func_name() const { return "datetime"; } enum_field_types field_type() const { return MYSQL_TYPE_DATETIME; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_datetime(maybe_null, name, t_arg, default_charset())); @@ -684,7 +677,6 @@ public: decimals=0; max_length=8*MY_CHARSET_BIN_MB_MAXLEN; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_date(maybe_null, name, t_arg, &my_charset_bin)); @@ -711,7 +703,6 @@ public: Change this when we support microseconds in TIME/DATETIME */ - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { if (cached_field_type == MYSQL_TYPE_TIME) @@ -735,7 +726,6 @@ public: decimals=0; max_length=17*MY_CHARSET_BIN_MB_MAXLEN; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_time(maybe_null, name, t_arg, &my_charset_bin)); @@ -755,7 +745,6 @@ public: decimals=0; max_length=8*MY_CHARSET_BIN_MB_MAXLEN; } - Field *tmp_table_field() { return result_field; } Field *tmp_table_field(TABLE *t_arg) { return (new Field_time(maybe_null, name, t_arg, &my_charset_bin)); diff --git a/sql/sql_select.cc b/sql/sql_select.cc index de6b2ce443f..e38cd146265 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -4789,7 +4789,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, keyinfo->algorithm= HA_KEY_ALG_UNDEF; for (; group ; group=group->next,key_part_info++) { - Field *field=(*group->item)->tmp_table_field(); + Field *field=(*group->item)->get_tmp_table_field(); bool maybe_null=(*group->item)->maybe_null; key_part_info->null_bit=0; key_part_info->field= field; @@ -6057,7 +6057,7 @@ end_write(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)), Item *item= *group->item; if (item->maybe_null) { - Field *field=item->tmp_table_field(); + Field *field=item->get_tmp_table_field(); field->ptr[-1]= (byte) (field->is_null() ? 1 : 0); } } @@ -6926,7 +6926,7 @@ remove_duplicates(JOIN *join, TABLE *entry,List &fields, Item *having) Item *item; while ((item=it++)) { - if (item->tmp_table_field() && ! item->const_item()) + if (item->get_tmp_table_field() && ! item->const_item()) field_count++; } @@ -7162,7 +7162,7 @@ SORT_FIELD *make_unireg_sortorder(ORDER *order, uint *length) pos->field= ((Item_field*) (*order->item))->field; else if (order->item[0]->type() == Item::SUM_FUNC_ITEM && !order->item[0]->const_item()) - pos->field= ((Item_sum*) order->item[0])->tmp_table_field(); + pos->field= ((Item_sum*) order->item[0])->get_tmp_table_field(); else if (order->item[0]->type() == Item::COPY_STR_ITEM) { // Blob patch pos->item= ((Item_copy_string*) (*order->item))->item; @@ -7759,7 +7759,7 @@ calc_group_buffer(JOIN *join,ORDER *group) join->group= 1; for (; group ; group=group->next) { - Field *field=(*group->item)->tmp_table_field(); + Field *field=(*group->item)->get_tmp_table_field(); if (field) { if (field->type() == FIELD_TYPE_BLOB) @@ -8103,7 +8103,7 @@ change_to_use_tmp_fields(THD *thd, Item **ref_pointer_array, { item_field= item->get_tmp_table_item(thd); } - else if ((field= item->tmp_table_field())) + else if ((field= item->get_tmp_table_field())) { if (item->type() == Item::SUM_FUNC_ITEM && field->table->group) item_field= ((Item_sum*) item)->result_item(field);