Age Owner TLA Line data Source code
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 : static inline Cash
1075 peter@eisentraut.org 21 CBC 11025 : DatumGetCash(Datum X)
22 : {
23 11025 : return DatumGetInt64(X);
24 : }
25 :
26 : static inline Datum
27 1717 : CashGetDatum(Cash X)
28 : {
29 1717 : return Int64GetDatum(X);
30 : }
31 :
32 : #define PG_GETARG_CASH(n) DatumGetCash(PG_GETARG_DATUM(n))
33 : #define PG_RETURN_CASH(x) return CashGetDatum(x)
34 :
35 : #endif /* CASH_H */
|