50#include "utils/fmgrprotos.h"
82 else if (typLen == -1)
90 errmsg(
"invalid Datum pointer")));
94 else if (typLen == -2)
102 errmsg(
"invalid Datum pointer")));
108 elog(
ERROR,
"invalid typLen: %d", typLen);
138 else if (typLen == -1)
196 if (!typByVal && typLen == -1 &&
282 else if (typLen == -1)
308 else if (typLen == -2)
323 elog(
ERROR,
"unexpected typLen: %d", typLen);
347 else if (typLen == -1)
361 else if (typLen == -2)
372 elog(
ERROR,
"unexpected typLen: %d", typLen);
423 else if (typLen == -1 &&
472 else if (typLen == -1 &&
499 tmp = (
char *)
palloc(header);
#define Assert(condition)
Datum datumCopy(Datum value, bool typByVal, int typLen)
Datum btequalimage(PG_FUNCTION_ARGS)
Datum datumTransfer(Datum value, bool typByVal, int typLen)
Size datumGetSize(Datum value, bool typByVal, int typLen)
uint32 datum_image_hash(Datum value, bool typByVal, int typLen)
Datum datumRestore(char **start_address, bool *isnull)
void datumSerialize(Datum value, bool isnull, bool typByVal, int typLen, char **start_address)
Size datumEstimateSpace(Datum value, bool isnull, bool typByVal, int typLen)
bool datum_image_eq(Datum value1, Datum value2, bool typByVal, int typLen)
bool datumIsEqual(Datum value1, Datum value2, bool typByVal, int typLen)
Size toast_raw_datum_size(Datum value)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
ExpandedObjectHeader * DatumGetEOHP(Datum d)
void EOH_flatten_into(ExpandedObjectHeader *eohptr, void *result, Size allocated_size)
Datum TransferExpandedObject(Datum d, MemoryContext new_parent)
Size EOH_get_flat_size(ExpandedObjectHeader *eohptr)
#define PG_DETOAST_DATUM_PACKED(datum)
#define PG_RETURN_BOOL(x)
uint32 hash_bytes(const unsigned char *k, int keylen)
void pfree(void *pointer)
MemoryContext CurrentMemoryContext
static Datum PointerGetDatum(const void *X)
static char * DatumGetCString(Datum X)
static Pointer DatumGetPointer(Datum X)
static Size VARSIZE_ANY(const void *PTR)
static bool VARATT_IS_EXTERNAL_EXPANDED_RW(const void *PTR)
static char * VARDATA_ANY(const void *PTR)
static bool VARATT_IS_EXTERNAL_EXPANDED(const void *PTR)