diff options
author | Gleb Shchepa <gleb.shchepa@oracle.com> | 2012-06-29 14:12:21 +0400 |
---|---|---|
committer | Gleb Shchepa <gleb.shchepa@oracle.com> | 2012-06-29 14:12:21 +0400 |
commit | 4661d95433b2b6f4c7f25facd2a45db23329dcba (patch) | |
tree | aa3c60456b0b32facebea115b86bbc0b63d1aa9d /sql | |
parent | 6058319dba910576e00b0b566697b95aff6cb52c (diff) | |
parent | 767501fb54f19adf3c136e5131daf11e34b3f039 (diff) | |
download | mariadb-git-4661d95433b2b6f4c7f25facd2a45db23329dcba.tar.gz |
manual merge (WL6219)
sql/sql_yacc.yy:
manual merge (backport of WL6219)
Diffstat (limited to 'sql')
-rw-r--r-- | sql/field.cc | 11 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 18 |
2 files changed, 28 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc index 4fcf5b33dc1..352c8025e19 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -9929,6 +9929,17 @@ Create_field::Create_field(Field *old_field,Field *orig_field) geom_type= ((Field_geom*)old_field)->geom_type; break; #endif + case MYSQL_TYPE_YEAR: + if (length != 4) + { + char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; + snprintf(buff, sizeof(buff), "YEAR(%lu)", length); + push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_NOTE, + ER_WARN_DEPRECATED_SYNTAX, + ER(ER_WARN_DEPRECATED_SYNTAX), + buff, "YEAR(4)"); + } + break; default: break; } diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index bf7ca6b02ed..05a12ac826a 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -5465,7 +5465,23 @@ type: $$= MYSQL_TYPE_VARCHAR; } | YEAR_SYM opt_field_length field_options - { $$=MYSQL_TYPE_YEAR; } + { + if (Lex->length) + { + errno= 0; + ulong length= strtoul(Lex->length, NULL, 10); + if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4) + { + char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; + snprintf(buff, sizeof(buff), "YEAR(%lu)", length); + push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_NOTE, + ER_WARN_DEPRECATED_SYNTAX, + ER(ER_WARN_DEPRECATED_SYNTAX), + buff, "YEAR(4)"); + } + } + $$=MYSQL_TYPE_YEAR; + } | DATE_SYM { $$=MYSQL_TYPE_DATE; } | TIME_SYM |