From 92fb5da3728651ee4f2f72d73efa8a89a5d4f764 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 3 Jun 2007 21:52:00 +0400 Subject: [PATCH] item_func.h, item_func.cc: Post merge fix for the bug#28494. sql/item_func.h: Post merge fix for the bug#28494. sql/item_func.cc: Post merge fix for the bug#28494. --- sql/item_func.cc | 17 +++++++++++++++++ sql/item_func.h | 1 + 2 files changed, 18 insertions(+) diff --git a/sql/item_func.cc b/sql/item_func.cc index e6c59ae466b..7806a37d8d0 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3799,6 +3799,23 @@ Item_func_set_user_var::fix_length_and_dec() } +/* + Mark field in read_map + + NOTES + This is used by filesort to register used fields in a a temporary + column read set or to register used fields in a view +*/ + +bool Item_func_set_user_var::register_field_in_read_map(uchar *arg) +{ + TABLE *table= (TABLE *) arg; + if (result_field->table == table || !table) + bitmap_set_bit(result_field->table->read_set, result_field->field_index); + return 0; +} + + /* Set value to user variable. diff --git a/sql/item_func.h b/sql/item_func.h index 7bb0ebfb1bf..d2ed0404dac 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1259,6 +1259,7 @@ public: return save_in_field(field, no_conversions, 1); } void save_org_in_field(Field *field) { (void)save_in_field(field, 1, 0); } + bool register_field_in_read_map(uchar *arg); };