diff options
author | Tatiana A. Nurnberg <azundris@mysql.com> | 2009-01-30 17:12:24 +0100 |
---|---|---|
committer | Tatiana A. Nurnberg <azundris@mysql.com> | 2009-01-30 17:12:24 +0100 |
commit | ce563480b774f912ab698efe0a71e77b9360893d (patch) | |
tree | ea2ec331fb705d76ead5acabc85b2f1cc5fa6a9c /sql | |
parent | 386ec13b590a29608bf8ddea39e1acc875c702a7 (diff) | |
download | mariadb-git-ce563480b774f912ab698efe0a71e77b9360893d.tar.gz |
Bug#41370: TIMESTAMP field does not accepts NULL from FROM_UNIXTIME()
When storing a NULL to a TIMESTAMP NOT NULL DEFAULT ...,
NULL returned from some functions threw a 'cannot be NULL error.'
NULL-returns now correctly result in the timestamp-field being
assigned its default value.
mysql-test/r/type_timestamp.result:
Show that for TIMESTAMP NOT NULL DEFAULT, NULL function returns
set default now.
mysql-test/t/type_timestamp.test:
Show that for TIMESTAMP NOT NULL DEFAULT, NULL function returns
set default now.
sql/item.cc:
When storing a returned NULL (from a time- or date-related
function), make sure to apply NULL-means-DEFAULT magic where
applicable.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/item.cc b/sql/item.cc index 2a89c86cd88..977c5f0b7c0 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -321,7 +321,7 @@ int Item::save_time_in_field(Field *field) { MYSQL_TIME ltime; if (get_time(<ime)) - return set_field_to_null(field); + return set_field_to_null_with_conversions(field, 0); field->set_notnull(); return field->store_time(<ime, MYSQL_TIMESTAMP_TIME); } @@ -331,7 +331,7 @@ int Item::save_date_in_field(Field *field) { MYSQL_TIME ltime; if (get_date(<ime, TIME_FUZZY_DATE)) - return set_field_to_null(field); + return set_field_to_null_with_conversions(field, 0); field->set_notnull(); return field->store_time(<ime, MYSQL_TIMESTAMP_DATETIME); } |