Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit08195a4

Browse files
committed
Fix bugs in NUMERIC ceil() and floor() functions. ceil(0) returned 1,
and both would insert random junk digits if given an input that was anexact multiple of 10.
1 parent6d1efd7 commit08195a4

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

‎src/backend/utils/adt/numeric.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*
66
*1998 Jan Wieck
77
*
8-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.23 2000/01/18 03:44:41 tgl Exp $
8+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/numeric.c,v 1.24 2000/01/20 02:21:44 tgl Exp $
99
*
1010
* ----------
1111
*/
@@ -2932,7 +2932,7 @@ ceil_var(NumericVar *var, NumericVar *result)
29322932
set_var_from_var(var,&tmp);
29332933

29342934
tmp.rscale=0;
2935-
tmp.ndigits=MAX(0,tmp.weight+1);
2935+
tmp.ndigits=MIN(tmp.ndigits,MAX(0,tmp.weight+1));
29362936
if (tmp.sign==NUMERIC_POS&&cmp_var(var,&tmp)!=0)
29372937
add_var(&tmp,&const_one,&tmp);
29382938

@@ -2957,7 +2957,7 @@ floor_var(NumericVar *var, NumericVar *result)
29572957
set_var_from_var(var,&tmp);
29582958

29592959
tmp.rscale=0;
2960-
tmp.ndigits=MAX(0,tmp.weight+1);
2960+
tmp.ndigits=MIN(tmp.ndigits,MAX(0,tmp.weight+1));
29612961
if (tmp.sign==NUMERIC_NEG&&cmp_var(var,&tmp)!=0)
29622962
sub_var(&tmp,&const_one,&tmp);
29632963

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp