summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-11-30 12:17:01 -0800
committerunknown <jimw@mysql.com>2005-11-30 12:17:01 -0800
commit6653213a71b2df0540c97dddcc3d7ee9e710be90 (patch)
tree0842357ad78347a6ab54d08343e906c55f7b72b0 /sql/item.cc
parentfc289724bba5f689dbe46666a70866ee0d297777 (diff)
parent03e057cd9ec2feb08f00578a9f22801f8656d92d (diff)
downloadmariadb-git-6653213a71b2df0540c97dddcc3d7ee9e710be90.tar.gz
Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into mysql.com:/home/jimw/my/mysql-5.1-clean VC++Files/sql/mysqld.dsp: Auto merged sql/item.cc: Auto merged sql/sql_table.cc: Auto merged mysql-test/r/alter_table.result: Resolve conflict mysql-test/t/alter_table.test: Resolve conflict
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/item.cc b/sql/item.cc
index 692f7b58928..438741581bb 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -5854,8 +5854,11 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
{
int delta1= max_length_orig - decimals_orig;
int delta2= item->max_length - item->decimals;
- max_length= min(max(delta1, delta2) + decimals,
- (fld_type == MYSQL_TYPE_FLOAT) ? FLT_DIG+6 : DBL_DIG+7);
+ if (fld_type == MYSQL_TYPE_DECIMAL)
+ max_length= max(delta1, delta2) + decimals;
+ else
+ max_length= min(max(delta1, delta2) + decimals,
+ (fld_type == MYSQL_TYPE_FLOAT) ? FLT_DIG+6 : DBL_DIG+7);
}
else
max_length= (fld_type == MYSQL_TYPE_FLOAT) ? FLT_DIG+6 : DBL_DIG+7;