diff options
author | unknown <hf@deer.(none)> | 2005-06-14 20:04:42 +0500 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2005-06-14 20:04:42 +0500 |
commit | d5600efdc1ec98c1b9ef7190565788e7174e45f0 (patch) | |
tree | 1bfa9c9de8321e5c0f7eb9120aa9a78cefe5c26e | |
parent | 38cf777005ff9cfa61e2fe884338a8ee2fb6bc01 (diff) | |
download | mariadb-git-d5600efdc1ec98c1b9ef7190565788e7174e45f0.tar.gz |
Final patch to the bug #11314 (HAVING DEFAULT hangs)
sql/item.cc:
it's safer not to reassign arg member
-rw-r--r-- | sql/item.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/item.cc b/sql/item.cc index 5be43f3137d..17190d17ae1 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -4443,6 +4443,7 @@ bool Item_default_value::fix_fields(THD *thd, struct st_table_list *table_list, Item **items) { + Item *real_arg; Item_field *field_arg; Field *def_field; DBUG_ASSERT(fixed == 0); @@ -4455,14 +4456,14 @@ bool Item_default_value::fix_fields(THD *thd, if (!arg->fixed && arg->fix_fields(thd, table_list, &arg)) return TRUE; - arg= arg->real_item(); - if (arg->type() != FIELD_ITEM) + real_arg= arg->real_item(); + if (real_arg->type() != FIELD_ITEM) { my_error(ER_NO_DEFAULT_FOR_FIELD, MYF(0), arg->name); return TRUE; } - field_arg= (Item_field *)arg; + field_arg= (Item_field *)real_arg; if (field_arg->field->flags & NO_DEFAULT_VALUE_FLAG) { my_error(ER_NO_DEFAULT_FOR_FIELD, MYF(0), field_arg->field->field_name); |