1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-19906 Port show_old_temporals from MySQL 5.6

Old temporal data types (created with a pre-10.0 version of MariaDB)
are now displayed with a /* mariadb-5.3 */ comment in:

- SHOW CREATE TABLE
- DESCRIBE
- INFORMATION_SCHEMA.COLUMNS.COLUMN_TYPE

For example:

CREATE TABLE `t1` (
  `t0` datetime /* mariadb-5.3 */ DEFAULT NULL,
  `t6` datetime(6) /* mariadb-5.3 */ DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

Note, new temporal data types are displayed without a format comment.
This commit is contained in:
Alexander Barkov
2020-01-16 13:29:29 +04:00
parent e7558d4760
commit 6f65931f88
10 changed files with 376 additions and 53 deletions

View File

@ -1469,13 +1469,13 @@ const Name Type_handler::version() const
return ver;
}
const Name Type_handler::version_mariadb53() const
const Name & Type_handler::version_mariadb53()
{
static const Name ver(STRING_WITH_LEN("mariadb-5.3"));
return ver;
}
const Name Type_handler::version_mysql56() const
const Name & Type_handler::version_mysql56()
{
static const Name ver(STRING_WITH_LEN("mysql-5.6"));
return ver;
@ -3986,9 +3986,9 @@ Field *Type_handler_datetime_common::make_schema_field(MEM_ROOT *root,
bool show_field) const
{
LEX_CSTRING name= def.name();
return new_Field_datetime(root,
addr.ptr(), addr.null_ptr(), addr.null_bit(),
Field::NONE, &name, def.fsp());
return new (root) Field_datetimef(addr.ptr(),
addr.null_ptr(), addr.null_bit(),
Field::NONE, &name, def.fsp());
}