1/*
2 * src/include/utils/cash.h
3 *
4 *
5 * cash.h
6 * Written by D'Arcy J.M. Cain
7 *
8 * Functions to allow input and output of money normally but store
9 * and handle it as 64 bit integer.
10 */
11
12#ifndef CASH_H
13#define CASH_H
14
15#include "fmgr.h"
16
17typedef int64 Cash;
18
19/* Cash is pass-by-reference if and only if int64 is */
20#define DatumGetCash(X) ((Cash) DatumGetInt64(X))
21#define CashGetDatum(X) Int64GetDatum(X)
22#define PG_GETARG_CASH(n) DatumGetCash(PG_GETARG_DATUM(n))
23#define PG_RETURN_CASH(x) return CashGetDatum(x)
24
25#endif /* CASH_H */
26