Commit 32902dad authored by Georgi Kodinov's avatar Georgi Kodinov

Addendum to bug #46175 : use and check for the correct error values

  when converting to a enumerated type.
parent 80164ae9
......@@ -5157,7 +5157,7 @@ int Item::save_in_field(Field *field, bool no_conversions)
field->set_notnull();
error=field->store(nr, unsigned_flag);
}
return error ? error : (field->table->in_use->is_error() ? 2 : 0);
return error ? error : (field->table->in_use->is_error() ? 1 : 0);
}
......
......@@ -736,10 +736,11 @@ public:
we need to check for errors executing it and react accordingly
*/
if (!res && table->in_use->is_error())
res= 2;
res= 1; /* STORE_KEY_FATAL */
dbug_tmp_restore_column_map(table->write_set, old_map);
null_key= to_field->is_null() || item->null_value;
return (err != 0 || res > 2 ? STORE_KEY_FATAL : (store_key_result) res);
return ((err != 0 || res < 0 || res > 2) ? STORE_KEY_FATAL :
(store_key_result) res);
}
};
......@@ -775,10 +776,10 @@ protected:
we need to check for errors executing it and react accordingly
*/
if (!err && to_field->table->in_use->is_error())
err= 2;
err= 1; /* STORE_KEY_FATAL */
}
null_key= to_field->is_null() || item->null_value;
return (err > 2 ? STORE_KEY_FATAL : (store_key_result) err);
return ((err < 0 || err > 2) ? STORE_KEY_FATAL : (store_key_result) err);
}
};
......
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