summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <kaa@polly.(none)>2007-12-01 12:57:20 +0300
committerunknown <kaa@polly.(none)>2007-12-01 12:57:20 +0300
commitdfde8826af830e5fa6f25d690a53418168c1f118 (patch)
tree7a1f3b9e2eb5e66270386f54c732a78ca7083533 /sql
parent4fc6d3b2b654a974c9f3bfc6558caf90deb363a2 (diff)
parentd8d07eff702b303b9458ac5622bdc42e5a0c1f93 (diff)
downloadmariadb-git-dfde8826af830e5fa6f25d690a53418168c1f118.tar.gz
Merge polly.(none):/home/kaa/src/maint/bug26788/my50-bug26788
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint sql/field.cc: Auto merged
Diffstat (limited to 'sql')
-rw-r--r--sql/field.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc
index c604f04339c..1878797297f 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -5909,6 +5909,7 @@ int Field_str::store(double nr)
uint length;
uint local_char_length= field_length / charset()->mbmaxlen;
double anr= fabs(nr);
+ bool fractional= (anr != floor(anr));
int neg= (nr < 0.0) ? 1 : 0;
uint max_length;
int exp;
@@ -5937,7 +5938,7 @@ int Field_str::store(double nr)
calculate the maximum number of significant digits if the 'f'-format
would be used (+1 for decimal point if the number has a fractional part).
*/
- digits= max(0, (int) max_length - (nr != trunc(nr)));
+ digits= max(0, (int) max_length - fractional);
/*
If the exponent is negative, decrease digits by the number of leading zeros
after the decimal point that do not count as significant digits.