summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2014-11-03 21:45:06 +0400
committerAlexander Barkov <bar@mariadb.org>2014-11-03 21:45:06 +0400
commit43f185e171eecdce41e71c548ce0bc2bd6969c0f (patch)
treeef2a7c8ea219bb66aeb1532eedfae9268f9f3ae1 /sql/sql_yacc.yy
parenta245543bc8821b15409b839197d911302fb5bfb0 (diff)
downloadmariadb-git-43f185e171eecdce41e71c548ce0bc2bd6969c0f.tar.gz
MDEV-5528 Command line variable to choose MariaDB-5.3 vs MySQL-5.6 temporal data formats
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy12
1 files changed, 8 insertions, 4 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 09f7678fd83..632bdd25915 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -6196,22 +6196,26 @@ type:
| DATE_SYM
{ $$=MYSQL_TYPE_DATE; }
| TIME_SYM opt_field_length
- { $$=MYSQL_TYPE_TIME; }
+ { $$= opt_mysql56_temporal_format ?
+ MYSQL_TYPE_TIME2 : MYSQL_TYPE_TIME; }
| TIMESTAMP opt_field_length
{
if (thd->variables.sql_mode & MODE_MAXDB)
- $$=MYSQL_TYPE_DATETIME;
+ $$= opt_mysql56_temporal_format ?
+ MYSQL_TYPE_DATETIME2 : MYSQL_TYPE_DATETIME;
else
{
/*
Unlike other types TIMESTAMP fields are NOT NULL by default.
*/
Lex->type|= NOT_NULL_FLAG;
- $$=MYSQL_TYPE_TIMESTAMP;
+ $$= opt_mysql56_temporal_format ?
+ MYSQL_TYPE_TIMESTAMP2 : MYSQL_TYPE_TIMESTAMP;
}
}
| DATETIME opt_field_length
- { $$=MYSQL_TYPE_DATETIME; }
+ { $$= opt_mysql56_temporal_format ?
+ MYSQL_TYPE_DATETIME2 : MYSQL_TYPE_DATETIME; }
| TINYBLOB
{
Lex->charset=&my_charset_bin;