summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorunknown <dlenev@mysql.com>2004-10-01 18:55:17 +0400
committerunknown <dlenev@mysql.com>2004-10-01 18:55:17 +0400
commit2971cd81208f32e43079aa7a0ad560333e74bbde (patch)
tree12cd5073864c613ab90e10cbb1d221b60226d09e /sql/sql_show.cc
parent8b671a920598e9dbe2b071b1453b70243de02f60 (diff)
parentc2a255218d60d2de645ff6ae0d8c52b4891d46f7 (diff)
downloadmariadb-git-2971cd81208f32e43079aa7a0ad560333e74bbde.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 6a380664cb7..714fb0a2efe 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -710,10 +710,11 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
protocol->store(field->has_charset() ? field->charset()->name : "NULL",
system_charset_info);
/*
- Altough TIMESTAMP fields can't contain NULL as its value they
+ Even if TIMESTAMP field can't contain NULL as its value it
will accept NULL if you will try to insert such value and will
- convert it to current TIMESTAMP. So YES here means that NULL
- is allowed for assignment but can't be returned.
+ convert NULL value to current TIMESTAMP. So YES here means
+ that NULL is allowed for assignment (but may be won't be
+ returned).
*/
pos=(byte*) ((flags & NOT_NULL_FLAG) &&
field->type() != FIELD_TYPE_TIMESTAMP ?
@@ -1285,7 +1286,14 @@ store_create_info(THD *thd, TABLE *table, String *packet)
if (flags & NOT_NULL_FLAG)
packet->append(" NOT NULL", 9);
-
+ else if (field->type() == FIELD_TYPE_TIMESTAMP)
+ {
+ /*
+ TIMESTAMP field require explicit NULL flag, because unlike
+ all other fields they are treated as NOT NULL by default.
+ */
+ packet->append(" NULL", 5);
+ }
/*
Again we are using CURRENT_TIMESTAMP instead of NOW because it is