Commit ef92a390 authored by unknown's avatar unknown

Fixed small bug in handling of pre-4.1 TIMESTAMP columns which was

introduced during implementation of TIMESTAMP columns, which are able 
to store NULLs (Unfortunately it is impossible to write test case for
this. Kudos to Holyfoot for noticing it!)


sql/field.cc:
  Field_timestamp::get_auto_set_type(): To preserve compatibility 
  with pre-4.1 we have to handle TIMESTAMP_OLD_FIELD columns properly. 
  (It is ok to handle them as TIMESTAMP_DNUN_FIELD since value of first
   such column should be set to current timestamp on both INSERT and UPDATE
   operations, and we don't call this method for rest of them).
parent fdbc804c
...@@ -2970,6 +2970,14 @@ timestamp_auto_set_type Field_timestamp::get_auto_set_type() const ...@@ -2970,6 +2970,14 @@ timestamp_auto_set_type Field_timestamp::get_auto_set_type() const
return TIMESTAMP_AUTO_SET_ON_INSERT; return TIMESTAMP_AUTO_SET_ON_INSERT;
case TIMESTAMP_UN_FIELD: case TIMESTAMP_UN_FIELD:
return TIMESTAMP_AUTO_SET_ON_UPDATE; return TIMESTAMP_AUTO_SET_ON_UPDATE;
case TIMESTAMP_OLD_FIELD:
/*
Altough we can have several such columns in legacy tables this
function should be called only for first of them (i.e. the one
having auto-set property).
*/
DBUG_ASSERT(table->timestamp_field == this);
/* Fall-through */
case TIMESTAMP_DNUN_FIELD: case TIMESTAMP_DNUN_FIELD:
return TIMESTAMP_AUTO_SET_ON_BOTH; return TIMESTAMP_AUTO_SET_ON_BOTH;
default: default:
......
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