diff options
author | unknown <tsmith@quadxeon.mysql.com> | 2007-05-21 20:51:31 +0200 |
---|---|---|
committer | unknown <tsmith@quadxeon.mysql.com> | 2007-05-21 20:51:31 +0200 |
commit | 9e6117c5017c9afe5cc84d4ac8879bb2aceafebb (patch) | |
tree | 457981143ba9aa6fbb102f4c16f9c4342a747567 /strings | |
parent | 3043367e730aecd311813ab70ef58ebacf23dfe2 (diff) | |
parent | 2343b95f8b950a61315b6c52bd3c71295218e48b (diff) | |
download | mariadb-git-9e6117c5017c9afe5cc84d4ac8879bb2aceafebb.tar.gz |
Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
configure.in:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/sql_show.cc:
Auto merged
Diffstat (limited to 'strings')
-rw-r--r-- | strings/decimal.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/strings/decimal.c b/strings/decimal.c index b29017aa6cb..0768c8cd4ca 100644 --- a/strings/decimal.c +++ b/strings/decimal.c @@ -1089,7 +1089,11 @@ int decimal2longlong(decimal_t *from, longlong *to) x=x*DIG_BASE - *buf++; if (unlikely(y < (LONGLONG_MIN/DIG_BASE) || x > y)) { - *to= from->sign ? y : -y; + /* + the decimal is bigger than any possible integer + return border integer depending on the sign + */ + *to= from->sign ? LONGLONG_MIN : LONGLONG_MAX; return E_DEC_OVERFLOW; } } |