postgresql/src/include/utils/cash.h

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 */