Commit a39f98d6 authored by wax@kishkin.ru's avatar wax@kishkin.ru

BUG

correct bugs #833 and #836
parent 42171225
......@@ -1466,7 +1466,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->real_item()->tmp_table_field();
if (field)
{
uint offset= field->abs_offset;
......@@ -1497,7 +1497,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->real_item()->tmp_table_field();
if (field)
{
uint offset= field->abs_offset;
......@@ -1548,7 +1548,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->real_item()->tmp_table_field();
char *sv= f->ptr;
f->ptr= (char *)key + f->abs_offset;
String *res= f->val_str(&tmp,&tmp2);
......@@ -1716,7 +1716,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->real_item()->tmp_table_field();
if (!f->is_null())
{
record_is_null= FALSE;
......
......@@ -734,4 +734,5 @@ class Item_func_group_concat : public Item_sum
}
String* val_str(String* str);
Item *copy_or_same(THD* thd);
void no_rows_in_result() {}
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment