Commit 68cd99bd authored by unknown's avatar unknown

Fix for bug #12173 (show create table crash)


mysql-test/r/type_newdecimal.result:
  test result fixed
mysql-test/t/type_newdecimal.test:
  testcase
strings/decimal.c:
  we always add one int-part digit even if decimal(10,10) (no int part declared)
parent 90b2daa7
......@@ -976,3 +976,13 @@ select * from t1;
f1 f2 f3 f4 f5 f6 f7 f8
1 18 99 100 104 200 1000 10000
drop table t1;
create table t1 (
f0 decimal (30,30) zerofill not null DEFAULT 0,
f1 decimal (0,0) zerofill not null default 0);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f0` decimal(30,30) unsigned zerofill NOT NULL default '0.000000000000000000000000000000',
`f1` decimal(10,0) unsigned zerofill NOT NULL default '0000000000'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
......@@ -1007,3 +1007,11 @@ insert into t1 (f1) values (1);
select * from t1;
drop table t1;
#
# Bug 12173 (show create table fails)
#
create table t1 (
f0 decimal (30,30) zerofill not null DEFAULT 0,
f1 decimal (0,0) zerofill not null default 0);
show create table t1;
drop table t1;
......@@ -351,7 +351,8 @@ int decimal2string(decimal_t *from, char *to, int *to_len,
buf0=&tmp;
}
intg_len= fixed_precision ? fixed_intg : (intg ? intg : 1);
if (!(intg_len= fixed_precision ? fixed_intg : intg))
intg_len= 1;
frac_len= fixed_precision ? fixed_decimals : frac;
len= from->sign + intg_len + test(frac) + frac_len;
if (fixed_precision)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment