From 4cabc608b6c3c16d800d6cd80c730171a534566f Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 19 Feb 2016 14:17:35 +0100 Subject: [PATCH] correct temporal fields in max_display_length_for_field() it's *display length* (a.k.a. field_length) not storage length (a.k.a. pack_length) --- sql/rpl_utility.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sql/rpl_utility.cc b/sql/rpl_utility.cc index bcba7dd6785..f7fd17edb01 100644 --- a/sql/rpl_utility.cc +++ b/sql/rpl_utility.cc @@ -98,20 +98,22 @@ max_display_length_for_field(enum_field_types sql_type, unsigned int metadata) return 3; case MYSQL_TYPE_DATE: - case MYSQL_TYPE_TIME: return 3; + case MYSQL_TYPE_TIME: + return MIN_TIME_WIDTH; + case MYSQL_TYPE_TIME2: return max_display_length_for_temporal2_field(MIN_TIME_WIDTH, metadata); case MYSQL_TYPE_TIMESTAMP: - return 4; + return MAX_DATETIME_WIDTH; case MYSQL_TYPE_TIMESTAMP2: return max_display_length_for_temporal2_field(MAX_DATETIME_WIDTH, metadata); case MYSQL_TYPE_DATETIME: - return 8; + return MAX_DATETIME_WIDTH; case MYSQL_TYPE_DATETIME2: return max_display_length_for_temporal2_field(MAX_DATETIME_WIDTH, metadata);