Commit cc08c43e authored by Sergei Golubchik's avatar Sergei Golubchik

cleanup: remove Item_default_value::cached_field

parent b5e16a6e
...@@ -1055,8 +1055,7 @@ bool Item_field::check_field_expression_processor(void *arg) ...@@ -1055,8 +1055,7 @@ bool Item_field::check_field_expression_processor(void *arg)
(!field->vcol_info && !org_field->vcol_info)) && (!field->vcol_info && !org_field->vcol_info)) &&
field->field_index >= org_field->field_index)) field->field_index >= org_field->field_index))
{ {
my_error(ER_EXPRESSION_REFERS_TO_UNINIT_FIELD, my_error(ER_EXPRESSION_REFERS_TO_UNINIT_FIELD, MYF(0),
MYF(0),
org_field->field_name, field->field_name); org_field->field_name, field->field_name);
return 1; return 1;
} }
...@@ -9024,7 +9023,6 @@ bool Item_default_value::fix_fields(THD *thd, Item **items) ...@@ -9024,7 +9023,6 @@ bool Item_default_value::fix_fields(THD *thd, Item **items)
} }
if (!(def_field= (Field*) thd->alloc(field_arg->field->size_of()))) if (!(def_field= (Field*) thd->alloc(field_arg->field->size_of())))
goto error; goto error;
cached_field= def_field;
memcpy((void *)def_field, (void *)field_arg->field, memcpy((void *)def_field, (void *)field_arg->field,
field_arg->field->size_of()); field_arg->field->size_of());
def_field->reset_fields(); def_field->reset_fields();
...@@ -9063,8 +9061,7 @@ bool Item_default_value::enchant_default_with_arg_processor(void *proc_arg) ...@@ -9063,8 +9061,7 @@ bool Item_default_value::enchant_default_with_arg_processor(void *proc_arg)
void Item_default_value::cleanup() void Item_default_value::cleanup()
{ {
delete cached_field; // Free cached blob data delete field; // Free cached blob data
cached_field= 0;
Item_field::cleanup(); Item_field::cleanup();
} }
......
...@@ -5455,18 +5455,17 @@ class Item_default_value : public Item_field ...@@ -5455,18 +5455,17 @@ class Item_default_value : public Item_field
Item_default_value(THD *thd, Name_resolution_context *context_arg, Item *a) Item_default_value(THD *thd, Name_resolution_context *context_arg, Item *a)
:Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL, :Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL,
(const char *)NULL), (const char *)NULL),
arg(a), cached_field(NULL) {} arg(a) {}
public: public:
Item *arg; Item *arg;
Field *cached_field;
Item_default_value(THD *thd, Name_resolution_context *context_arg) Item_default_value(THD *thd, Name_resolution_context *context_arg)
:Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL, :Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL,
(const char *)NULL), (const char *)NULL),
arg(NULL), cached_field(NULL) {} arg(NULL) {}
Item_default_value(THD *thd, Name_resolution_context *context_arg, Field *a) Item_default_value(THD *thd, Name_resolution_context *context_arg, Field *a)
:Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL, :Item_field(thd, context_arg, (const char *)NULL, (const char *)NULL,
(const char *)NULL), (const char *)NULL),
arg(NULL),cached_field(NULL) {} arg(NULL) {}
enum Type type() const { return DEFAULT_VALUE_ITEM; } enum Type type() const { return DEFAULT_VALUE_ITEM; }
bool vcol_assignment_allowed_value() const { return true; } bool vcol_assignment_allowed_value() const { return true; }
bool eq(const Item *item, bool binary_cmp) const; bool eq(const Item *item, bool binary_cmp) const;
...@@ -5498,7 +5497,7 @@ class Item_default_value : public Item_field ...@@ -5498,7 +5497,7 @@ class Item_default_value : public Item_field
return false; return false;
} }
table_map used_tables() const; table_map used_tables() const;
virtual void update_used_tables() void update_used_tables()
{ {
if (field && field->default_value) if (field && field->default_value)
field->default_value->expr->update_used_tables(); field->default_value->expr->update_used_tables();
......
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