[PATCHES] Patch to correct 64-bit money type in 8.3devel

2007-08-20 Thread Andrew Chernow
Attached is a patch for the 8.3devel 64-bit money type.  Bug reported 
here: http://archives.postgresql.org/pgsql-bugs/2007-08/msg00137.php.


Run the test program included in the bug report to see the issue.  Then 
apply patch and run the test again.


Andrew Chernow



Index: src/backend/utils/adt/cash.c
===
RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/cash.c,v
retrieving revision 1.71
diff -c -C6 -r1.71 cash.c
*** src/backend/utils/adt/cash.c12 Jul 2007 23:51:10 -  1.71
--- src/backend/utils/adt/cash.c20 Aug 2007 14:10:44 -
***
*** 369,394 
   */
  Datum
  cash_recv(PG_FUNCTION_ARGS)
  {
StringInfo  buf = (StringInfo) PG_GETARG_POINTER(0);

!   PG_RETURN_CASH((Cash) pq_getmsgint(buf, sizeof(Cash)));
  }

  /*
   *cash_send   - converts cash to 
binary format

   */
  Datum
  cash_send(PG_FUNCTION_ARGS)
  {
Casharg1 = PG_GETARG_CASH(0);
StringInfoData buf;

pq_begintypsend(buf);
!   pq_sendint(buf, arg1, sizeof(Cash));
PG_RETURN_BYTEA_P(pq_endtypsend(buf));
  }

  /*
   * Comparison functions
   */
--- 369,394 
   */
  Datum
  cash_recv(PG_FUNCTION_ARGS)
  {
StringInfo  buf = (StringInfo) PG_GETARG_POINTER(0);

!   PG_RETURN_CASH((Cash) pq_getmsgint64(buf));
  }

  /*
   *cash_send   - converts cash to 
binary format

   */
  Datum
  cash_send(PG_FUNCTION_ARGS)
  {
Casharg1 = PG_GETARG_CASH(0);
StringInfoData buf;

pq_begintypsend(buf);
!   pq_sendint64(buf, arg1);
PG_RETURN_BYTEA_P(pq_endtypsend(buf));
  }

  /*
   * Comparison functions
   */

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [PATCHES] Patch to correct 64-bit money type in 8.3devel

2007-08-20 Thread Tom Lane
Andrew Chernow [EMAIL PROTECTED] writes:
 Attached is a patch for the 8.3devel 64-bit money type.  Bug reported 
 here: http://archives.postgresql.org/pgsql-bugs/2007-08/msg00137.php.

This message seems to have been whacked around by your mailer --- you
might try sending the patch as an attachment next time.  Fortunately
it's a small enough patch to apply by hand, and I've done that.
Thanks for the report and fix!

regards, tom lane

---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings