PostgreSQL Source Code git master
cash.h
Go to the documentation of this file.
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 */
20static inline Cash
22{
23 return DatumGetInt64(X);
24}
25
26static inline Datum
28{
29 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 */
int64_t int64
Definition: c.h:485
static Cash DatumGetCash(Datum X)
Definition: cash.h:21
static Datum CashGetDatum(Cash X)
Definition: cash.h:27
int64 Cash
Definition: cash.h:17
Datum Int64GetDatum(int64 X)
Definition: fmgr.c:1807
static int64 DatumGetInt64(Datum X)
Definition: postgres.h:390
uintptr_t Datum
Definition: postgres.h:69