diff options
author | Sachin Setiya <sachin.setiya@mariadb.com> | 2018-01-30 14:04:05 +0530 |
---|---|---|
committer | Sachin Setiya <sachin.setiya@mariadb.com> | 2018-01-31 10:45:33 +0530 |
commit | fe3a95d44d65cf3de5133a9ee256764b8ae98104 (patch) | |
tree | c8cf5b0439257049e5e19b9abd6c30ca1a132cb4 /sql/sql_base.cc | |
parent | 7a9611aee2ca27124f0b845d8cefe211b84f3045 (diff) | |
download | mariadb-git-bb-mdev-15085.tar.gz |
Mdev-15085 Invisible Column Non-constant Default value results...bb-mdev-15085
Problem:- If we create table field with dynamic default value then that
field always gets NULL value.
Analyze:- This is because in fill_record we simple continue at Invisible
column because we though that share->default_values(default value is
always copied into table->record[0] before insert) will have a default
value for them(which is true for constant defaults , but not for dynamic
defaults).
Solution:- We simple set all_fields_have_value to null , and this will
make call to update_default_fields (in the case of dynamic default), And
default expr will be evaluted and value will be set in field.
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index df5e947efa2..5fbf4ba4c81 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -8396,6 +8396,7 @@ fill_record(THD *thd, TABLE *table, Field **ptr, List<Item> &values, if (field->invisible) { + all_fields_have_values= false; continue; } else |