Re: Numeric modulo operator is incorrect.

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Ken-ichi Yamasaki <yama@yuzu.gr.jp>
Cc: pgsql-bugs@postgresql.org
Date: 2001-04-13T19:54:46Z
Lists: pgsql-bugs
Ken-ichi Yamasaki <yama@yuzu.gr.jp> writes:
> I build PostgreSQL 7.0.3 with jumbo-20010318.patch.gz on Vine Linux2.1.5.

> Following result are incorrect. Am I under an illusion?

> test=# select '34666624082'::numeric % '34666671'::numeric;
>  ?column? 
> ----------
>    -46918
> (1 row)

This is a bug; looks like mod_var() is using a rather silly estimate
of how many digits of precision it needs to keep in the division step.

I have a fix but I'm not sure if it will get into 7.1 or be held
for 7.1.1 ...

			regards, tom lane