Fix cash_mul_int4 and cash_div_int4 for overenthusiastic substitution

of int64 for int32.  Per reports from Merlin Moncure and Andrew Chernow.
This commit is contained in:
Tom Lane 2007-08-21 03:56:07 +00:00
parent 1783e5db3e
commit 14572e4324

View File

@ -13,7 +13,7 @@
* this version handles 64 bit numbers and so can hold values up to * this version handles 64 bit numbers and so can hold values up to
* $92,233,720,368,547,758.07. * $92,233,720,368,547,758.07.
* *
* $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.72 2007/08/21 03:14:36 tgl Exp $ * $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.73 2007/08/21 03:56:07 tgl Exp $
*/ */
#include "postgres.h" #include "postgres.h"
@ -652,7 +652,7 @@ Datum
cash_mul_int4(PG_FUNCTION_ARGS) cash_mul_int4(PG_FUNCTION_ARGS)
{ {
Cash c = PG_GETARG_CASH(0); Cash c = PG_GETARG_CASH(0);
int64 i = PG_GETARG_INT64(1); int32 i = PG_GETARG_INT32(1);
Cash result; Cash result;
result = c * i; result = c * i;
@ -683,7 +683,7 @@ Datum
cash_div_int4(PG_FUNCTION_ARGS) cash_div_int4(PG_FUNCTION_ARGS)
{ {
Cash c = PG_GETARG_CASH(0); Cash c = PG_GETARG_CASH(0);
int64 i = PG_GETARG_INT64(1); int32 i = PG_GETARG_INT32(1);
Cash result; Cash result;
if (i == 0) if (i == 0)