summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorGeorgi Kodinov <Georgi.Kodinov@Oracle.com>2010-06-23 19:25:31 +0300
committerGeorgi Kodinov <Georgi.Kodinov@Oracle.com>2010-06-23 19:25:31 +0300
commitc38864d426b5ec8cfa10292350fba353ec8d4758 (patch)
tree79fb24e9e99f6f631f058742c13e8c4ef1ad4ddc /sql/sql_show.cc
parent08600155605b1f1e2cce946648c5a5cb6091f435 (diff)
downloadmariadb-git-c38864d426b5ec8cfa10292350fba353ec8d4758.tar.gz
Bug #53814: NUMERIC_PRECISION for unsigned bigint field is 19,
should be 20 Fixed the numeric precision of the unsigned BIGINT column to be 20 instead of 19.
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 091bd09aa25..d0e76e501e2 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -3965,10 +3965,13 @@ static int get_schema_column_record(THD *thd, TABLE_LIST *tables,
case MYSQL_TYPE_TINY:
case MYSQL_TYPE_SHORT:
case MYSQL_TYPE_LONG:
- case MYSQL_TYPE_LONGLONG:
case MYSQL_TYPE_INT24:
field_length= field->max_display_length() - 1;
break;
+ case MYSQL_TYPE_LONGLONG:
+ field_length= field->max_display_length() -
+ ((field->flags & UNSIGNED_FLAG) ? 0 : 1);
+ break;
case MYSQL_TYPE_BIT:
field_length= field->max_display_length();
decimals= -1; // return NULL