| 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 | |
| 17 | typedef 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 | |