36 lines
595 B
C
36 lines
595 B
C
/*
|
|
* src/include/utils/cash.h
|
|
*
|
|
*
|
|
* cash.h
|
|
* Written by D'Arcy J.M. Cain
|
|
*
|
|
* Functions to allow input and output of money normally but store
|
|
* and handle it as 64 bit integer.
|
|
*/
|
|
|
|
#ifndef CASH_H
|
|
#define CASH_H
|
|
|
|
#include "fmgr.h"
|
|
|
|
typedef int64 Cash;
|
|
|
|
/* Cash is pass-by-reference if and only if int64 is */
|
|
static inline Cash
|
|
DatumGetCash(Datum X)
|
|
{
|
|
return DatumGetInt64(X);
|
|
}
|
|
|
|
static inline Datum
|
|
CashGetDatum(Cash X)
|
|
{
|
|
return Int64GetDatum(X);
|
|
}
|
|
|
|
#define PG_GETARG_CASH(n) DatumGetCash(PG_GETARG_DATUM(n))
|
|
#define PG_RETURN_CASH(x) return CashGetDatum(x)
|
|
|
|
#endif /* CASH_H */
|