summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-06-20 12:09:00 +0200
committerunknown <msvensson@neptunus.(none)>2005-06-20 12:09:00 +0200
commitd2b52d1933455342623a0759f2591fcf3874f2c9 (patch)
treeecb120195a20a720aad13a60b47ca0692b2cdb99 /sql/sql_parse.cc
parentd340c0f52b17f3dddd492d7ef366cfd62c86e297 (diff)
downloadmariadb-git-d2b52d1933455342623a0759f2591fcf3874f2c9.tar.gz
bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes.
- Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width. - Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly. mysql-test/include/ps_create.inc: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/alias.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/func_date_add.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/func_str.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/func_time.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/group_by.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/innodb.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_1general.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_2myisam.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_3innodb.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_4heap.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_5merge.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_6bdb.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/ps_7ndb.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/select.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/r/type_timestamp.result: When display width is used for a TIMESTAMP column a warning is printed that the display width will be ignored. mysql-test/r/update.result: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/alias.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/func_date_add.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/func_str.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/func_time.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/group_by.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/innodb.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/ps.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/ps_4heap.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/ps_5merge.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/select.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. mysql-test/t/update.test: Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test. sql/share/errmsg.txt: Correct swedish error message sql/sql_parse.cc: Print warning if datatype is TIMESTAMP and display width is used.
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index be7ba7d571d..dce25018b50 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -5458,6 +5458,23 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type,
DBUG_RETURN(1);
}
+ if (type == FIELD_TYPE_TIMESTAMP && length)
+ {
+ /* Display widths are no longer supported for TIMSTAMP as of MySQL 4.1.
+ In other words, for declarations such as TIMESTAMP(2), TIMESTAMP(4),
+ and so on, the display width is ignored.
+ */
+ String str;
+ str.append("TIMESTAMP");
+ str.append("(");
+ str.append(length);
+ str.append(")");
+ push_warning_printf(thd,MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_WARN_DEPRECATED_SYNTAX,
+ ER(ER_WARN_DEPRECATED_SYNTAX),
+ str.c_ptr(), "TIMESTAMP");
+ }
+
if (!(new_field= new_create_field(thd, field_name, type, length, decimals,
type_modifier, default_value, on_update_value,
comment, change, interval_list, cs, uint_geom_type)))