Header And Logo

PostgreSQL
| The world's most advanced open source database.

Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

fmgr.h File Reference

Go to the source code of this file.

Data Structures

struct  FmgrInfo
struct  FunctionCallInfoData
struct  Pg_finfo_record
struct  Pg_magic_struct

Defines

#define fmgr_info_set_expr(expr, finfo)   ((finfo)->fn_expr = (expr))
#define InitFunctionCallInfoData(Fcinfo, Flinfo, Nargs, Collation, Context, Resultinfo)
#define FunctionCallInvoke(fcinfo)   ((* (fcinfo)->flinfo->fn_addr) (fcinfo))
#define PG_FUNCTION_ARGS   FunctionCallInfo fcinfo
#define PG_GET_COLLATION()   (fcinfo->fncollation)
#define PG_NARGS()   (fcinfo->nargs)
#define PG_ARGISNULL(n)   (fcinfo->argnull[n])
#define PG_DETOAST_DATUM(datum)   pg_detoast_datum((struct varlena *) DatumGetPointer(datum))
#define PG_DETOAST_DATUM_COPY(datum)   pg_detoast_datum_copy((struct varlena *) DatumGetPointer(datum))
#define PG_DETOAST_DATUM_SLICE(datum, f, c)
#define PG_DETOAST_DATUM_PACKED(datum)   pg_detoast_datum_packed((struct varlena *) DatumGetPointer(datum))
#define PG_FREE_IF_COPY(ptr, n)
#define PG_GETARG_DATUM(n)   (fcinfo->arg[n])
#define PG_GETARG_INT32(n)   DatumGetInt32(PG_GETARG_DATUM(n))
#define PG_GETARG_UINT32(n)   DatumGetUInt32(PG_GETARG_DATUM(n))
#define PG_GETARG_INT16(n)   DatumGetInt16(PG_GETARG_DATUM(n))
#define PG_GETARG_UINT16(n)   DatumGetUInt16(PG_GETARG_DATUM(n))
#define PG_GETARG_CHAR(n)   DatumGetChar(PG_GETARG_DATUM(n))
#define PG_GETARG_BOOL(n)   DatumGetBool(PG_GETARG_DATUM(n))
#define PG_GETARG_OID(n)   DatumGetObjectId(PG_GETARG_DATUM(n))
#define PG_GETARG_POINTER(n)   DatumGetPointer(PG_GETARG_DATUM(n))
#define PG_GETARG_CSTRING(n)   DatumGetCString(PG_GETARG_DATUM(n))
#define PG_GETARG_NAME(n)   DatumGetName(PG_GETARG_DATUM(n))
#define PG_GETARG_FLOAT4(n)   DatumGetFloat4(PG_GETARG_DATUM(n))
#define PG_GETARG_FLOAT8(n)   DatumGetFloat8(PG_GETARG_DATUM(n))
#define PG_GETARG_INT64(n)   DatumGetInt64(PG_GETARG_DATUM(n))
#define PG_GETARG_RAW_VARLENA_P(n)   ((struct varlena *) PG_GETARG_POINTER(n))
#define PG_GETARG_VARLENA_P(n)   PG_DETOAST_DATUM(PG_GETARG_DATUM(n))
#define PG_GETARG_VARLENA_PP(n)   PG_DETOAST_DATUM_PACKED(PG_GETARG_DATUM(n))
#define DatumGetByteaP(X)   ((bytea *) PG_DETOAST_DATUM(X))
#define DatumGetByteaPP(X)   ((bytea *) PG_DETOAST_DATUM_PACKED(X))
#define DatumGetTextP(X)   ((text *) PG_DETOAST_DATUM(X))
#define DatumGetTextPP(X)   ((text *) PG_DETOAST_DATUM_PACKED(X))
#define DatumGetBpCharP(X)   ((BpChar *) PG_DETOAST_DATUM(X))
#define DatumGetBpCharPP(X)   ((BpChar *) PG_DETOAST_DATUM_PACKED(X))
#define DatumGetVarCharP(X)   ((VarChar *) PG_DETOAST_DATUM(X))
#define DatumGetVarCharPP(X)   ((VarChar *) PG_DETOAST_DATUM_PACKED(X))
#define DatumGetHeapTupleHeader(X)   ((HeapTupleHeader) PG_DETOAST_DATUM(X))
#define DatumGetByteaPCopy(X)   ((bytea *) PG_DETOAST_DATUM_COPY(X))
#define DatumGetTextPCopy(X)   ((text *) PG_DETOAST_DATUM_COPY(X))
#define DatumGetBpCharPCopy(X)   ((BpChar *) PG_DETOAST_DATUM_COPY(X))
#define DatumGetVarCharPCopy(X)   ((VarChar *) PG_DETOAST_DATUM_COPY(X))
#define DatumGetHeapTupleHeaderCopy(X)   ((HeapTupleHeader) PG_DETOAST_DATUM_COPY(X))
#define DatumGetByteaPSlice(X, m, n)   ((bytea *) PG_DETOAST_DATUM_SLICE(X,m,n))
#define DatumGetTextPSlice(X, m, n)   ((text *) PG_DETOAST_DATUM_SLICE(X,m,n))
#define DatumGetBpCharPSlice(X, m, n)   ((BpChar *) PG_DETOAST_DATUM_SLICE(X,m,n))
#define DatumGetVarCharPSlice(X, m, n)   ((VarChar *) PG_DETOAST_DATUM_SLICE(X,m,n))
#define PG_GETARG_BYTEA_P(n)   DatumGetByteaP(PG_GETARG_DATUM(n))
#define PG_GETARG_BYTEA_PP(n)   DatumGetByteaPP(PG_GETARG_DATUM(n))
#define PG_GETARG_TEXT_P(n)   DatumGetTextP(PG_GETARG_DATUM(n))
#define PG_GETARG_TEXT_PP(n)   DatumGetTextPP(PG_GETARG_DATUM(n))
#define PG_GETARG_BPCHAR_P(n)   DatumGetBpCharP(PG_GETARG_DATUM(n))
#define PG_GETARG_BPCHAR_PP(n)   DatumGetBpCharPP(PG_GETARG_DATUM(n))
#define PG_GETARG_VARCHAR_P(n)   DatumGetVarCharP(PG_GETARG_DATUM(n))
#define PG_GETARG_VARCHAR_PP(n)   DatumGetVarCharPP(PG_GETARG_DATUM(n))
#define PG_GETARG_HEAPTUPLEHEADER(n)   DatumGetHeapTupleHeader(PG_GETARG_DATUM(n))
#define PG_GETARG_BYTEA_P_COPY(n)   DatumGetByteaPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_TEXT_P_COPY(n)   DatumGetTextPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_BPCHAR_P_COPY(n)   DatumGetBpCharPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_VARCHAR_P_COPY(n)   DatumGetVarCharPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_HEAPTUPLEHEADER_COPY(n)   DatumGetHeapTupleHeaderCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_BYTEA_P_SLICE(n, a, b)   DatumGetByteaPSlice(PG_GETARG_DATUM(n),a,b)
#define PG_GETARG_TEXT_P_SLICE(n, a, b)   DatumGetTextPSlice(PG_GETARG_DATUM(n),a,b)
#define PG_GETARG_BPCHAR_P_SLICE(n, a, b)   DatumGetBpCharPSlice(PG_GETARG_DATUM(n),a,b)
#define PG_GETARG_VARCHAR_P_SLICE(n, a, b)   DatumGetVarCharPSlice(PG_GETARG_DATUM(n),a,b)
#define PG_RETURN_NULL()   do { fcinfo->isnull = true; return (Datum) 0; } while (0)
#define PG_RETURN_VOID()   return (Datum) 0
#define PG_RETURN_DATUM(x)   return (x)
#define PG_RETURN_INT32(x)   return Int32GetDatum(x)
#define PG_RETURN_UINT32(x)   return UInt32GetDatum(x)
#define PG_RETURN_INT16(x)   return Int16GetDatum(x)
#define PG_RETURN_CHAR(x)   return CharGetDatum(x)
#define PG_RETURN_BOOL(x)   return BoolGetDatum(x)
#define PG_RETURN_OID(x)   return ObjectIdGetDatum(x)
#define PG_RETURN_POINTER(x)   return PointerGetDatum(x)
#define PG_RETURN_CSTRING(x)   return CStringGetDatum(x)
#define PG_RETURN_NAME(x)   return NameGetDatum(x)
#define PG_RETURN_FLOAT4(x)   return Float4GetDatum(x)
#define PG_RETURN_FLOAT8(x)   return Float8GetDatum(x)
#define PG_RETURN_INT64(x)   return Int64GetDatum(x)
#define PG_RETURN_BYTEA_P(x)   PG_RETURN_POINTER(x)
#define PG_RETURN_TEXT_P(x)   PG_RETURN_POINTER(x)
#define PG_RETURN_BPCHAR_P(x)   PG_RETURN_POINTER(x)
#define PG_RETURN_VARCHAR_P(x)   PG_RETURN_POINTER(x)
#define PG_RETURN_HEAPTUPLEHEADER(x)   PG_RETURN_POINTER(x)
#define PG_FUNCTION_INFO_V1(funcname)
#define PG_MODULE_MAGIC_DATA
#define PG_MAGIC_FUNCTION_NAME   Pg_magic_func
#define PG_MAGIC_FUNCTION_NAME_STRING   "Pg_magic_func"
#define PG_MODULE_MAGIC
#define DirectFunctionCall1(func, arg1)   DirectFunctionCall1Coll(func, InvalidOid, arg1)
#define DirectFunctionCall2(func, arg1, arg2)   DirectFunctionCall2Coll(func, InvalidOid, arg1, arg2)
#define DirectFunctionCall3(func, arg1, arg2, arg3)   DirectFunctionCall3Coll(func, InvalidOid, arg1, arg2, arg3)
#define DirectFunctionCall4(func, arg1, arg2, arg3, arg4)   DirectFunctionCall4Coll(func, InvalidOid, arg1, arg2, arg3, arg4)
#define DirectFunctionCall5(func, arg1, arg2, arg3, arg4, arg5)   DirectFunctionCall5Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5)
#define DirectFunctionCall6(func, arg1, arg2, arg3, arg4, arg5, arg6)   DirectFunctionCall6Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)
#define DirectFunctionCall7(func, arg1, arg2, arg3, arg4, arg5, arg6, arg7)   DirectFunctionCall7Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
#define DirectFunctionCall8(func, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)   DirectFunctionCall8Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
#define DirectFunctionCall9(func, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)   DirectFunctionCall9Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
#define FunctionCall1(flinfo, arg1)   FunctionCall1Coll(flinfo, InvalidOid, arg1)
#define FunctionCall2(flinfo, arg1, arg2)   FunctionCall2Coll(flinfo, InvalidOid, arg1, arg2)
#define FunctionCall3(flinfo, arg1, arg2, arg3)   FunctionCall3Coll(flinfo, InvalidOid, arg1, arg2, arg3)
#define FunctionCall4(flinfo, arg1, arg2, arg3, arg4)   FunctionCall4Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4)
#define FunctionCall5(flinfo, arg1, arg2, arg3, arg4, arg5)   FunctionCall5Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5)
#define FunctionCall6(flinfo, arg1, arg2, arg3, arg4, arg5, arg6)   FunctionCall6Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)
#define FunctionCall7(flinfo, arg1, arg2, arg3, arg4, arg5, arg6, arg7)   FunctionCall7Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
#define FunctionCall8(flinfo, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)   FunctionCall8Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
#define FunctionCall9(flinfo, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)   FunctionCall9Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
#define OidFunctionCall0(functionId)   OidFunctionCall0Coll(functionId, InvalidOid)
#define OidFunctionCall1(functionId, arg1)   OidFunctionCall1Coll(functionId, InvalidOid, arg1)
#define OidFunctionCall2(functionId, arg1, arg2)   OidFunctionCall2Coll(functionId, InvalidOid, arg1, arg2)
#define OidFunctionCall3(functionId, arg1, arg2, arg3)   OidFunctionCall3Coll(functionId, InvalidOid, arg1, arg2, arg3)
#define OidFunctionCall4(functionId, arg1, arg2, arg3, arg4)   OidFunctionCall4Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4)
#define OidFunctionCall5(functionId, arg1, arg2, arg3, arg4, arg5)   OidFunctionCall5Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5)
#define OidFunctionCall6(functionId, arg1, arg2, arg3, arg4, arg5, arg6)   OidFunctionCall6Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)
#define OidFunctionCall7(functionId, arg1, arg2, arg3, arg4, arg5, arg6, arg7)   OidFunctionCall7Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
#define OidFunctionCall8(functionId, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)   OidFunctionCall8Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
#define OidFunctionCall9(functionId, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)   OidFunctionCall9Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
#define AGG_CONTEXT_AGGREGATE   1
#define AGG_CONTEXT_WINDOW   2
#define FmgrHookIsNeeded(fn_oid)   (!needs_fmgr_hook ? false : (*needs_fmgr_hook)(fn_oid))

Typedefs

typedef struct NodefmNodePtr
typedef struct StringInfoDatafmStringInfo
typedef struct
FunctionCallInfoData
FunctionCallInfo
typedef Datum(* PGFunction )(FunctionCallInfo fcinfo)
typedef struct FmgrInfo FmgrInfo
typedef struct FunctionCallInfoData FunctionCallInfoData
typedef const Pg_finfo_record *(* PGFInfoFunction )(void)
typedef const Pg_magic_struct *(* PGModuleMagicFunction )(void)
typedef enum FmgrHookEventType FmgrHookEventType
typedef bool(* needs_fmgr_hook_type )(Oid fn_oid)
typedef void(* fmgr_hook_type )(FmgrHookEventType event, FmgrInfo *flinfo, Datum *arg)

Enumerations

enum  FmgrHookEventType { FHET_START, FHET_END, FHET_ABORT }

Functions

void fmgr_info (Oid functionId, FmgrInfo *finfo)
void fmgr_info_cxt (Oid functionId, FmgrInfo *finfo, MemoryContext mcxt)
void fmgr_info_copy (FmgrInfo *dstinfo, FmgrInfo *srcinfo, MemoryContext destcxt)
struct varlenapg_detoast_datum (struct varlena *datum)
struct varlenapg_detoast_datum_copy (struct varlena *datum)
struct varlenapg_detoast_datum_slice (struct varlena *datum, int32 first, int32 count)
struct varlenapg_detoast_datum_packed (struct varlena *datum)
Datum DirectFunctionCall1Coll (PGFunction func, Oid collation, Datum arg1)
Datum DirectFunctionCall2Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2)
Datum DirectFunctionCall3Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3)
Datum DirectFunctionCall4Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4)
Datum DirectFunctionCall5Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5)
Datum DirectFunctionCall6Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6)
Datum DirectFunctionCall7Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7)
Datum DirectFunctionCall8Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8)
Datum DirectFunctionCall9Coll (PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9)
Datum FunctionCall1Coll (FmgrInfo *flinfo, Oid collation, Datum arg1)
Datum FunctionCall2Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2)
Datum FunctionCall3Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3)
Datum FunctionCall4Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4)
Datum FunctionCall5Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5)
Datum FunctionCall6Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6)
Datum FunctionCall7Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7)
Datum FunctionCall8Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8)
Datum FunctionCall9Coll (FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9)
Datum OidFunctionCall0Coll (Oid functionId, Oid collation)
Datum OidFunctionCall1Coll (Oid functionId, Oid collation, Datum arg1)
Datum OidFunctionCall2Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2)
Datum OidFunctionCall3Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3)
Datum OidFunctionCall4Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4)
Datum OidFunctionCall5Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5)
Datum OidFunctionCall6Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6)
Datum OidFunctionCall7Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7)
Datum OidFunctionCall8Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8)
Datum OidFunctionCall9Coll (Oid functionId, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9)
Datum InputFunctionCall (FmgrInfo *flinfo, char *str, Oid typioparam, int32 typmod)
Datum OidInputFunctionCall (Oid functionId, char *str, Oid typioparam, int32 typmod)
char * OutputFunctionCall (FmgrInfo *flinfo, Datum val)
char * OidOutputFunctionCall (Oid functionId, Datum val)
Datum ReceiveFunctionCall (FmgrInfo *flinfo, fmStringInfo buf, Oid typioparam, int32 typmod)
Datum OidReceiveFunctionCall (Oid functionId, fmStringInfo buf, Oid typioparam, int32 typmod)
byteaSendFunctionCall (FmgrInfo *flinfo, Datum val)
byteaOidSendFunctionCall (Oid functionId, Datum val)
const Pg_finfo_recordfetch_finfo_record (void *filehandle, char *funcname)
void clear_external_function_hash (void *filehandle)
Oid fmgr_internal_function (const char *proname)
Oid get_fn_expr_rettype (FmgrInfo *flinfo)
Oid get_fn_expr_argtype (FmgrInfo *flinfo, int argnum)
Oid get_call_expr_argtype (fmNodePtr expr, int argnum)
bool get_fn_expr_arg_stable (FmgrInfo *flinfo, int argnum)
bool get_call_expr_arg_stable (fmNodePtr expr, int argnum)
bool get_fn_expr_variadic (FmgrInfo *flinfo)
PGFunction load_external_function (char *filename, char *funcname, bool signalNotFound, void **filehandle)
PGFunction lookup_external_function (void *filehandle, char *funcname)
void load_file (const char *filename, bool restricted)
void ** find_rendezvous_variable (const char *varName)
int AggCheckCallContext (FunctionCallInfo fcinfo, MemoryContext *aggcontext)
char * fmgr (Oid procedureId,...)

Variables

char * Dynamic_library_path
PGDLLIMPORT needs_fmgr_hook_type needs_fmgr_hook
PGDLLIMPORT fmgr_hook_type fmgr_hook

Define Documentation

#define AGG_CONTEXT_AGGREGATE   1

Definition at line 648 of file fmgr.h.

#define AGG_CONTEXT_WINDOW   2

Definition at line 649 of file fmgr.h.

#define DatumGetBpCharP (   X  )     ((BpChar *) PG_DETOAST_DATUM(X))

Definition at line 247 of file fmgr.h.

#define DatumGetBpCharPCopy (   X  )     ((BpChar *) PG_DETOAST_DATUM_COPY(X))

Definition at line 255 of file fmgr.h.

#define DatumGetBpCharPP (   X  )     ((BpChar *) PG_DETOAST_DATUM_PACKED(X))

Definition at line 248 of file fmgr.h.

#define DatumGetBpCharPSlice (   X,
  m,
  n 
)    ((BpChar *) PG_DETOAST_DATUM_SLICE(X,m,n))

Definition at line 261 of file fmgr.h.

#define DatumGetByteaP (   X  )     ((bytea *) PG_DETOAST_DATUM(X))
#define DatumGetByteaPCopy (   X  )     ((bytea *) PG_DETOAST_DATUM_COPY(X))

Definition at line 253 of file fmgr.h.

#define DatumGetByteaPP (   X  )     ((bytea *) PG_DETOAST_DATUM_PACKED(X))

Definition at line 244 of file fmgr.h.

Referenced by byteaeq(), byteane(), and map_sql_value_to_xml_value().

#define DatumGetByteaPSlice (   X,
  m,
  n 
)    ((bytea *) PG_DETOAST_DATUM_SLICE(X,m,n))

Definition at line 259 of file fmgr.h.

Referenced by bytea_substring().

#define DatumGetHeapTupleHeader (   X  )     ((HeapTupleHeader) PG_DETOAST_DATUM(X))
#define DatumGetHeapTupleHeaderCopy (   X  )     ((HeapTupleHeader) PG_DETOAST_DATUM_COPY(X))

Definition at line 257 of file fmgr.h.

#define DatumGetTextP (   X  )     ((text *) PG_DETOAST_DATUM(X))
#define DatumGetTextPCopy (   X  )     ((text *) PG_DETOAST_DATUM_COPY(X))

Definition at line 254 of file fmgr.h.

#define DatumGetTextPP (   X  )     ((text *) PG_DETOAST_DATUM_PACKED(X))
#define DatumGetTextPSlice (   X,
  m,
  n 
)    ((text *) PG_DETOAST_DATUM_SLICE(X,m,n))

Definition at line 260 of file fmgr.h.

Referenced by text_substring().

#define DatumGetVarCharP (   X  )     ((VarChar *) PG_DETOAST_DATUM(X))

Definition at line 249 of file fmgr.h.

#define DatumGetVarCharPCopy (   X  )     ((VarChar *) PG_DETOAST_DATUM_COPY(X))

Definition at line 256 of file fmgr.h.

#define DatumGetVarCharPP (   X  )     ((VarChar *) PG_DETOAST_DATUM_PACKED(X))

Definition at line 250 of file fmgr.h.

#define DatumGetVarCharPSlice (   X,
  m,
  n 
)    ((VarChar *) PG_DETOAST_DATUM_SLICE(X,m,n))

Definition at line 262 of file fmgr.h.

#define DirectFunctionCall1 (   func,
  arg1 
)    DirectFunctionCall1Coll(func, InvalidOid, arg1)

Definition at line 543 of file fmgr.h.

Referenced by abs_interval(), assign_random_seed(), autoinc(), cash_numeric(), CatalogCacheComputeHashValue(), convert_function_name(), convert_numeric_to_scalar(), convert_timevalue_to_scalar(), convert_type_name(), CopyOneRowTo(), createdb(), CreateForeignDataWrapper(), CreateForeignServer(), CreateRole(), CreateTableSpace(), CreateTrigger(), current_schema(), current_schemas(), current_user(), defGetInt64(), do_numeric_accum(), do_numeric_avg_accum(), flatten_set_variable_args(), funny_dup17(), gbt_bpchar_compress(), gbt_bpchar_consistent(), gbt_numeric_penalty(), get_available_versions_for_extension(), getdatabaseencoding(), inet_client_port(), inet_server_port(), InsertExtensionTuple(), int2_accum(), int4_accum(), int4_to_char(), int64_to_numeric(), int8_accum(), int8_avg(), int8_avg_accum(), int8_sum(), int8_to_char(), interval_hash(), lo_manage(), ltree_addtext(), ltree_textadd(), make_greater_string(), make_tuple_from_result_row(), nameiclike(), nameicnlike(), network_scan_first(), network_scan_last(), NextCopyFrom(), numeric_cash(), numeric_float4(), numeric_float8(), numeric_plus_one_over_two(), numeric_shift_right(), numeric_to_char(), numeric_to_cstring(), numeric_to_double_no_overflow(), numrange_subdiff(), parsetinterval(), patternsel(), pg_available_extensions(), pg_client_encoding(), pg_convert_from(), pg_convert_to(), PG_encoding_to_char(), pg_stat_get_activity(), pg_stat_get_backend_client_addr(), pg_stat_get_backend_client_port(), pg_xlog_location_diff(), pgrowlocks(), plperl_sv_to_literal(), plperl_trigger_build_args(), plpgsql_exec_trigger(), pltcl_trigger_handler(), PLy_trigger_build_args(), PLyFloat_FromNumeric(), poly2path(), poly_center(), prefix_quals(), quote_ident_cstr(), quote_nullable(), regclassin(), regconfigin(), regdictionaryin(), regoperatorin(), regoperin(), regprocedurein(), regprocin(), regtypein(), RelationBuildTriggers(), RenameRole(), session_user(), set_timetravel(), show_timezone(), special_uuid_value(), string_to_datum(), table_to_xml_internal(), text2ltree(), timestamp_izone(), timestamp_mi(), timestamptz_izone(), timetz_hash(), timetz_izone(), tintervalleneq(), tintervallenge(), tintervallengt(), tintervallenle(), tintervallenlt(), tintervallenne(), tintervalout(), ts_match_tq(), ts_match_tt(), tsa_headline_byname(), tsa_set_curcfg(), ttdummy(), uuid_generate_internal(), and uuid_generate_v35_internal().

#define DirectFunctionCall2 (   func,
  arg1,
  arg2 
)    DirectFunctionCall2Coll(func, InvalidOid, arg1, arg2)

Definition at line 545 of file fmgr.h.

Referenced by _int_contained(), _int_different(), _lt_q_rregex(), _ltq_rregex(), _ltree_r_isparent(), _ltree_r_risparent(), _ltxtq_rexec(), abs_interval(), array_iterator(), bitshiftleft(), bitshiftright(), box_div(), box_mul(), build_regexp_split_result(), cash_numeric(), circle_div_pt(), circle_mul_pt(), close_lseg(), close_pb(), close_sb(), currtid_for_view(), date_dist(), date_mi_interval(), date_pl_interval(), daterange_canonical(), decompile_conbin(), dist_pb(), dist_sb(), do_numeric_accum(), do_numeric_avg_accum(), g_cube_picksplit(), gbt_bitcmp(), gbt_biteq(), gbt_bitge(), gbt_bitgt(), gbt_bitle(), gbt_bitlt(), gbt_byteacmp(), gbt_byteaeq(), gbt_byteage(), gbt_byteagt(), gbt_byteale(), gbt_bytealt(), gbt_date_penalty(), gbt_dateeq(), gbt_datege(), gbt_dategt(), gbt_datekey_cmp(), gbt_datele(), gbt_datelt(), gbt_intveq(), gbt_intvge(), gbt_intvgt(), gbt_intvkey_cmp(), gbt_intvle(), gbt_intvlt(), gbt_macadeq(), gbt_macadge(), gbt_macadgt(), gbt_macadkey_cmp(), gbt_macadle(), gbt_macadlt(), gbt_numeric_cmp(), gbt_numeric_eq(), gbt_numeric_ge(), gbt_numeric_gt(), gbt_numeric_le(), gbt_numeric_lt(), gbt_numeric_penalty(), gbt_time_dist(), gbt_time_penalty(), gbt_timeeq(), gbt_timege(), gbt_timegt(), gbt_timekey_cmp(), gbt_timele(), gbt_timelt(), gbt_ts_dist(), gbt_tseq(), gbt_tsge(), gbt_tsgt(), gbt_tskey_cmp(), gbt_tsle(), gbt_tslt(), gdb_date_dist(), generate_series_timestamp(), generate_series_timestamptz(), gin_extract_hstore_query(), gin_numeric_cmp(), gist_box_leaf_consistent(), gist_point_consistent(), hstore_contained(), hstore_eq(), hstore_ge(), hstore_gt(), hstore_le(), hstore_lt(), hstore_ne(), int4_cash(), int4range_canonical(), int8_avg(), int8_cash(), int8_sum(), int8_to_char(), int8range_canonical(), inter_sb(), interpt_pp(), interval_accum(), interval_avg(), interval_dist(), intinterval(), line_distance(), line_interpt_internal(), line_intersect(), lt_q_regex(), lt_q_rregex(), ltq_rregex(), ltree_consistent(), ltxtq_rexec(), mul_d_interval(), network_scan_last(), numeric_avg(), numeric_cash(), numeric_is_less(), numeric_plus_one_over_two(), numeric_shift_right(), numeric_to_char(), numrange_subdiff(), on_sb(), on_sl(), path_distance(), path_div_pt(), path_mul_pt(), pg_xlog_location_diff(), plainto_tsquery(), poly_contain(), poly_contained(), rboolop(), regress_dist_ptpath(), regress_path_dist(), rtree_internal_consistent(), similarity_dist(), similarity_op(), spg_quad_inner_consistent(), text_isequal(), time_dist(), timestamp_mi_interval(), timestamptz_mi_interval(), tintervalct(), tintervalov(), tintervalsame(), to_tsquery(), to_tsvector(), ts_dist(), ts_match_qv(), ts_match_tq(), ts_match_tt(), tsa_lexize_bycurrent(), tsa_lexize_byname(), tsa_plainto_tsquery_name(), tsa_to_tsquery_name(), tsa_to_tsvector_name(), tsq_mcontained(), and tstz_dist().

#define DirectFunctionCall3 (   func,
  arg1,
  arg2,
  arg3 
)    DirectFunctionCall3Coll(func, InvalidOid, arg1, arg2, arg3)
#define DirectFunctionCall4 (   func,
  arg1,
  arg2,
  arg3,
  arg4 
)    DirectFunctionCall4Coll(func, InvalidOid, arg1, arg2, arg3, arg4)

Definition at line 549 of file fmgr.h.

Referenced by neqsel(), ts_headline_opt(), and tsa_headline_byname().

#define DirectFunctionCall5 (   func,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    DirectFunctionCall5Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5)

Definition at line 551 of file fmgr.h.

Referenced by gist_point_consistent(), and neqjoinsel().

#define DirectFunctionCall6 (   func,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)    DirectFunctionCall6Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)

Definition at line 553 of file fmgr.h.

#define DirectFunctionCall7 (   func,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7 
)    DirectFunctionCall7Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Definition at line 555 of file fmgr.h.

#define DirectFunctionCall8 (   func,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8 
)    DirectFunctionCall8Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

Definition at line 557 of file fmgr.h.

#define DirectFunctionCall9 (   func,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8,
  arg9 
)    DirectFunctionCall9Coll(func, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

Definition at line 559 of file fmgr.h.

#define fmgr_info_set_expr (   expr,
  finfo 
)    ((finfo)->fn_expr = (expr))
#define FmgrHookIsNeeded (   fn_oid  )     (!needs_fmgr_hook ? false : (*needs_fmgr_hook)(fn_oid))

Definition at line 678 of file fmgr.h.

Referenced by fmgr_info_cxt_security(), inline_function(), and inline_set_returning_function().

#define FunctionCall1 (   flinfo,
  arg1 
)    FunctionCall1Coll(flinfo, InvalidOid, arg1)
#define FunctionCall2 (   flinfo,
  arg1,
  arg2 
)    FunctionCall2Coll(flinfo, InvalidOid, arg1, arg2)
#define FunctionCall3 (   flinfo,
  arg1,
  arg2,
  arg3 
)    FunctionCall3Coll(flinfo, InvalidOid, arg1, arg2, arg3)
#define FunctionCall4 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4 
)    FunctionCall4Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4)
#define FunctionCall5 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    FunctionCall5Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5)

Definition at line 569 of file fmgr.h.

Referenced by index_rescan(), and perform_default_encoding_conversion().

#define FunctionCall6 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)    FunctionCall6Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)

Definition at line 571 of file fmgr.h.

Referenced by index_insert().

#define FunctionCall7 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7 
)    FunctionCall7Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Definition at line 573 of file fmgr.h.

#define FunctionCall8 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8 
)    FunctionCall8Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

Definition at line 575 of file fmgr.h.

#define FunctionCall9 (   flinfo,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8,
  arg9 
)    FunctionCall9Coll(flinfo, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

Definition at line 577 of file fmgr.h.

#define FunctionCallInvoke (   fcinfo  )     ((* (fcinfo)->flinfo->fn_addr) (fcinfo))
#define InitFunctionCallInfoData (   Fcinfo,
  Flinfo,
  Nargs,
  Collation,
  Context,
  Resultinfo 
)
Value:
do { \
        (Fcinfo).flinfo = (Flinfo); \
        (Fcinfo).context = (Context); \
        (Fcinfo).resultinfo = (Resultinfo); \
        (Fcinfo).fncollation = (Collation); \
        (Fcinfo).isnull = false; \
        (Fcinfo).nargs = (Nargs); \
    } while (0)

Definition at line 109 of file fmgr.h.

Referenced by advance_transition_function(), advance_windowaggregate(), array_cmp(), array_contain_compare(), array_eq(), array_replace_internal(), DirectFunctionCall1Coll(), DirectFunctionCall2Coll(), DirectFunctionCall3Coll(), DirectFunctionCall4Coll(), DirectFunctionCall5Coll(), DirectFunctionCall6Coll(), DirectFunctionCall7Coll(), DirectFunctionCall8Coll(), DirectFunctionCall9Coll(), eval_windowfunction(), EventTriggerInvoke(), ExecCallTriggerFunc(), ExecEvalArrayCoerceExpr(), ExecEvalMinMax(), ExecEvalRowCompare(), ExecMakeTableFunctionResult(), finalize_aggregate(), finalize_windowaggregate(), FunctionCall1Coll(), FunctionCall2Coll(), FunctionCall3Coll(), FunctionCall4Coll(), FunctionCall5Coll(), FunctionCall6Coll(), FunctionCall7Coll(), FunctionCall8Coll(), FunctionCall9Coll(), HandleFunctionRequest(), hash_array(), index_reloptions(), init_fcache(), InputFunctionCall(), int2vectorrecv(), myFunctionCall2Coll(), OidFunctionCall0Coll(), OidFunctionCall1Coll(), OidFunctionCall2Coll(), OidFunctionCall3Coll(), OidFunctionCall4Coll(), OidFunctionCall5Coll(), OidFunctionCall6Coll(), OidFunctionCall7Coll(), OidFunctionCall8Coll(), OidFunctionCall9Coll(), oidvectorrecv(), PrepareSortSupportComparisonShim(), ReceiveFunctionCall(), record_cmp(), and record_eq().

#define OidFunctionCall0 (   functionId  )     OidFunctionCall0Coll(functionId, InvalidOid)

Definition at line 579 of file fmgr.h.

Referenced by GetFdwRoutine().

#define OidFunctionCall1 (   functionId,
  arg1 
)    OidFunctionCall1Coll(functionId, InvalidOid, arg1)
#define OidFunctionCall2 (   functionId,
  arg1,
  arg2 
)    OidFunctionCall2Coll(functionId, InvalidOid, arg1, arg2)

Definition at line 583 of file fmgr.h.

Referenced by flatten_reloptions(), and transformGenericOptions().

#define OidFunctionCall3 (   functionId,
  arg1,
  arg2,
  arg3 
)    OidFunctionCall3Coll(functionId, InvalidOid, arg1, arg2, arg3)

Definition at line 585 of file fmgr.h.

Referenced by index_build().

#define OidFunctionCall4 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4 
)    OidFunctionCall4Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4)

Definition at line 587 of file fmgr.h.

#define OidFunctionCall5 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)    OidFunctionCall5Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5)

Definition at line 589 of file fmgr.h.

Referenced by CreateConversionCommand(), and pg_do_encoding_conversion().

#define OidFunctionCall6 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)    OidFunctionCall6Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6)

Definition at line 591 of file fmgr.h.

#define OidFunctionCall7 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7 
)    OidFunctionCall7Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7)

Definition at line 593 of file fmgr.h.

Referenced by cost_index().

#define OidFunctionCall8 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8 
)    OidFunctionCall8Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)

Definition at line 595 of file fmgr.h.

#define OidFunctionCall9 (   functionId,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7,
  arg8,
  arg9 
)    OidFunctionCall9Coll(functionId, InvalidOid, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)

Definition at line 597 of file fmgr.h.

#define PG_ARGISNULL (   n  )     (fcinfo->argnull[n])
#define PG_DETOAST_DATUM (   datum  )     pg_detoast_datum((struct varlena *) DatumGetPointer(datum))
#define PG_DETOAST_DATUM_COPY (   datum  )     pg_detoast_datum_copy((struct varlena *) DatumGetPointer(datum))

Definition at line 195 of file fmgr.h.

Referenced by accumArrayResult(), evaluate_expr(), and hstoreUpgrade().

#define PG_DETOAST_DATUM_PACKED (   datum  )     pg_detoast_datum_packed((struct varlena *) DatumGetPointer(datum))

Definition at line 201 of file fmgr.h.

Referenced by range_serialize().

#define PG_DETOAST_DATUM_SLICE (   datum,
  f,
  c 
)
Value:
pg_detoast_datum_slice((struct varlena *) DatumGetPointer(datum), \
        (int32) (f), (int32) (c))

Definition at line 197 of file fmgr.h.

#define PG_FREE_IF_COPY (   ptr,
  n 
)
Value:
do { \
        if ((Pointer) (ptr) != PG_GETARG_POINTER(n)) \
            pfree(ptr); \
    } while (0)

Definition at line 213 of file fmgr.h.

Referenced by _lca(), _lt_q_regex(), _ltq_extract_regex(), _ltq_regex(), _ltree_consistent(), _ltree_extract_isparent(), _ltree_extract_risparent(), _ltree_isparent(), _ltree_risparent(), _ltxtq_exec(), _ltxtq_extract_exec(), array_cmp(), array_eq(), arraycontained(), arraycontains(), arrayoverlap(), bitcmp(), biteq(), bitge(), bitgt(), bitle(), bitlt(), bitne(), boolop(), bpchar_pattern_ge(), bpchar_pattern_gt(), bpchar_pattern_le(), bpchar_pattern_lt(), bpcharcmp(), bpchareq(), bpcharge(), bpchargt(), bpcharle(), bpcharlt(), bpcharne(), bqarr_out(), btbpchar_pattern_cmp(), bttext_pattern_cmp(), bttextcmp(), byteacmp(), byteaeq(), byteage(), byteagt(), byteale(), bytealt(), byteane(), citext_cmp(), citext_eq(), citext_ge(), citext_gt(), citext_hash(), citext_le(), citext_lt(), citext_ne(), cube_c_f8(), cube_c_f8_f8(), cube_cmp(), cube_contained(), cube_contains(), cube_dim(), cube_distance(), cube_enlarge(), cube_eq(), cube_ge(), cube_gt(), cube_inter(), cube_is_point(), cube_le(), cube_ll_coord(), cube_lt(), cube_ne(), cube_out(), cube_overlap(), cube_size(), cube_subset(), cube_union(), cube_ur_coord(), g_cube_consistent(), g_intbig_consistent(), gin_cmp_prefix(), gin_cmp_tslexeme(), gin_extract_tsquery(), gin_extract_tsvector(), gist_poly_consistent(), gtsvectorout(), hash_array(), hashbpchar(), hashtext(), hashvarlena(), hstore_cmp(), hstore_hash(), icount(), idx(), intarray_push_array(), intarray_push_elem(), intset_union_elem(), lca(), lquery_out(), lt_q_regex(), ltq_regex(), ltree2text(), ltree_addltree(), ltree_addtext(), ltree_consistent(), ltree_index(), ltree_isparent(), ltree_out(), ltree_risparent(), ltree_textadd(), ltxtq_exec(), ltxtq_out(), nlevel(), numeric_cmp(), numeric_eq(), numeric_ge(), numeric_gt(), numeric_le(), numeric_lt(), numeric_ne(), pg_armor(), pg_convert(), pg_crypt(), pg_dearmor(), pg_decrypt(), pg_decrypt_iv(), pg_digest(), pg_encrypt(), pg_encrypt_iv(), pg_gen_salt(), pg_gen_salt_rounds(), pg_hmac(), pgp_key_id_w(), pgp_pub_decrypt_bytea(), pgp_pub_decrypt_text(), pgp_pub_encrypt_bytea(), pgp_pub_encrypt_text(), pgp_sym_decrypt_bytea(), pgp_sym_decrypt_text(), pgp_sym_encrypt_bytea(), pgp_sym_encrypt_text(), poly_above(), poly_below(), poly_contain(), poly_left(), poly_overabove(), poly_overbelow(), poly_overlap(), poly_overleft(), poly_overright(), poly_right(), poly_same(), record_cmp(), record_eq(), show_trgm(), similarity(), subarray(), subltree(), subpath(), text2ltree(), text_ge(), text_gt(), text_le(), text_lt(), text_pattern_ge(), text_pattern_gt(), text_pattern_le(), text_pattern_lt(), texteq(), textne(), to_tsvector_byid(), ts_headline_byid_opt(), ts_match_tq(), ts_match_vq(), ts_parse_byid(), ts_rank_tt(), ts_rank_ttf(), ts_rank_wtt(), ts_rank_wttf(), ts_rankcd_tt(), ts_rankcd_ttf(), ts_rankcd_wtt(), ts_rankcd_wttf(), ts_stat1(), ts_stat2(), tsq_mcontains(), tsquery_and(), tsquery_cmp(), tsquery_not(), tsquery_numnode(), tsquery_or(), tsquery_rewrite(), tsquery_rewrite_query(), tsqueryout(), tsquerysend(), tsquerytree(), tsvector_concat(), tsvector_length(), tsvector_setweight(), tsvector_strip(), tsvectorout(), and unaccent_dict().

#define PG_FUNCTION_ARGS   FunctionCallInfo fcinfo

Definition at line 147 of file fmgr.h.

#define PG_FUNCTION_INFO_V1 (   funcname  ) 
Value:
extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void); \
const Pg_finfo_record * \
CppConcat(pg_finfo_,funcname) (void) \
{ \
    static const Pg_finfo_record my_finfo = { 1 }; \
    return &my_finfo; \
} \
extern int no_such_variable

Definition at line 346 of file fmgr.h.

#define PG_GET_COLLATION (  )     (fcinfo->fncollation)
#define PG_GETARG_BOOL (   n  )     DatumGetBool(PG_GETARG_DATUM(n))
#define PG_GETARG_BPCHAR_P (   n  )     DatumGetBpCharP(PG_GETARG_DATUM(n))

Definition at line 268 of file fmgr.h.

#define PG_GETARG_BPCHAR_P_COPY (   n  )     DatumGetBpCharPCopy(PG_GETARG_DATUM(n))

Definition at line 276 of file fmgr.h.

#define PG_GETARG_BPCHAR_P_SLICE (   n,
  a,
  b 
)    DatumGetBpCharPSlice(PG_GETARG_DATUM(n),a,b)

Definition at line 282 of file fmgr.h.

#define PG_GETARG_BPCHAR_PP (   n  )     DatumGetBpCharPP(PG_GETARG_DATUM(n))
#define PG_GETARG_BYTEA_P (   n  )     DatumGetByteaP(PG_GETARG_DATUM(n))
#define PG_GETARG_BYTEA_P_COPY (   n  )     DatumGetByteaPCopy(PG_GETARG_DATUM(n))

Definition at line 274 of file fmgr.h.

Referenced by byteasend().

#define PG_GETARG_BYTEA_P_SLICE (   n,
  a,
  b 
)    DatumGetByteaPSlice(PG_GETARG_DATUM(n),a,b)

Definition at line 280 of file fmgr.h.

#define PG_GETARG_BYTEA_PP (   n  )     DatumGetByteaPP(PG_GETARG_DATUM(n))
#define PG_GETARG_CHAR (   n  )     DatumGetChar(PG_GETARG_DATUM(n))
#define PG_GETARG_CSTRING (   n  )     DatumGetCString(PG_GETARG_DATUM(n))

Definition at line 230 of file fmgr.h.

Referenced by abstimein(), aclitemin(), array_in(), ascii_to_mic(), ascii_to_utf8(), big5_to_euc_tw(), big5_to_mic(), big5_to_utf8(), bit_in(), boolin(), box_in(), bpcharin(), byteain(), cash_in(), charin(), chkpass_in(), cidin(), cidr_in(), circle_in(), complex_in(), cstring_in(), cstring_out(), cstring_send(), cube_in(), date_in(), domain_in(), ean13_in(), enum_in(), euc_cn_to_mic(), euc_cn_to_utf8(), euc_jis_2004_to_shift_jis_2004(), euc_jis_2004_to_utf8(), euc_jp_to_mic(), euc_jp_to_sjis(), euc_jp_to_utf8(), euc_kr_to_mic(), euc_kr_to_utf8(), euc_tw_to_big5(), euc_tw_to_mic(), euc_tw_to_utf8(), float4in(), float8in(), gb18030_to_utf8(), gbk_to_utf8(), hstore_in(), inet_in(), int2in(), int2vectorin(), int44in(), int4in(), int8in(), interval_in(), isbn_in(), ismn_in(), iso8859_1_to_utf8(), iso8859_to_utf8(), iso_to_koi8r(), iso_to_mic(), iso_to_win1251(), iso_to_win866(), issn_in(), johab_to_utf8(), json_in(), koi8r_to_iso(), koi8r_to_mic(), koi8r_to_utf8(), koi8r_to_win1251(), koi8r_to_win866(), koi8u_to_utf8(), latin1_to_mic(), latin2_to_mic(), latin2_to_win1250(), latin3_to_mic(), latin4_to_mic(), line_in(), lseg_in(), macaddr_in(), mic_to_ascii(), mic_to_big5(), mic_to_euc_cn(), mic_to_euc_jp(), mic_to_euc_kr(), mic_to_euc_tw(), mic_to_iso(), mic_to_koi8r(), mic_to_latin1(), mic_to_latin2(), mic_to_latin3(), mic_to_latin4(), mic_to_sjis(), mic_to_win1250(), mic_to_win1251(), mic_to_win866(), namein(), numeric_in(), oidin(), oidvectorin(), path_in(), point_in(), poly_in(), range_in(), record_in(), regclassin(), regconfigin(), regdictionaryin(), regoperatorin(), regoperin(), regprocedurein(), regprocin(), regtypein(), reltimein(), seg_in(), shift_jis_2004_to_euc_jis_2004(), shift_jis_2004_to_utf8(), sjis_to_euc_jp(), sjis_to_mic(), sjis_to_utf8(), smgrin(), textin(), tidin(), time_in(), timestamp_in(), timestamptz_in(), timetz_in(), tintervalin(), tsqueryin(), tsvectorin(), txid_snapshot_in(), uhc_to_utf8(), unknownin(), unknownout(), unknownsend(), upc_in(), utf8_to_ascii(), utf8_to_big5(), utf8_to_euc_cn(), utf8_to_euc_jis_2004(), utf8_to_euc_jp(), utf8_to_euc_kr(), utf8_to_euc_tw(), utf8_to_gb18030(), utf8_to_gbk(), utf8_to_iso8859(), utf8_to_iso8859_1(), utf8_to_johab(), utf8_to_koi8r(), utf8_to_koi8u(), utf8_to_shift_jis_2004(), utf8_to_sjis(), utf8_to_uhc(), utf8_to_win(), uuid_in(), varbit_in(), varcharin(), win1250_to_latin2(), win1250_to_mic(), win1251_to_iso(), win1251_to_koi8r(), win1251_to_mic(), win1251_to_win866(), win866_to_iso(), win866_to_koi8r(), win866_to_mic(), win866_to_win1251(), win_to_utf8(), xidin(), and xml_in().

#define PG_GETARG_DATUM (   n  )     (fcinfo->arg[n])

Definition at line 221 of file fmgr.h.

Referenced by _int_contained(), _lt_q_rregex(), _ltq_rregex(), _ltree_consistent(), _ltree_r_isparent(), _ltree_r_risparent(), _ltxtq_rexec(), array_agg_transfn(), array_fill(), array_fill_with_lower_bounds(), array_push(), array_remove(), array_replace(), array_to_json(), array_to_json_pretty(), binary_decode(), binary_encode(), bpcharoctetlen(), bpcharout(), btoptions(), bytea_substr(), bytea_substr_no_len(), byteaeq(), byteane(), byteaoctetlen(), concat_internal(), create_empty_extension(), date_dist(), dblink_fdw_validator(), elem_contained_by_range(), file_fdw_validator(), g_cube_compress(), g_intbig_decompress(), gbt_bit_consistent(), gbt_bit_same(), gbt_bpchar_consistent(), gbt_bytea_consistent(), gbt_bytea_same(), gbt_inet_consistent(), gbt_numeric_consistent(), gbt_numeric_same(), gbt_text_consistent(), gbt_text_same(), gin_extract_hstore_query(), ginoptions(), gistoptions(), gtsquery_decompress(), hashoptions(), hstore_contained(), hstore_eq(), hstore_ge(), hstore_gt(), hstore_le(), hstore_lt(), hstore_ne(), hstore_version_diag(), int2_accum(), int4_accum(), int8_accum(), int8_avg_accum(), int8_sum(), interval_dist(), json_agg_transfn(), json_out(), lt_q_rregex(), ltq_rregex(), ltree_consistent(), ltxtq_rexec(), metaphone(), mul_d_interval(), numeric_cash(), numrange_subdiff(), overlaps_time(), overlaps_timestamp(), overlaps_timetz(), pg_column_size(), pg_convert_from(), pg_convert_to(), pg_options_to_table(), plpgsql_inline_handler(), plpython_inline_handler(), poly_contained(), postgres_fdw_validator(), postgresql_fdw_validator(), quote_nullable(), range_constructor2(), range_constructor3(), range_contains_elem(), range_gist_consistent(), rboolop(), row_to_json(), row_to_json_pretty(), sepgsql_restorecon(), sepgsql_setcon(), set_config_by_name(), show_config_by_name(), similarity_dist(), similarity_op(), spgoptions(), text_format(), text_substr(), text_substr_no_len(), texteq(), textlen(), textne(), textoctetlen(), textout(), thesaurus_lexize(), time_dist(), to_json(), ts_dist(), ts_headline(), ts_headline_byid(), ts_headline_opt(), ts_match_qv(), ts_match_tq(), ts_match_tt(), ts_rank_wtt(), ts_rank_wttf(), ts_rankcd_wtt(), ts_rankcd_wttf(), tsa_headline_byname(), tsa_lexize_bycurrent(), tsa_lexize_byname(), tsa_plainto_tsquery_name(), tsa_to_tsquery_name(), tsa_to_tsvector_name(), tsq_mcontained(), tstz_dist(), and varcharout().

#define PG_GETARG_FLOAT4 (   n  )     DatumGetFloat4(PG_GETARG_DATUM(n))
#define PG_GETARG_FLOAT8 (   n  )     DatumGetFloat8(PG_GETARG_DATUM(n))
#define PG_GETARG_HEAPTUPLEHEADER (   n  )     DatumGetHeapTupleHeader(PG_GETARG_DATUM(n))
#define PG_GETARG_HEAPTUPLEHEADER_COPY (   n  )     DatumGetHeapTupleHeaderCopy(PG_GETARG_DATUM(n))

Definition at line 278 of file fmgr.h.

#define PG_GETARG_INT16 (   n  )     DatumGetInt16(PG_GETARG_DATUM(n))
#define PG_GETARG_INT32 (   n  )     DatumGetInt32(PG_GETARG_DATUM(n))

Definition at line 222 of file fmgr.h.

Referenced by add_one(), array_in(), array_length(), array_lower(), array_recv(), array_upper(), arraycontsel(), ascii_to_mic(), ascii_to_utf8(), big5_to_euc_tw(), big5_to_mic(), big5_to_utf8(), bit(), bit_in(), bit_recv(), bitfromint4(), bitfromint8(), bitgetbit(), bitoverlay(), bitoverlay_no_len(), bitsetbit(), bitshiftleft(), bitshiftright(), bitsubstr(), bitsubstr_no_len(), bittypmodout(), bpchar(), bpcharin(), bpcharrecv(), bpchartypmodout(), btbeginscan(), btgettuple(), btinsert(), btint24cmp(), btint42cmp(), btint48cmp(), btint4cmp(), btint84cmp(), bytea_substr(), bytea_substr_no_len(), byteaGetBit(), byteaGetByte(), byteaoverlay(), byteaoverlay_no_len(), byteaSetBit(), byteaSetByte(), c_overpaid(), cash_div_int4(), cash_mul_int4(), cidr_set_masklen(), circle_poly(), connectby_text(), connectby_text_serial(), cube_enlarge(), cursor_to_xml(), date_mii(), date_pli(), daterange_subdiff(), dblink_build_sql_delete(), dblink_build_sql_insert(), dblink_build_sql_update(), dblink_fetch(), dintdict_lexize(), dispell_lexize(), dsimple_lexize(), dsnowball_lexize(), dsynonym_lexize(), dxsyn_lexize(), eqsel(), euc_cn_to_mic(), euc_cn_to_utf8(), euc_jis_2004_to_shift_jis_2004(), euc_jis_2004_to_utf8(), euc_jp_to_mic(), euc_jp_to_sjis(), euc_jp_to_utf8(), euc_kr_to_mic(), euc_kr_to_utf8(), euc_tw_to_big5(), euc_tw_to_mic(), euc_tw_to_utf8(), format_type(), gb18030_to_utf8(), gbk_to_utf8(), gbt_int4_consistent(), gbt_int4_distance(), generate_series_step_int4(), generate_subscripts(), gin_consistent_hstore(), gin_trgm_consistent(), ginarrayconsistent(), ginbeginscan(), gininsert(), ginint4_consistent(), gistbeginscan(), gistgettuple(), gistinsert(), hashbeginscan(), hashgettuple(), hashinsert(), hashint4(), i4tochar(), i4tod(), i4tof(), i4toi2(), idx(), inet_set_masklen(), int24div(), int24eq(), int24ge(), int24gt(), int24le(), int24lt(), int24mi(), int24mul(), int24ne(), int24pl(), int2shl(), int2shr(), int42div(), int42eq(), int42ge(), int42gt(), int42le(), int42lt(), int42mi(), int42mul(), int42ne(), int42pl(), int48(), int48div(), int48eq(), int48ge(), int48gt(), int48le(), int48lt(), int48mi(), int48mul(), int48ne(), int48pl(), int4_avg_accum(), int4_bool(), int4_cash(), int4_dist(), int4_mul_cash(), int4_numeric(), int4_sum(), int4_to_char(), int4abs(), int4and(), int4div(), int4eq(), int4ge(), int4gt(), int4inc(), int4larger(), int4le(), int4lt(), int4mi(), int4mod(), int4mul(), int4ne(), int4not(), int4or(), int4out(), int4pl(), int4range_subdiff(), int4send(), int4shl(), int4shr(), int4smaller(), int4um(), int4up(), int4xor(), int84div(), int84eq(), int84ge(), int84gt(), int84le(), int84lt(), int84mi(), int84mul(), int84ne(), int84pl(), int8shl(), int8shr(), intarray_del_elem(), intarray_push_elem(), interval_in(), interval_recv(), interval_scale(), intervaltypmodout(), intset(), intset_union_elem(), iso8859_1_to_utf8(), iso8859_to_utf8(), iso_to_koi8r(), iso_to_mic(), iso_to_win1251(), iso_to_win866(), johab_to_utf8(), json_array_element(), json_array_element_text(), koi8r_to_iso(), koi8r_to_mic(), koi8r_to_utf8(), koi8r_to_win1251(), koi8r_to_win866(), koi8u_to_utf8(), latin1_to_mic(), latin2_to_mic(), latin2_to_win1250(), latin3_to_mic(), latin4_to_mic(), levenshtein_less_equal(), levenshtein_less_equal_with_costs(), levenshtein_with_costs(), lo_close(), lo_lseek(), lo_lseek64(), lo_open(), lo_tell(), lo_tell64(), lo_truncate(), lo_truncate64(), loread(), lowrite(), lpad(), ltree_index(), ltreeparentsel(), metaphone(), mic_to_ascii(), mic_to_big5(), mic_to_euc_cn(), mic_to_euc_jp(), mic_to_euc_kr(), mic_to_euc_tw(), mic_to_iso(), mic_to_koi8r(), mic_to_latin1(), mic_to_latin2(), mic_to_latin3(), mic_to_latin4(), mic_to_sjis(), mic_to_win1250(), mic_to_win1251(), mic_to_win866(), neqsel(), numeric(), numeric_in(), numeric_recv(), numeric_round(), numeric_trunc(), numerictypmodout(), patternsel(), pg_advisory_lock_int4(), pg_advisory_lock_shared_int4(), pg_advisory_unlock_int4(), pg_advisory_unlock_shared_int4(), pg_advisory_xact_lock_int4(), pg_advisory_xact_lock_shared_int4(), pg_cancel_backend(), pg_describe_object(), pg_encoding_max_length_sql(), PG_encoding_to_char(), pg_gen_salt_rounds(), pg_get_indexdef_ext(), pg_get_viewdef_wrap(), pg_identify_object(), pg_random_bytes(), pg_stat_get_activity(), pg_stat_get_backend_activity(), pg_stat_get_backend_activity_start(), pg_stat_get_backend_client_addr(), pg_stat_get_backend_client_port(), pg_stat_get_backend_dbid(), pg_stat_get_backend_pid(), pg_stat_get_backend_start(), pg_stat_get_backend_userid(), pg_stat_get_backend_waiting(), pg_stat_get_backend_xact_start(), pg_terminate_backend(), pg_try_advisory_lock_int4(), pg_try_advisory_lock_shared_int4(), pg_try_advisory_xact_lock_int4(), pg_try_advisory_xact_lock_shared_int4(), prsd_start(), range_in(), range_recv(), rangesel(), record_in(), record_recv(), repeat(), rpad(), scalargtsel(), scalarltsel(), set_timetravel(), set_ttdummy(), shift_jis_2004_to_euc_jis_2004(), shift_jis_2004_to_utf8(), sjis_to_euc_jp(), sjis_to_mic(), sjis_to_utf8(), spgbeginscan(), spggettuple(), spginsert(), split_text(), subarray(), subltree(), subpath(), testprs_start(), text_left(), text_right(), text_substr(), text_substr_no_len(), textoverlay(), textoverlay_no_len(), time_in(), time_recv(), time_scale(), timestamp_in(), timestamp_recv(), timestamp_scale(), timestamptypmodout(), timestamptz_in(), timestamptz_recv(), timestamptz_scale(), timestamptztypmodout(), timetypmodout(), timetz_in(), timetz_recv(), timetz_scale(), timetztypmodout(), to_ascii_enc(), to_hex32(), ts_rank_ttf(), ts_rank_wttf(), ts_rankcd_ttf(), ts_rankcd_wttf(), tsmatchsel(), uhc_to_utf8(), unaccent_lexize(), utf8_to_ascii(), utf8_to_big5(), utf8_to_euc_cn(), utf8_to_euc_jis_2004(), utf8_to_euc_jp(), utf8_to_euc_kr(), utf8_to_euc_tw(), utf8_to_gb18030(), utf8_to_gbk(), utf8_to_iso8859(), utf8_to_iso8859_1(), utf8_to_johab(), utf8_to_koi8r(), utf8_to_koi8u(), utf8_to_shift_jis_2004(), utf8_to_sjis(), utf8_to_uhc(), utf8_to_win(), varbit(), varbit_in(), varbit_recv(), varbittypmodout(), varchar(), varcharin(), varcharrecv(), varchartypmodout(), width_bucket_float8(), width_bucket_numeric(), win1250_to_latin2(), win1250_to_mic(), win1251_to_iso(), win1251_to_koi8r(), win1251_to_mic(), win1251_to_win866(), win866_to_iso(), win866_to_koi8r(), win866_to_mic(), win866_to_win1251(), and win_to_utf8().

#define PG_GETARG_INT64 (   n  )     DatumGetInt64(PG_GETARG_DATUM(n))

Definition at line 235 of file fmgr.h.

Referenced by bitfromint8(), btint28cmp(), btint48cmp(), btint82cmp(), btint84cmp(), btint8cmp(), cash_div_int8(), cash_mul_int8(), gbt_int8_consistent(), gbt_int8_distance(), generate_series_step_int8(), hashint8(), i8tod(), i8tof(), i8tooid(), inetmi_int8(), inetpl(), int28div(), int28eq(), int28ge(), int28gt(), int28le(), int28lt(), int28mi(), int28mul(), int28ne(), int28pl(), int2_sum(), int48div(), int48eq(), int48ge(), int48gt(), int48le(), int48lt(), int48mi(), int48mul(), int48ne(), int48pl(), int4_sum(), int82(), int82div(), int82eq(), int82ge(), int82gt(), int82le(), int82lt(), int82mi(), int82mul(), int82ne(), int82pl(), int84(), int84div(), int84eq(), int84ge(), int84gt(), int84le(), int84lt(), int84mi(), int84mul(), int84ne(), int84pl(), int8_cash(), int8_dist(), int8_mul_cash(), int8_numeric(), int8_to_char(), int8abs(), int8and(), int8div(), int8eq(), int8ge(), int8gt(), int8inc(), int8larger(), int8le(), int8lt(), int8mi(), int8mod(), int8mul(), int8ne(), int8not(), int8or(), int8out(), int8pl(), int8range_subdiff(), int8send(), int8shl(), int8shr(), int8smaller(), int8um(), int8up(), int8xor(), lo_lseek64(), lo_truncate64(), numeric_fac(), pg_advisory_lock_int8(), pg_advisory_lock_shared_int8(), pg_advisory_unlock_int8(), pg_advisory_unlock_shared_int8(), pg_advisory_xact_lock_int8(), pg_advisory_xact_lock_shared_int8(), pg_freespace(), pg_read_binary_file(), pg_read_file(), pg_size_pretty(), pg_try_advisory_lock_int8(), pg_try_advisory_lock_shared_int8(), pg_try_advisory_xact_lock_int8(), pg_try_advisory_xact_lock_shared_int8(), setval3_oid(), setval_oid(), to_hex64(), and txid_visible_in_snapshot().

#define PG_GETARG_NAME (   n  )     DatumGetName(PG_GETARG_DATUM(n))

Definition at line 231 of file fmgr.h.

Referenced by btnamecmp(), get_timetravel(), has_any_column_privilege_name_id(), has_any_column_privilege_name_name(), has_column_privilege_name_id_attnum(), has_column_privilege_name_id_name(), has_column_privilege_name_name_attnum(), has_column_privilege_name_name_name(), has_database_privilege_name_id(), has_database_privilege_name_name(), has_foreign_data_wrapper_privilege_name_id(), has_foreign_data_wrapper_privilege_name_name(), has_function_privilege_name_id(), has_function_privilege_name_name(), has_language_privilege_name_id(), has_language_privilege_name_name(), has_schema_privilege_name_id(), has_schema_privilege_name_name(), has_sequence_privilege_name_id(), has_sequence_privilege_name_name(), has_server_privilege_name_id(), has_server_privilege_name_name(), has_table_privilege_name_id(), has_table_privilege_name_name(), has_tablespace_privilege_name_id(), has_tablespace_privilege_name_name(), has_type_privilege_name_id(), has_type_privilege_name_name(), hashname(), length_in_encoding(), name_bpchar(), name_text(), nameeq(), namege(), namegt(), nameiclike(), nameicnlike(), nameicregexeq(), nameicregexne(), namele(), namelike(), namelt(), namene(), namenlike(), nameout(), nameregexeq(), nameregexne(), namesend(), PG_char_to_encoding(), pg_convert(), pg_database_size_name(), pg_extension_update_paths(), pg_has_role_id_name(), pg_has_role_name(), pg_has_role_name_id(), pg_has_role_name_name(), pg_tablespace_size_name(), schema_to_xml(), schema_to_xml_and_xmlschema(), schema_to_xmlschema(), set_timetravel(), and to_ascii_encname().

#define PG_GETARG_OID (   n  )     DatumGetObjectId(PG_GETARG_DATUM(n))

Definition at line 228 of file fmgr.h.

Referenced by acldefault_sql(), array_in(), array_recv(), bit_in(), bit_recv(), bpcharin(), bpcharrecv(), btoidcmp(), currtid_byreloid(), currval_oid(), dblink_fdw_validator(), domain_in(), domain_recv(), enum_cmp(), enum_eq(), enum_ge(), enum_gt(), enum_in(), enum_larger(), enum_le(), enum_lt(), enum_ne(), enum_out(), enum_range_bounds(), enum_recv(), enum_send(), enum_smaller(), file_fdw_validator(), fmgr_c_validator(), fmgr_internal_validator(), fmgr_sql_validator(), format_type(), gbt_oid_consistent(), gbt_oid_distance(), has_any_column_privilege_id(), has_any_column_privilege_id_id(), has_any_column_privilege_id_name(), has_any_column_privilege_name_id(), has_column_privilege_id_attnum(), has_column_privilege_id_id_attnum(), has_column_privilege_id_id_name(), has_column_privilege_id_name(), has_column_privilege_id_name_attnum(), has_column_privilege_id_name_name(), has_column_privilege_name_id_attnum(), has_column_privilege_name_id_name(), has_database_privilege_id(), has_database_privilege_id_id(), has_database_privilege_id_name(), has_database_privilege_name_id(), has_foreign_data_wrapper_privilege_id(), has_foreign_data_wrapper_privilege_id_id(), has_foreign_data_wrapper_privilege_id_name(), has_foreign_data_wrapper_privilege_name_id(), has_function_privilege_id(), has_function_privilege_id_id(), has_function_privilege_id_name(), has_function_privilege_name_id(), has_language_privilege_id(), has_language_privilege_id_id(), has_language_privilege_id_name(), has_language_privilege_name_id(), has_schema_privilege_id(), has_schema_privilege_id_id(), has_schema_privilege_id_name(), has_schema_privilege_name_id(), has_sequence_privilege_id(), has_sequence_privilege_id_id(), has_sequence_privilege_id_name(), has_sequence_privilege_name_id(), has_server_privilege_id(), has_server_privilege_id_id(), has_server_privilege_id_name(), has_server_privilege_name_id(), has_table_privilege_id(), has_table_privilege_id_id(), has_table_privilege_id_name(), has_table_privilege_name_id(), has_tablespace_privilege_id(), has_tablespace_privilege_id_id(), has_tablespace_privilege_id_name(), has_tablespace_privilege_name_id(), has_type_privilege_id(), has_type_privilege_id_id(), has_type_privilege_id_name(), has_type_privilege_name_id(), hashenum(), hashoid(), interval_in(), interval_recv(), lo_create(), lo_export(), lo_import_with_oid(), lo_open(), lo_unlink(), makeaclitem(), nextval_oid(), numeric_in(), numeric_recv(), oid_dist(), oideq(), oidge(), oidgt(), oidlarger(), oidle(), oidlt(), oidne(), oidout(), oidsend(), oidsmaller(), oidtoi8(), pg_collation_is_visible(), pg_conversion_is_visible(), pg_database_size_oid(), pg_describe_object(), pg_extension_config_dump(), pg_freespace(), pg_function_is_visible(), pg_get_constraintdef(), pg_get_constraintdef_ext(), pg_get_expr(), pg_get_expr_ext(), pg_get_function_arguments(), pg_get_function_identity_arguments(), pg_get_function_result(), pg_get_functiondef(), pg_get_indexdef(), pg_get_indexdef_ext(), pg_get_ruledef(), pg_get_ruledef_ext(), pg_get_triggerdef(), pg_get_triggerdef_ext(), pg_get_userbyid(), pg_get_viewdef(), pg_get_viewdef_ext(), pg_get_viewdef_wrap(), pg_has_role_id(), pg_has_role_id_id(), pg_has_role_id_name(), pg_has_role_name_id(), pg_identify_object(), pg_indexes_size(), pg_is_other_temp_schema(), pg_opclass_is_visible(), pg_operator_is_visible(), pg_opfamily_is_visible(), pg_relation_filenode(), pg_relation_filepath(), pg_relation_is_scannable(), pg_relation_size(), pg_sequence_parameters(), pg_stat_get_analyze_count(), pg_stat_get_autoanalyze_count(), pg_stat_get_autovacuum_count(), pg_stat_get_blocks_fetched(), pg_stat_get_blocks_hit(), pg_stat_get_db_blk_read_time(), pg_stat_get_db_blk_write_time(), pg_stat_get_db_blocks_fetched(), pg_stat_get_db_blocks_hit(), pg_stat_get_db_conflict_all(), pg_stat_get_db_conflict_bufferpin(), pg_stat_get_db_conflict_lock(), pg_stat_get_db_conflict_snapshot(), pg_stat_get_db_conflict_startup_deadlock(), pg_stat_get_db_conflict_tablespace(), pg_stat_get_db_deadlocks(), pg_stat_get_db_numbackends(), pg_stat_get_db_stat_reset_time(), pg_stat_get_db_temp_bytes(), pg_stat_get_db_temp_files(), pg_stat_get_db_tuples_deleted(), pg_stat_get_db_tuples_fetched(), pg_stat_get_db_tuples_inserted(), pg_stat_get_db_tuples_returned(), pg_stat_get_db_tuples_updated(), pg_stat_get_db_xact_commit(), pg_stat_get_db_xact_rollback(), pg_stat_get_dead_tuples(), pg_stat_get_function_calls(), pg_stat_get_function_self_time(), pg_stat_get_function_total_time(), pg_stat_get_last_analyze_time(), pg_stat_get_last_autoanalyze_time(), pg_stat_get_last_autovacuum_time(), pg_stat_get_last_vacuum_time(), pg_stat_get_live_tuples(), pg_stat_get_numscans(), pg_stat_get_tuples_deleted(), pg_stat_get_tuples_fetched(), pg_stat_get_tuples_hot_updated(), pg_stat_get_tuples_inserted(), pg_stat_get_tuples_returned(), pg_stat_get_tuples_updated(), pg_stat_get_vacuum_count(), pg_stat_get_xact_blocks_fetched(), pg_stat_get_xact_blocks_hit(), pg_stat_get_xact_function_calls(), pg_stat_get_xact_function_self_time(), pg_stat_get_xact_function_total_time(), pg_stat_get_xact_numscans(), pg_stat_get_xact_tuples_deleted(), pg_stat_get_xact_tuples_fetched(), pg_stat_get_xact_tuples_hot_updated(), pg_stat_get_xact_tuples_inserted(), pg_stat_get_xact_tuples_returned(), pg_stat_get_xact_tuples_updated(), pg_stat_reset_single_function_counters(), pg_stat_reset_single_table_counters(), pg_table_is_visible(), pg_table_size(), pg_tablespace_databases(), pg_tablespace_location(), pg_tablespace_size_oid(), pg_total_relation_size(), pg_ts_config_is_visible(), pg_ts_dict_is_visible(), pg_ts_parser_is_visible(), pg_ts_template_is_visible(), pg_type_is_visible(), pg_view_is_insertable(), pg_view_is_updatable(), pgstatginindex(), pgstattuplebyid(), plainto_tsquery_byid(), plperl_validator(), plpgsql_validator(), plpython_validator(), postgres_fdw_validator(), postgresql_fdw_validator(), range_in(), range_recv(), record_in(), record_recv(), regclassout(), regconfigout(), regdictionaryout(), regoperatorout(), regoperout(), regprocedureout(), regprocout(), regtypeout(), set_next_array_pg_type_oid(), set_next_heap_pg_class_oid(), set_next_index_pg_class_oid(), set_next_pg_authid_oid(), set_next_pg_enum_oid(), set_next_pg_type_oid(), set_next_toast_pg_class_oid(), set_next_toast_pg_type_oid(), setval3_oid(), setval_oid(), table_to_xml(), table_to_xml_and_xmlschema(), table_to_xmlschema(), time_in(), time_recv(), timestamp_in(), timestamp_recv(), timestamptz_in(), timestamptz_recv(), timetz_in(), timetz_recv(), to_tsquery_byid(), to_tsvector_byid(), ts_headline_byid_opt(), ts_lexize(), ts_parse_byid(), ts_token_type_byid(), tsa_set_curcfg(), tsa_set_curdict(), tsa_set_curprs(), unaccent_dict(), varbit_in(), varbit_recv(), varcharin(), and varcharrecv().

#define PG_GETARG_POINTER (   n  )     DatumGetPointer(PG_GETARG_DATUM(n))

Definition at line 229 of file fmgr.h.

Referenced by _int_different(), _ltree_compress(), _ltree_consistent(), _ltree_penalty(), _ltree_picksplit(), _ltree_same(), _ltree_union(), abstimerecv(), array_agg_finalfn(), array_agg_transfn(), array_recv(), array_typanalyze(), arraycontsel(), bit_recv(), boolrecv(), box_recv(), bpcharrecv(), bqarr_in(), btbeginscan(), btbuild(), btbuildempty(), btbulkdelete(), btcostestimate(), btendscan(), btfloat4sortsupport(), btfloat8sortsupport(), btgetbitmap(), btgettuple(), btinsert(), btint2sortsupport(), btint4sortsupport(), btint8sortsupport(), btmarkpos(), btnamesortsupport(), btoidsortsupport(), btoidvectorcmp(), btrescan(), btrestrpos(), btvacuumcleanup(), bytea_string_agg_finalfn(), bytea_string_agg_transfn(), bytearecv(), cash_recv(), charrecv(), chkpass_eq(), chkpass_ne(), chkpass_out(), chkpass_rout(), cidr_recv(), cidrecv(), circle_recv(), complex_abs_cmp(), complex_abs_eq(), complex_abs_ge(), complex_abs_gt(), complex_abs_le(), complex_abs_lt(), complex_add(), complex_out(), complex_recv(), complex_send(), cstring_recv(), date_recv(), date_sortsupport(), dblink_build_sql_delete(), dblink_build_sql_insert(), dblink_build_sql_update(), dintdict_init(), dintdict_lexize(), dispell_init(), dispell_lexize(), domain_recv(), dsimple_init(), dsimple_lexize(), dsnowball_init(), dsnowball_lexize(), dsynonym_init(), dsynonym_lexize(), dxsyn_init(), dxsyn_lexize(), enum_recv(), eqjoinsel(), eqsel(), float4recv(), float8recv(), g_cube_consistent(), g_cube_decompress(), g_cube_penalty(), g_cube_picksplit(), g_cube_same(), g_cube_union(), g_int_compress(), g_int_consistent(), g_int_decompress(), g_int_penalty(), g_int_picksplit(), g_int_same(), g_int_union(), g_intbig_compress(), g_intbig_consistent(), g_intbig_penalty(), g_intbig_picksplit(), g_intbig_same(), g_intbig_union(), gbt_bit_compress(), gbt_bit_consistent(), gbt_bit_penalty(), gbt_bit_picksplit(), gbt_bit_same(), gbt_bit_union(), gbt_bpchar_compress(), gbt_bpchar_consistent(), gbt_bytea_compress(), gbt_bytea_consistent(), gbt_bytea_penalty(), gbt_bytea_picksplit(), gbt_bytea_same(), gbt_bytea_union(), gbt_cash_compress(), gbt_cash_consistent(), gbt_cash_distance(), gbt_cash_penalty(), gbt_cash_picksplit(), gbt_cash_same(), gbt_cash_union(), gbt_date_compress(), gbt_date_consistent(), gbt_date_distance(), gbt_date_penalty(), gbt_date_picksplit(), gbt_date_same(), gbt_date_union(), gbt_decompress(), gbt_float4_compress(), gbt_float4_consistent(), gbt_float4_distance(), gbt_float4_penalty(), gbt_float4_picksplit(), gbt_float4_same(), gbt_float4_union(), gbt_float8_compress(), gbt_float8_consistent(), gbt_float8_distance(), gbt_float8_penalty(), gbt_float8_picksplit(), gbt_float8_same(), gbt_float8_union(), gbt_inet_compress(), gbt_inet_consistent(), gbt_inet_penalty(), gbt_inet_picksplit(), gbt_inet_same(), gbt_inet_union(), gbt_int2_compress(), gbt_int2_consistent(), gbt_int2_distance(), gbt_int2_penalty(), gbt_int2_picksplit(), gbt_int2_same(), gbt_int2_union(), gbt_int4_compress(), gbt_int4_consistent(), gbt_int4_distance(), gbt_int4_penalty(), gbt_int4_picksplit(), gbt_int4_same(), gbt_int4_union(), gbt_int8_compress(), gbt_int8_consistent(), gbt_int8_distance(), gbt_int8_penalty(), gbt_int8_picksplit(), gbt_int8_same(), gbt_int8_union(), gbt_intv_compress(), gbt_intv_consistent(), gbt_intv_decompress(), gbt_intv_distance(), gbt_intv_penalty(), gbt_intv_picksplit(), gbt_intv_same(), gbt_intv_union(), gbt_macad_compress(), gbt_macad_consistent(), gbt_macad_penalty(), gbt_macad_picksplit(), gbt_macad_same(), gbt_macad_union(), gbt_numeric_compress(), gbt_numeric_consistent(), gbt_numeric_penalty(), gbt_numeric_picksplit(), gbt_numeric_same(), gbt_numeric_union(), gbt_oid_compress(), gbt_oid_consistent(), gbt_oid_distance(), gbt_oid_penalty(), gbt_oid_picksplit(), gbt_oid_same(), gbt_oid_union(), gbt_text_compress(), gbt_text_consistent(), gbt_text_penalty(), gbt_text_picksplit(), gbt_text_same(), gbt_text_union(), gbt_time_compress(), gbt_time_consistent(), gbt_time_distance(), gbt_time_penalty(), gbt_time_picksplit(), gbt_time_same(), gbt_time_union(), gbt_timetz_compress(), gbt_timetz_consistent(), gbt_ts_compress(), gbt_ts_consistent(), gbt_ts_distance(), gbt_ts_penalty(), gbt_ts_picksplit(), gbt_ts_same(), gbt_ts_union(), gbt_tstz_compress(), gbt_tstz_consistent(), gbt_tstz_distance(), gbt_var_decompress(), ghstore_compress(), ghstore_consistent(), ghstore_decompress(), ghstore_penalty(), ghstore_picksplit(), ghstore_same(), ghstore_union(), gin_btree_consistent(), gin_cmp_prefix(), gin_consistent_hstore(), gin_extract_hstore(), gin_extract_hstore_query(), gin_extract_query_trgm(), gin_extract_tsquery(), gin_extract_tsvector(), gin_extract_value_trgm(), gin_numeric_cmp(), gin_trgm_consistent(), gin_tsquery_consistent(), ginarrayconsistent(), ginarrayextract(), ginbeginscan(), ginbuild(), ginbuildempty(), ginbulkdelete(), gincostestimate(), ginendscan(), gingetbitmap(), gininsert(), ginint4_consistent(), ginint4_queryextract(), ginqueryarrayextract(), ginrescan(), ginvacuumcleanup(), gist_box_compress(), gist_box_consistent(), gist_box_decompress(), gist_box_penalty(), gist_box_picksplit(), gist_box_same(), gist_box_union(), gist_circle_compress(), gist_circle_consistent(), gist_point_compress(), gist_point_consistent(), gist_point_distance(), gist_poly_compress(), gist_poly_consistent(), gistbeginscan(), gistbuild(), gistbuildempty(), gistbulkdelete(), gistcostestimate(), gistendscan(), gistgetbitmap(), gistgettuple(), gistinsert(), gistrescan(), gistvacuumcleanup(), gtrgm_compress(), gtrgm_consistent(), gtrgm_decompress(), gtrgm_distance(), gtrgm_penalty(), gtrgm_picksplit(), gtrgm_same(), gtrgm_union(), gtsquery_compress(), gtsquery_consistent(), gtsquery_penalty(), gtsquery_picksplit(), gtsquery_same(), gtsquery_union(), gtsvector_compress(), gtsvector_consistent(), gtsvector_decompress(), gtsvector_penalty(), gtsvector_picksplit(), gtsvector_same(), gtsvector_union(), gtsvectorout(), hashbeginscan(), hashbuild(), hashbuildempty(), hashbulkdelete(), hashcostestimate(), hashendscan(), hashgetbitmap(), hashgettuple(), hashinsert(), hashint2vector(), hashoidvector(), hashrescan(), hashvacuumcleanup(), hstore_recv(), inet_recv(), int2_sum(), int2recv(), int2vectoreq(), int2vectorout(), int2vectorrecv(), int44out(), int4_sum(), int4recv(), int8inc(), int8recv(), interval_recv(), interval_transform(), json_agg_finalfn(), json_agg_transfn(), json_recv(), lquery_in(), lseg_recv(), ltree_compress(), ltree_consistent(), ltree_decompress(), ltree_in(), ltree_penalty(), ltree_picksplit(), ltree_same(), ltree_union(), ltreeparentsel(), ltxtq_in(), macaddr_recv(), namerecv(), neqjoinsel(), neqsel(), numeric_recv(), numeric_transform(), oidrecv(), oidvectorout(), oidvectorrecv(), oidvectortypes(), path_recv(), patternsel(), plperl_inline_handler(), point_recv(), poly_recv(), prsd_end(), prsd_headline(), prsd_nexttoken(), prsd_start(), pt_in_widget(), range_gist_compress(), range_gist_consistent(), range_gist_decompress(), range_gist_penalty(), range_gist_picksplit(), range_gist_same(), range_gist_union(), range_recv(), range_typanalyze(), rangesel(), record_recv(), reltimerecv(), scalargtsel(), scalarltsel(), seg_center(), seg_lower(), seg_out(), seg_size(), seg_upper(), spg_kd_choose(), spg_kd_config(), spg_kd_inner_consistent(), spg_kd_picksplit(), spg_quad_choose(), spg_quad_config(), spg_quad_inner_consistent(), spg_quad_leaf_consistent(), spg_quad_picksplit(), spg_range_quad_choose(), spg_range_quad_config(), spg_range_quad_inner_consistent(), spg_range_quad_leaf_consistent(), spg_range_quad_picksplit(), spg_text_choose(), spg_text_config(), spg_text_inner_consistent(), spg_text_leaf_consistent(), spg_text_picksplit(), spgbeginscan(), spgbuild(), spgbuildempty(), spgbulkdelete(), spgcanreturn(), spgcostestimate(), spgendscan(), spggetbitmap(), spggettuple(), spginsert(), spgrescan(), spgvacuumcleanup(), string_agg_finalfn(), string_agg_transfn(), testprs_end(), testprs_getlexeme(), testprs_start(), textrecv(), thesaurus_init(), thesaurus_lexize(), tidrecv(), time_recv(), time_transform(), timestamp_recv(), timestamp_sortsupport(), timestamp_transform(), timestamptz_recv(), timetz_recv(), tintervalrecv(), ts_headline_byid_opt(), ts_typanalyze(), tsa_rewrite_accum(), tsmatchsel(), tsqueryrecv(), tsvectorrecv(), txid_snapshot_recv(), unaccent_init(), unaccent_lexize(), unknownrecv(), uuid_recv(), varbit_recv(), varbit_transform(), varchar_transform(), varcharrecv(), xidrecv(), and xml_recv().

#define PG_GETARG_RAW_VARLENA_P (   n  )     ((struct varlena *) PG_GETARG_POINTER(n))

Definition at line 237 of file fmgr.h.

#define PG_GETARG_TEXT_P (   n  )     DatumGetTextP(PG_GETARG_DATUM(n))

Definition at line 266 of file fmgr.h.

Referenced by binary_decode(), bt_metap(), bt_page_items(), bt_page_stats(), concat_text(), copytext(), currtid_byrelname(), dblink_build_sql_delete(), dblink_build_sql_insert(), dblink_build_sql_update(), dblink_get_pkey(), difference(), dmetaphone(), dmetaphone_alt(), each_worker(), float4_to_char(), float8_to_char(), get_path_all(), get_raw_page(), get_raw_page_fork(), gin_extract_query_trgm(), gin_extract_value_trgm(), gtrgm_consistent(), gtrgm_distance(), has_any_column_privilege_id(), has_any_column_privilege_id_id(), has_any_column_privilege_id_name(), has_any_column_privilege_name(), has_any_column_privilege_name_id(), has_any_column_privilege_name_name(), has_column_privilege_id_attnum(), has_column_privilege_id_id_attnum(), has_column_privilege_id_id_name(), has_column_privilege_id_name(), has_column_privilege_id_name_attnum(), has_column_privilege_id_name_name(), has_column_privilege_name_attnum(), has_column_privilege_name_id_attnum(), has_column_privilege_name_id_name(), has_column_privilege_name_name(), has_column_privilege_name_name_attnum(), has_column_privilege_name_name_name(), has_database_privilege_id(), has_database_privilege_id_id(), has_database_privilege_id_name(), has_database_privilege_name(), has_database_privilege_name_id(), has_database_privilege_name_name(), has_foreign_data_wrapper_privilege_id(), has_foreign_data_wrapper_privilege_id_id(), has_foreign_data_wrapper_privilege_id_name(), has_foreign_data_wrapper_privilege_name(), has_foreign_data_wrapper_privilege_name_id(), has_foreign_data_wrapper_privilege_name_name(), has_function_privilege_id(), has_function_privilege_id_id(), has_function_privilege_id_name(), has_function_privilege_name(), has_function_privilege_name_id(), has_function_privilege_name_name(), has_language_privilege_id(), has_language_privilege_id_id(), has_language_privilege_id_name(), has_language_privilege_name(), has_language_privilege_name_id(), has_language_privilege_name_name(), has_schema_privilege_id(), has_schema_privilege_id_id(), has_schema_privilege_id_name(), has_schema_privilege_name(), has_schema_privilege_name_id(), has_schema_privilege_name_name(), has_sequence_privilege_id(), has_sequence_privilege_id_id(), has_sequence_privilege_id_name(), has_sequence_privilege_name(), has_sequence_privilege_name_id(), has_sequence_privilege_name_name(), has_server_privilege_id(), has_server_privilege_id_id(), has_server_privilege_id_name(), has_server_privilege_name(), has_server_privilege_name_id(), has_server_privilege_name_name(), has_table_privilege_id(), has_table_privilege_id_id(), has_table_privilege_id_name(), has_table_privilege_name(), has_table_privilege_name_id(), has_table_privilege_name_name(), has_tablespace_privilege_id(), has_tablespace_privilege_id_id(), has_tablespace_privilege_id_name(), has_tablespace_privilege_name(), has_tablespace_privilege_name_id(), has_tablespace_privilege_name_name(), has_type_privilege_id(), has_type_privilege_id_id(), has_type_privilege_id_name(), has_type_privilege_name(), has_type_privilege_name_id(), has_type_privilege_name_name(), int4_to_char(), int8_to_char(), interval_to_char(), json_array_element(), json_array_element_text(), json_array_elements(), json_array_length(), json_object_field(), json_object_field_text(), json_object_keys(), json_populate_record(), json_populate_recordset(), makeaclitem(), nextval(), numeric_to_char(), numeric_to_number(), pg_create_restore_point(), pg_dearmor(), pg_decrypt(), pg_decrypt_iv(), pg_digest(), pg_encrypt(), pg_encrypt_iv(), pg_extension_config_dump(), pg_file_rename(), pg_file_unlink(), pg_file_write(), pg_get_expr(), pg_get_expr_ext(), pg_get_serial_sequence(), pg_get_viewdef_name(), pg_get_viewdef_name_ext(), pg_has_role_id(), pg_has_role_id_id(), pg_has_role_id_name(), pg_has_role_name(), pg_has_role_name_id(), pg_has_role_name_name(), pg_hmac(), pg_ls_dir(), pg_read_binary_file(), pg_read_binary_file_all(), pg_read_file(), pg_read_file_all(), pg_relation_size(), pg_relpages(), pg_start_backup(), pg_stat_file(), pg_xlog_location_diff(), pg_xlogfile_name(), pg_xlogfile_name_offset(), pgrowlocks(), pgstatindex(), pgstattuple(), plainto_tsquery(), plainto_tsquery_byid(), quote_literal(), range_constructor3(), sepgsql_mcstrans_in(), sepgsql_mcstrans_out(), show_trgm(), similarity(), sort(), soundex(), ssl_client_dn_field(), ssl_issuer_field(), text_char(), text_regclass(), texttoxml(), timestamp_to_char(), timestamptz_to_char(), to_date(), to_timestamp(), to_tsquery(), to_tsquery_byid(), to_tsvector(), to_tsvector_byid(), ts_headline_byid_opt(), ts_lexize(), ts_parse_byid(), ts_parse_byname(), ts_stat1(), ts_stat2(), ts_token_type_byname(), tsquery_rewrite_query(), unaccent_dict(), uuid_generate_v3(), uuid_generate_v5(), xml_encode_special_chars(), xml_is_well_formed(), xml_is_well_formed_content(), xml_is_well_formed_document(), xmlcomment(), xmlexists(), xpath(), xpath_bool(), xpath_exists(), xpath_list(), xpath_nodeset(), xpath_number(), xpath_string(), and xslt_process().

#define PG_GETARG_TEXT_P_COPY (   n  )     DatumGetTextPCopy(PG_GETARG_DATUM(n))
#define PG_GETARG_TEXT_P_SLICE (   n,
  a,
  b 
)    DatumGetTextPSlice(PG_GETARG_DATUM(n),a,b)

Definition at line 281 of file fmgr.h.

#define PG_GETARG_TEXT_PP (   n  )     DatumGetTextPP(PG_GETARG_DATUM(n))

Definition at line 267 of file fmgr.h.

Referenced by array_to_text(), array_to_text_null(), ascii(), btrim(), btrim1(), bttext_pattern_cmp(), bttextcmp(), chkpass_eq(), chkpass_ne(), citext_cmp(), citext_eq(), citext_ge(), citext_gt(), citext_hash(), citext_larger(), citext_le(), citext_lt(), citext_ne(), citext_smaller(), connectby_text(), connectby_text_serial(), create_empty_extension(), crosstab(), crosstab_hash(), cursor_to_xml(), cursor_to_xmlschema(), database_to_xml(), database_to_xml_and_xmlschema(), database_to_xmlschema(), dblink_close(), dblink_connect(), dblink_disconnect(), dblink_exec(), dblink_fetch(), dblink_open(), dblink_record_internal(), dblink_send_query(), ghstore_consistent(), gin_cmp_prefix(), gin_cmp_tslexeme(), gin_extract_hstore_query(), hashtext(), hstore_defined(), hstore_delete(), hstore_exists(), hstore_fetchval(), hstore_from_text(), initcap(), interval_part(), interval_trunc(), json_send(), levenshtein(), levenshtein_less_equal(), levenshtein_less_equal_with_costs(), levenshtein_with_costs(), like_escape(), lo_export(), lo_import(), lo_import_with_oid(), lower(), lpad(), ltree_addtext(), ltree_textadd(), ltrim(), ltrim1(), md5_text(), nameiclike(), nameicnlike(), nameicregexeq(), nameicregexne(), namelike(), namenlike(), nameregexeq(), nameregexne(), pg_crypt(), pg_gen_salt(), pg_gen_salt_rounds(), pg_get_serial_sequence(), pg_notify(), pg_stat_reset_shared(), query_to_xml(), query_to_xml_and_xmlschema(), query_to_xmlschema(), quote_ident(), regexp_matches(), regexp_split_to_array(), regexp_split_to_table(), repeat(), replace_text(), rpad(), rtrim(), rtrim1(), schema_to_xml(), schema_to_xml_and_xmlschema(), schema_to_xmlschema(), similar_escape(), split_text(), string_agg_transfn(), table_to_xml(), table_to_xml_and_xmlschema(), table_to_xmlschema(), text2ltree(), text_concat_ws(), text_format(), text_ge(), text_gt(), text_larger(), text_le(), text_left(), text_lt(), text_name(), text_pattern_ge(), text_pattern_gt(), text_pattern_le(), text_pattern_lt(), text_reverse(), text_right(), text_smaller(), text_to_array_internal(), textcat(), texticlike(), texticnlike(), texticregexeq(), texticregexne(), textlike(), textnlike(), textoverlay(), textoverlay_no_len(), textpos(), textregexeq(), textregexne(), textregexreplace(), textregexreplace_noopt(), textregexsubstr(), textsend(), time_part(), timestamp_part(), timestamp_trunc(), timestamp_zone(), timestamptz_part(), timestamptz_trunc(), timestamptz_zone(), timetz_part(), timetz_zone(), translate(), tsa_lexize_byname(), tsa_plainto_tsquery_name(), tsa_set_curcfg_byname(), tsa_set_curdict_byname(), tsa_set_curprs_byname(), tsa_to_tsquery_name(), tsa_to_tsvector_name(), upper(), and xpath_table().

#define PG_GETARG_UINT16 (   n  )     DatumGetUInt16(PG_GETARG_DATUM(n))
#define PG_GETARG_UINT32 (   n  )     DatumGetUInt32(PG_GETARG_DATUM(n))
#define PG_GETARG_VARCHAR_P (   n  )     DatumGetVarCharP(PG_GETARG_DATUM(n))

Definition at line 270 of file fmgr.h.

#define PG_GETARG_VARCHAR_P_COPY (   n  )     DatumGetVarCharPCopy(PG_GETARG_DATUM(n))

Definition at line 277 of file fmgr.h.

#define PG_GETARG_VARCHAR_P_SLICE (   n,
  a,
  b 
)    DatumGetVarCharPSlice(PG_GETARG_DATUM(n),a,b)

Definition at line 283 of file fmgr.h.

#define PG_GETARG_VARCHAR_PP (   n  )     DatumGetVarCharPP(PG_GETARG_DATUM(n))

Definition at line 271 of file fmgr.h.

Referenced by varchar().

#define PG_GETARG_VARLENA_P (   n  )     PG_DETOAST_DATUM(PG_GETARG_DATUM(n))
#define PG_GETARG_VARLENA_PP (   n  )     PG_DETOAST_DATUM_PACKED(PG_GETARG_DATUM(n))

Definition at line 241 of file fmgr.h.

Referenced by hashvarlena().

#define PG_MAGIC_FUNCTION_NAME   Pg_magic_func

Definition at line 412 of file fmgr.h.

#define PG_MAGIC_FUNCTION_NAME_STRING   "Pg_magic_func"

Definition at line 413 of file fmgr.h.

Referenced by internal_load_library().

#define PG_MODULE_MAGIC
Value:
extern PGDLLEXPORT const Pg_magic_struct *PG_MAGIC_FUNCTION_NAME(void); \
const Pg_magic_struct * \
PG_MAGIC_FUNCTION_NAME(void) \
{ \
    static const Pg_magic_struct Pg_magic_data = PG_MODULE_MAGIC_DATA; \
    return &Pg_magic_data; \
} \
extern int no_such_variable

Definition at line 415 of file fmgr.h.

#define PG_MODULE_MAGIC_DATA
Value:
{ \
    sizeof(Pg_magic_struct), \
    PG_VERSION_NUM / 100, \
    FUNC_MAX_ARGS, \
    INDEX_MAX_KEYS, \
    NAMEDATALEN, \
    FLOAT4PASSBYVAL, \
    FLOAT8PASSBYVAL \
}

Definition at line 395 of file fmgr.h.

#define PG_NARGS (  )     (fcinfo->nargs)
#define PG_RETURN_BOOL (   x  )     return BoolGetDatum(x)

Definition at line 299 of file fmgr.h.

Referenced by _int_contains(), _int_different(), _int_overlap(), _int_same(), _lt_q_regex(), _ltq_regex(), _ltree_consistent(), _ltree_isparent(), _ltree_risparent(), _ltxtq_exec(), abstime_finite(), abstimeeq(), abstimege(), abstimegt(), abstimele(), abstimelt(), abstimene(), accept_weak_input(), aclcontains(), aclitem_eq(), array_eq(), array_ge(), array_gt(), array_le(), array_lt(), array_ne(), array_typanalyze(), arraycontained(), arraycontains(), arrayoverlap(), biteq(), bitge(), bitgt(), bitle(), bitlt(), bitne(), booland_statefunc(), booleq(), boolge(), boolgt(), boolin(), boolle(), boollt(), boolne(), boolop(), boolor_statefunc(), boolrecv(), box_above(), box_above_eq(), box_below(), box_below_eq(), box_contain(), box_contain_pt(), box_contained(), box_eq(), box_ge(), box_gt(), box_le(), box_left(), box_lt(), box_overabove(), box_overbelow(), box_overlap(), box_overleft(), box_overright(), box_right(), box_same(), bpchar_pattern_ge(), bpchar_pattern_gt(), bpchar_pattern_le(), bpchar_pattern_lt(), bpchareq(), bpcharge(), bpchargt(), bpcharle(), bpcharlt(), bpcharne(), btcanreturn(), btgettuple(), btinsert(), byteaeq(), byteage(), byteagt(), byteale(), bytealike(), bytealt(), byteane(), byteanlike(), c_overpaid(), cash_eq(), cash_ge(), cash_gt(), cash_le(), cash_lt(), cash_ne(), chareq(), charge(), chargt(), charle(), charlt(), charne(), chkpass_eq(), chkpass_ne(), cideq(), circle_above(), circle_below(), circle_contain(), circle_contain_pt(), circle_contained(), circle_eq(), circle_ge(), circle_gt(), circle_le(), circle_left(), circle_lt(), circle_ne(), circle_overabove(), circle_overbelow(), circle_overlap(), circle_overleft(), circle_overright(), circle_right(), circle_same(), citext_eq(), citext_ge(), citext_gt(), citext_le(), citext_lt(), citext_ne(), complex_abs_eq(), complex_abs_ge(), complex_abs_gt(), complex_abs_le(), complex_abs_lt(), cube_contained(), cube_contains(), cube_eq(), cube_ge(), cube_gt(), cube_is_point(), cube_le(), cube_lt(), cube_ne(), cube_overlap(), date_eq(), date_eq_timestamp(), date_eq_timestamptz(), date_finite(), date_ge(), date_ge_timestamp(), date_ge_timestamptz(), date_gt(), date_gt_timestamp(), date_gt_timestamptz(), date_le(), date_le_timestamp(), date_le_timestamptz(), date_lt(), date_lt_timestamp(), date_lt_timestamptz(), date_ne(), date_ne_timestamp(), date_ne_timestamptz(), elem_contained_by_range(), enum_eq(), enum_ge(), enum_gt(), enum_le(), enum_lt(), enum_ne(), float48eq(), float48ge(), float48gt(), float48le(), float48lt(), float48ne(), float4eq(), float4ge(), float4gt(), float4le(), float4lt(), float4ne(), float84eq(), float84ge(), float84gt(), float84le(), float84lt(), float84ne(), float8eq(), float8ge(), float8gt(), float8le(), float8lt(), float8ne(), g_cube_consistent(), g_int_consistent(), g_intbig_consistent(), gbt_bit_consistent(), gbt_bpchar_consistent(), gbt_bytea_consistent(), gbt_cash_consistent(), gbt_date_consistent(), gbt_float4_consistent(), gbt_float8_consistent(), gbt_inet_consistent(), gbt_int2_consistent(), gbt_int4_consistent(), gbt_int8_consistent(), gbt_intv_consistent(), gbt_macad_consistent(), gbt_numeric_consistent(), gbt_oid_consistent(), gbt_text_consistent(), gbt_time_consistent(), gbt_timetz_consistent(), gbt_ts_consistent(), gbt_tstz_consistent(), ghstore_consistent(), gin_btree_consistent(), gin_consistent_hstore(), gin_trgm_consistent(), gin_tsquery_consistent(), ginarrayconsistent(), gininsert(), ginint4_consistent(), gist_box_consistent(), gist_circle_consistent(), gist_point_consistent(), gist_poly_consistent(), gistgettuple(), gistinsert(), gtrgm_consistent(), gtsquery_consistent(), gtsvector_consistent(), has_any_column_privilege_id(), has_any_column_privilege_id_id(), has_any_column_privilege_id_name(), has_any_column_privilege_name(), has_any_column_privilege_name_id(), has_any_column_privilege_name_name(), has_column_privilege_id_attnum(), has_column_privilege_id_id_attnum(), has_column_privilege_id_id_name(), has_column_privilege_id_name(), has_column_privilege_id_name_attnum(), has_column_privilege_id_name_name(), has_column_privilege_name_attnum(), has_column_privilege_name_id_attnum(), has_column_privilege_name_id_name(), has_column_privilege_name_name(), has_column_privilege_name_name_attnum(), has_column_privilege_name_name_name(), has_database_privilege_id(), has_database_privilege_id_id(), has_database_privilege_id_name(), has_database_privilege_name(), has_database_privilege_name_id(), has_database_privilege_name_name(), has_foreign_data_wrapper_privilege_id(), has_foreign_data_wrapper_privilege_id_id(), has_foreign_data_wrapper_privilege_id_name(), has_foreign_data_wrapper_privilege_name(), has_foreign_data_wrapper_privilege_name_id(), has_foreign_data_wrapper_privilege_name_name(), has_function_privilege_id(), has_function_privilege_id_id(), has_function_privilege_id_name(), has_function_privilege_name(), has_function_privilege_name_id(), has_function_privilege_name_name(), has_language_privilege_id(), has_language_privilege_id_id(), has_language_privilege_id_name(), has_language_privilege_name(), has_language_privilege_name_id(), has_language_privilege_name_name(), has_schema_privilege_id(), has_schema_privilege_id_id(), has_schema_privilege_id_name(), has_schema_privilege_name(), has_schema_privilege_name_id(), has_schema_privilege_name_name(), has_sequence_privilege_id(), has_sequence_privilege_id_id(), has_sequence_privilege_id_name(), has_sequence_privilege_name(), has_sequence_privilege_name_id(), has_sequence_privilege_name_name(), has_server_privilege_id(), has_server_privilege_id_id(), has_server_privilege_id_name(), has_server_privilege_name(), has_server_privilege_name_id(), has_server_privilege_name_name(), has_table_privilege_id(), has_table_privilege_id_id(), has_table_privilege_id_name(), has_table_privilege_name(), has_table_privilege_name_id(), has_table_privilege_name_name(), has_tablespace_privilege_id(), has_tablespace_privilege_id_id(), has_tablespace_privilege_id_name(), has_tablespace_privilege_name(), has_tablespace_privilege_name_id(), has_tablespace_privilege_name_name(), has_type_privilege_id(), has_type_privilege_id_id(), has_type_privilege_id_name(), has_type_privilege_name(), has_type_privilege_name_id(), has_type_privilege_name_name(), hashgettuple(), hashinsert(), hstore_contains(), hstore_defined(), hstore_eq(), hstore_exists(), hstore_exists_all(), hstore_exists_any(), hstore_ge(), hstore_gt(), hstore_le(), hstore_lt(), hstore_ne(), int24eq(), int24ge(), int24gt(), int24le(), int24lt(), int24ne(), int28eq(), int28ge(), int28gt(), int28le(), int28lt(), int28ne(), int2eq(), int2ge(), int2gt(), int2le(), int2lt(), int2ne(), int2vectoreq(), int42eq(), int42ge(), int42gt(), int42le(), int42lt(), int42ne(), int48eq(), int48ge(), int48gt(), int48le(), int48lt(), int48ne(), int4_bool(), int4eq(), int4ge(), int4gt(), int4le(), int4lt(), int4ne(), int82eq(), int82ge(), int82gt(), int82le(), int82lt(), int82ne(), int84eq(), int84ge(), int84gt(), int84le(), int84lt(), int84ne(), int8eq(), int8ge(), int8gt(), int8le(), int8lt(), int8ne(), inter_lb(), inter_sb(), inter_sl(), interval_eq(), interval_finite(), interval_ge(), interval_gt(), interval_le(), interval_lt(), interval_ne(), intinterval(), is_valid(), line_eq(), line_horizontal(), line_intersect(), line_parallel(), line_perp(), line_vertical(), lseg_eq(), lseg_ge(), lseg_gt(), lseg_horizontal(), lseg_intersect(), lseg_le(), lseg_lt(), lseg_ne(), lseg_parallel(), lseg_perp(), lseg_vertical(), lt_q_regex(), ltq_regex(), ltree_consistent(), ltree_eq(), ltree_ge(), ltree_gt(), ltree_isparent(), ltree_le(), ltree_lt(), ltree_ne(), ltree_risparent(), ltxtq_exec(), macaddr_eq(), macaddr_ge(), macaddr_gt(), macaddr_le(), macaddr_lt(), macaddr_ne(), nameeq(), namege(), namegt(), nameiclike(), nameicnlike(), nameicregexeq(), nameicregexne(), namele(), namelike(), namelt(), namene(), namenlike(), nameregexeq(), nameregexne(), network_eq(), network_ge(), network_gt(), network_le(), network_lt(), network_ne(), network_sub(), network_subeq(), network_sup(), network_supeq(), numeric_eq(), numeric_ge(), numeric_gt(), numeric_le(), numeric_lt(), numeric_ne(), oideq(), oidge(), oidgt(), oidle(), oidlt(), oidne(), oidvectoreq(), oidvectorge(), oidvectorgt(), oidvectorle(), oidvectorlt(), oidvectorne(), on_pb(), on_pl(), on_ppath(), on_ps(), on_sb(), on_sl(), overlaps_time(), overlaps_timestamp(), overlaps_timetz(), overpaid(), path_inter(), path_isclosed(), path_isopen(), path_n_eq(), path_n_ge(), path_n_gt(), path_n_le(), path_n_lt(), pg_advisory_unlock_int4(), pg_advisory_unlock_int8(), pg_advisory_unlock_shared_int4(), pg_advisory_unlock_shared_int8(), pg_cancel_backend(), pg_collation_is_visible(), pg_conversion_is_visible(), pg_file_rename(), pg_file_unlink(), pg_function_is_visible(), pg_has_role_id(), pg_has_role_id_id(), pg_has_role_id_name(), pg_has_role_name(), pg_has_role_name_id(), pg_has_role_name_name(), pg_is_in_backup(), pg_is_in_recovery(), pg_is_other_temp_schema(), pg_is_xlog_replay_paused(), pg_opclass_is_visible(), pg_operator_is_visible(), pg_opfamily_is_visible(), pg_relation_is_scannable(), pg_reload_conf(), pg_rotate_logfile(), pg_stat_get_backend_waiting(), pg_table_is_visible(), pg_terminate_backend(), pg_try_advisory_lock_int4(), pg_try_advisory_lock_int8(), pg_try_advisory_lock_shared_int4(), pg_try_advisory_lock_shared_int8(), pg_try_advisory_xact_lock_int4(), pg_try_advisory_xact_lock_int8(), pg_try_advisory_xact_lock_shared_int4(), pg_try_advisory_xact_lock_shared_int8(), pg_ts_config_is_visible(), pg_ts_dict_is_visible(), pg_ts_parser_is_visible(), pg_ts_template_is_visible(), pg_type_is_visible(), pg_view_is_insertable(), pg_view_is_updatable(), point_above(), point_below(), point_eq(), point_horiz(), point_left(), point_ne(), point_right(), point_vert(), poly_above(), poly_below(), poly_contain(), poly_contain_pt(), poly_left(), poly_overabove(), poly_overbelow(), poly_overlap(), poly_overleft(), poly_overright(), poly_right(), poly_same(), postgresql_fdw_validator(), pt_contained_circle(), pt_contained_poly(), pt_in_widget(), range_adjacent(), range_after(), range_before(), range_contained_by(), range_contains(), range_contains_elem(), range_empty(), range_eq(), range_ge(), range_gist_consistent(), range_gt(), range_le(), range_lower_inc(), range_lower_inf(), range_lt(), range_ne(), range_overlaps(), range_overleft(), range_overright(), range_overright_internal(), range_typanalyze(), range_upper_inc(), range_upper_inf(), record_eq(), record_ge(), record_gt(), record_le(), record_lt(), record_ne(), reltimeeq(), reltimege(), reltimegt(), reltimele(), reltimelt(), reltimene(), sepgsql_restorecon(), sepgsql_setcon(), similarity_op(), smgreq(), smgrne(), spg_quad_leaf_consistent(), spg_range_quad_leaf_consistent(), spg_text_leaf_consistent(), spgcanreturn(), spggettuple(), spginsert(), ssl_client_cert_present(), ssl_is_used(), text_ge(), text_gt(), text_le(), text_lt(), text_pattern_ge(), text_pattern_gt(), text_pattern_le(), text_pattern_lt(), texteq(), texticlike(), texticnlike(), texticregexeq(), texticregexne(), textlike(), textne(), textnlike(), textregexeq(), textregexne(), tideq(), tidge(), tidgt(), tidle(), tidlt(), tidne(), time_eq(), time_ge(), time_gt(), time_le(), time_lt(), time_ne(), timestamp_eq(), timestamp_eq_date(), timestamp_eq_timestamptz(), timestamp_finite(), timestamp_ge(), timestamp_ge_date(), timestamp_ge_timestamptz(), timestamp_gt(), timestamp_gt_date(), timestamp_gt_timestamptz(), timestamp_le(), timestamp_le_date(), timestamp_le_timestamptz(), timestamp_lt(), timestamp_lt_date(), timestamp_lt_timestamptz(), timestamp_ne(), timestamp_ne_date(), timestamp_ne_timestamptz(), timestamptz_eq_date(), timestamptz_eq_timestamp(), timestamptz_ge_date(), timestamptz_ge_timestamp(), timestamptz_gt_date(), timestamptz_gt_timestamp(), timestamptz_le_date(), timestamptz_le_timestamp(), timestamptz_lt_date(), timestamptz_lt_timestamp(), timestamptz_ne_date(), timestamptz_ne_timestamp(), timetz_eq(), timetz_ge(), timetz_gt(), timetz_le(), timetz_lt(), timetz_ne(), tintervalct(), tintervaleq(), tintervalge(), tintervalgt(), tintervalle(), tintervalleneq(), tintervallenge(), tintervallengt(), tintervallenle(), tintervallenlt(), tintervallenne(), tintervallt(), tintervalne(), tintervalov(), tintervalsame(), ts_match_tq(), ts_match_tt(), ts_match_vq(), ts_typanalyze(), tsq_mcontains(), txid_visible_in_snapshot(), uuid_eq(), uuid_ge(), uuid_gt(), uuid_le(), uuid_lt(), uuid_ne(), weak_input_status(), xideq(), xml_is_well_formed(), xml_is_well_formed_content(), xml_is_well_formed_document(), xmlexists(), xpath_bool(), and xpath_exists().

#define PG_RETURN_BPCHAR_P (   x  )     PG_RETURN_POINTER(x)
#define PG_RETURN_BYTEA_P (   x  )     PG_RETURN_POINTER(x)
#define PG_RETURN_CHAR (   x  )     return CharGetDatum(x)

Definition at line 298 of file fmgr.h.

Referenced by charin(), charrecv(), i4tochar(), and text_char().

#define PG_RETURN_CSTRING (   x  )     return CStringGetDatum(x)
#define PG_RETURN_DATUM (   x  )     return (x)
#define PG_RETURN_FLOAT4 (   x  )     return Float4GetDatum(x)
#define PG_RETURN_FLOAT8 (   x  )     return Float8GetDatum(x)

Definition at line 306 of file fmgr.h.

Referenced by add_one_float8(), areajoinsel(), areasel(), arraycontjoinsel(), arraycontsel(), box_area(), box_distance(), box_height(), box_width(), boxarea(), cash_div_cash(), circle_area(), circle_diameter(), circle_distance(), circle_radius(), contjoinsel(), contsel(), cube_distance(), cube_ll_coord(), cube_size(), cube_ur_coord(), dacos(), dasin(), datan(), datan2(), daterange_subdiff(), dcbrt(), dceil(), dcos(), dcot(), degrees(), dexp(), dfloor(), dist_cpoly(), dist_pb(), dist_pc(), dist_pl(), dist_ppath(), dist_ps(), dist_sl(), dlog1(), dlog10(), dpi(), dpow(), drandom(), dround(), dsign(), dsin(), dsqrt(), dtan(), dtrunc(), eqjoinsel(), eqsel(), float48div(), float48mi(), float48mul(), float48pl(), float84div(), float84mi(), float84mul(), float84pl(), float8_avg(), float8_corr(), float8_covar_pop(), float8_covar_samp(), float8_dist(), float8_regr_avgx(), float8_regr_avgy(), float8_regr_intercept(), float8_regr_r2(), float8_regr_slope(), float8_regr_sxx(), float8_regr_sxy(), float8_regr_syy(), float8_stddev_pop(), float8_stddev_samp(), float8_var_pop(), float8_var_samp(), float8abs(), float8div(), float8in(), float8larger(), float8mi(), float8mul(), float8pl(), float8recv(), float8smaller(), float8um(), float8up(), ftod(), g_cube_penalty(), gbt_cash_distance(), gbt_date_distance(), gbt_float4_distance(), gbt_float8_distance(), gbt_int2_distance(), gbt_int4_distance(), gbt_int8_distance(), gbt_intv_distance(), gbt_oid_distance(), gbt_time_distance(), gbt_ts_distance(), gbt_tstz_distance(), gist_point_distance(), gtrgm_distance(), i2tod(), i4tod(), i8tod(), iclikejoinsel(), iclikesel(), icnlikejoinsel(), icnlikesel(), icregexeqjoinsel(), icregexeqsel(), icregexnejoinsel(), icregexnesel(), int4range_subdiff(), int8range_subdiff(), interval_part(), likejoinsel(), likesel(), line_distance(), lseg_distance(), lseg_length(), ltreeparentsel(), neqjoinsel(), neqsel(), nlikejoinsel(), nlikesel(), numeric_float8(), numeric_float8_no_overflow(), numrange_subdiff(), path_area(), path_distance(), path_length(), pg_stat_get_checkpoint_sync_time(), pg_stat_get_checkpoint_write_time(), pg_stat_get_db_blk_read_time(), pg_stat_get_db_blk_write_time(), pg_stat_get_function_self_time(), pg_stat_get_function_total_time(), pg_stat_get_xact_function_self_time(), pg_stat_get_xact_function_total_time(), point_distance(), point_slope(), positionjoinsel(), positionsel(), radians(), rangesel(), regexeqjoinsel(), regexeqsel(), regexnejoinsel(), regexnesel(), regress_dist_ptpath(), regress_path_dist(), scalargtjoinsel(), scalargtsel(), scalarltjoinsel(), scalarltsel(), time_part(), timestamp_part(), timestamptz_part(), timetz_part(), tsmatchjoinsel(), tsmatchsel(), tsrange_subdiff(), tstzrange_subdiff(), window_cume_dist(), and window_percent_rank().

#define PG_RETURN_HEAPTUPLEHEADER (   x  )     PG_RETURN_POINTER(x)

Definition at line 313 of file fmgr.h.

Referenced by record_in(), and record_recv().

#define PG_RETURN_INT16 (   x  )     return Int16GetDatum(x)
#define PG_RETURN_INT32 (   x  )     return Int32GetDatum(x)

Definition at line 295 of file fmgr.h.

Referenced by add_one(), array_length(), array_lower(), array_ndims(), array_upper(), ascii(), bitcmp(), bitgetbit(), bitlength(), bitoctetlength(), bitposition(), bittoint4(), bittypmodin(), bool_int4(), bpcharcmp(), bpcharlen(), bpcharoctetlen(), bpchartypmodin(), btabstimecmp(), btarraycmp(), btboolcmp(), btbpchar_pattern_cmp(), btcharcmp(), btfloat48cmp(), btfloat4cmp(), btfloat84cmp(), btfloat8cmp(), btint24cmp(), btint28cmp(), btint2cmp(), btint42cmp(), btint48cmp(), btint4cmp(), btint82cmp(), btint84cmp(), btint8cmp(), btnamecmp(), btoidcmp(), btoidvectorcmp(), btrecordcmp(), btreltimecmp(), bttext_pattern_cmp(), bttextcmp(), bttidcmp(), bttintervalcmp(), byteacmp(), byteaGetBit(), byteaGetByte(), byteaoctetlen(), byteapos(), cash_cmp(), chartoi4(), citext_cmp(), complex_abs_cmp(), cube_cmp(), cube_dim(), date_cmp(), date_cmp_timestamp(), date_cmp_timestamptz(), date_dist(), date_mi(), dblink_is_busy(), dblink_send_query(), difference(), dtoi4(), enum_cmp(), ftoi4(), get_timetravel(), gin_cmp_prefix(), gin_cmp_tslexeme(), gin_numeric_cmp(), hash_range(), hstore_cmp(), hstore_version_diag(), i2toi4(), icount(), idx(), int24div(), int24mi(), int24mul(), int24pl(), int42div(), int42mi(), int42mul(), int42pl(), int4_dist(), int4abs(), int4and(), int4div(), int4in(), int4inc(), int4larger(), int4mi(), int4mod(), int4mul(), int4not(), int4or(), int4pl(), int4recv(), int4shl(), int4shr(), int4smaller(), int4um(), int4up(), int4xor(), int84(), interval_cmp(), intervaltypmodin(), json_array_length(), length_in_encoding(), levenshtein(), levenshtein_less_equal(), levenshtein_less_equal_with_costs(), levenshtein_with_costs(), lo_close(), lo_export(), lo_lseek(), lo_open(), lo_tell(), lo_truncate(), lo_truncate64(), lo_unlink(), lowrite(), ltree_cmp(), ltree_index(), macaddr_cmp(), network_cmp(), network_family(), network_masklen(), nlevel(), numeric_cmp(), numeric_int4(), numerictypmodin(), path_npoints(), pg_backend_pid(), PG_char_to_encoding(), pg_column_size(), pg_encoding_max_length_sql(), pg_stat_get_backend_client_port(), pg_stat_get_backend_pid(), pg_stat_get_db_numbackends(), pg_trigger_depth(), poly_npoints(), prsd_nexttoken(), range_cmp(), set_timetravel(), set_ttdummy(), testprs_getlexeme(), text_length(), textlen(), textoctetlen(), textpos(), time_cmp(), timestamp_cmp(), timestamp_cmp_date(), timestamp_cmp_timestamptz(), timestamptypmodin(), timestamptz_cmp_date(), timestamptz_cmp_timestamp(), timestamptztypmodin(), timetypmodin(), timetz_cmp(), timetztypmodin(), tsquery_cmp(), tsquery_numnode(), tsvector_length(), uuid_cmp(), varbittypmodin(), varchartypmodin(), width_bucket_float8(), width_bucket_numeric(), window_ntile(), and xid_age().

#define PG_RETURN_INT64 (   x  )     return Int64GetDatum(x)

Definition at line 307 of file fmgr.h.

Referenced by bittoint8(), btgetbitmap(), currval_oid(), dtoi8(), ftoi8(), gingetbitmap(), gistgetbitmap(), hashgetbitmap(), inetmi(), int28(), int28div(), int28mi(), int28mul(), int28pl(), int2_sum(), int48(), int48div(), int48mi(), int48mul(), int48pl(), int4_sum(), int82div(), int82mi(), int82mul(), int82pl(), int84div(), int84mi(), int84mul(), int84pl(), int8_dist(), int8abs(), int8and(), int8div(), int8in(), int8inc(), int8larger(), int8mi(), int8mod(), int8mul(), int8not(), int8or(), int8pl(), int8recv(), int8shl(), int8shr(), int8smaller(), int8um(), int8up(), int8xor(), lastval(), lo_lseek64(), lo_tell64(), nextval(), nextval_oid(), numeric_int8(), oidtoi8(), pg_database_size_name(), pg_database_size_oid(), pg_file_write(), pg_indexes_size(), pg_relation_size(), pg_relpages(), pg_stat_get_analyze_count(), pg_stat_get_autoanalyze_count(), pg_stat_get_autovacuum_count(), pg_stat_get_bgwriter_buf_written_checkpoints(), pg_stat_get_bgwriter_buf_written_clean(), pg_stat_get_bgwriter_maxwritten_clean(), pg_stat_get_bgwriter_requested_checkpoints(), pg_stat_get_bgwriter_timed_checkpoints(), pg_stat_get_blocks_fetched(), pg_stat_get_blocks_hit(), pg_stat_get_buf_alloc(), pg_stat_get_buf_fsync_backend(), pg_stat_get_buf_written_backend(), pg_stat_get_db_blocks_fetched(), pg_stat_get_db_blocks_hit(), pg_stat_get_db_conflict_all(), pg_stat_get_db_conflict_bufferpin(), pg_stat_get_db_conflict_lock(), pg_stat_get_db_conflict_snapshot(), pg_stat_get_db_conflict_startup_deadlock(), pg_stat_get_db_conflict_tablespace(), pg_stat_get_db_deadlocks(), pg_stat_get_db_temp_bytes(), pg_stat_get_db_temp_files(), pg_stat_get_db_tuples_deleted(), pg_stat_get_db_tuples_fetched(), pg_stat_get_db_tuples_inserted(), pg_stat_get_db_tuples_returned(), pg_stat_get_db_tuples_updated(), pg_stat_get_db_xact_commit(), pg_stat_get_db_xact_rollback(), pg_stat_get_dead_tuples(), pg_stat_get_function_calls(), pg_stat_get_live_tuples(), pg_stat_get_numscans(), pg_stat_get_tuples_deleted(), pg_stat_get_tuples_fetched(), pg_stat_get_tuples_hot_updated(), pg_stat_get_tuples_inserted(), pg_stat_get_tuples_returned(), pg_stat_get_tuples_updated(), pg_stat_get_vacuum_count(), pg_stat_get_xact_blocks_fetched(), pg_stat_get_xact_blocks_hit(), pg_stat_get_xact_function_calls(), pg_stat_get_xact_numscans(), pg_stat_get_xact_tuples_deleted(), pg_stat_get_xact_tuples_fetched(), pg_stat_get_xact_tuples_hot_updated(), pg_stat_get_xact_tuples_inserted(), pg_stat_get_xact_tuples_returned(), pg_stat_get_xact_tuples_updated(), pg_table_size(), pg_tablespace_size_name(), pg_tablespace_size_oid(), pg_total_relation_size(), setval3_oid(), setval_oid(), spggetbitmap(), txid_current(), txid_snapshot_xmax(), txid_snapshot_xmin(), window_dense_rank(), window_rank(), and window_row_number().

#define PG_RETURN_NAME (   x  )     return NameGetDatum(x)

Definition at line 303 of file fmgr.h.

Referenced by bpchar_name(), current_database(), namein(), namerecv(), pg_get_userbyid(), and text_name().

#define PG_RETURN_NULL (  )     do { fcinfo->isnull = true; return (Datum) 0; } while (0)

Definition at line 286 of file fmgr.h.

Referenced by _lca(), _ltq_extract_regex(), _ltree_extract_isparent(), _ltree_extract_risparent(), _ltxtq_extract_exec(), aclinsert(), aclremove(), array_agg_finalfn(), array_cat(), array_dims(), array_length(), array_lower(), array_ndims(), array_push(), array_remove(), array_replace(), array_to_text_null(), array_upper(), box_intersect(), btoptions(), bytea_string_agg_finalfn(), close_lb(), crosstab(), current_query(), current_schema(), dblink_get_connections(), dist_lb(), dist_ppath(), dmetaphone(), dmetaphone_alt(), domain_in(), domain_recv(), each_worker(), float8_avg(), float8_corr(), float8_covar_pop(), float8_covar_samp(), float8_regr_avgx(), float8_regr_avgy(), float8_regr_intercept(), float8_regr_r2(), float8_regr_slope(), float8_regr_sxx(), float8_regr_sxy(), float8_regr_syy(), float8_stddev_pop(), float8_stddev_samp(), float8_var_pop(), float8_var_samp(), format_type(), get_path_all(), gin_extract_trgm(), ginoptions(), gistoptions(), has_any_column_privilege_id(), has_any_column_privilege_id_id(), has_any_column_privilege_name_id(), has_column_privilege_id_attnum(), has_column_privilege_id_id_attnum(), has_column_privilege_id_id_name(), has_column_privilege_id_name(), has_column_privilege_id_name_attnum(), has_column_privilege_id_name_name(), has_column_privilege_name_attnum(), has_column_privilege_name_id_attnum(), has_column_privilege_name_id_name(), has_column_privilege_name_name(), has_column_privilege_name_name_attnum(), has_column_privilege_name_name_name(), has_database_privilege_id(), has_database_privilege_id_id(), has_database_privilege_name_id(), has_function_privilege_id(), has_function_privilege_id_id(), has_function_privilege_name_id(), has_language_privilege_id(), has_language_privilege_id_id(), has_language_privilege_name_id(), has_schema_privilege_id(), has_schema_privilege_id_id(), has_schema_privilege_name_id(), has_sequence_privilege_id(), has_sequence_privilege_id_id(), has_sequence_privilege_name_id(), has_table_privilege_id(), has_table_privilege_id_id(), has_table_privilege_name_id(), has_type_privilege_id(), has_type_privilege_id_id(), has_type_privilege_name_id(), hashoptions(), hstore_fetchval(), hstore_from_arrays(), hstore_from_text(), hstore_populate_record(), hstore_svals(), inet_client_addr(), inet_client_port(), inet_server_addr(), inet_server_port(), int24div(), int28div(), int2_sum(), int2div(), int2mod(), int42div(), int48div(), int4_sum(), int4div(), int4mod(), int82div(), int84div(), int8_avg(), int8_sum(), int8div(), int8mod(), interpt_pp(), interval_avg(), interval_to_char(), json_agg_finalfn(), json_array_element(), json_array_element_text(), json_array_elements(), json_object_field(), json_object_field_text(), json_populate_record(), json_populate_recordset(), lca(), leadlag_common(), line_interpt(), lseg_interpt(), metaphone(), numeric_avg(), numeric_stddev_pop(), numeric_stddev_samp(), numeric_to_number(), numeric_var_pop(), numeric_var_samp(), overlaps_time(), overlaps_timestamp(), overlaps_timetz(), overpaid(), path_add(), path_area(), path_center(), path_distance(), pg_backup_start_time(), pg_collation_for(), pg_collation_is_visible(), pg_conversion_is_visible(), pg_database_size_name(), pg_database_size_oid(), pg_describe_object(), pg_encoding_max_length_sql(), pg_file_rename(), pg_function_is_visible(), pg_get_expr(), pg_get_expr_ext(), pg_get_serial_sequence(), pg_indexes_size(), pg_last_xact_replay_timestamp(), pg_last_xlog_receive_location(), pg_last_xlog_replay_location(), pg_opclass_is_visible(), pg_operator_is_visible(), pg_opfamily_is_visible(), pg_relation_filenode(), pg_relation_filepath(), pg_relation_size(), pg_stat_get_backend_activity_start(), pg_stat_get_backend_client_addr(), pg_stat_get_backend_client_port(), pg_stat_get_backend_dbid(), pg_stat_get_backend_pid(), pg_stat_get_backend_start(), pg_stat_get_backend_userid(), pg_stat_get_backend_waiting(), pg_stat_get_backend_xact_start(), pg_stat_get_db_stat_reset_time(), pg_stat_get_function_calls(), pg_stat_get_function_self_time(), pg_stat_get_function_total_time(), pg_stat_get_last_analyze_time(), pg_stat_get_last_autoanalyze_time(), pg_stat_get_last_autovacuum_time(), pg_stat_get_last_vacuum_time(), pg_stat_get_xact_function_calls(), pg_stat_get_xact_function_self_time(), pg_stat_get_xact_function_total_time(), pg_table_is_visible(), pg_table_size(), pg_tablespace_location(), pg_tablespace_size_name(), pg_tablespace_size_oid(), pg_total_relation_size(), pg_ts_config_is_visible(), pg_ts_dict_is_visible(), pg_ts_parser_is_visible(), pg_ts_template_is_visible(), pg_type_is_visible(), poly_box(), poly_distance(), querytree(), range_lower(), range_minus(), range_upper(), regress_dist_ptpath(), regress_path_dist(), sepgsql_getcon(), similar_escape(), spgoptions(), ssl_cipher(), ssl_client_dn(), ssl_client_dn_field(), ssl_client_serial(), ssl_issuer_dn(), ssl_issuer_field(), ssl_version(), string_agg_finalfn(), text_concat(), text_concat_ws(), text_format(), text_to_array_internal(), textregexsubstr(), timestamp_time(), timestamp_to_char(), timestamptz_time(), timestamptz_timetz(), timestamptz_to_char(), ts_lexize(), window_first_value(), window_last_value(), window_nth_value(), window_ntile(), xmlconcat2(), xpath_list(), xpath_nodeset(), xpath_number(), xpath_string(), and xslt_process().

#define PG_RETURN_OID (   x  )     return ObjectIdGetDatum(x)
#define PG_RETURN_POINTER (   x  )     return PointerGetDatum(x)

Definition at line 301 of file fmgr.h.

Referenced by _int_inter(), _int_union(), _lca(), _ltq_extract_regex(), _ltree_compress(), _ltree_extract_isparent(), _ltree_extract_risparent(), _ltree_penalty(), _ltree_picksplit(), _ltree_same(), _ltree_union(), _ltxtq_extract_exec(), array_agg_transfn(), bqarr_in(), bqarr_out(), btbeginscan(), btbuild(), btbulkdelete(), btvacuumcleanup(), bytea_string_agg_transfn(), chkpass_in(), complex_add(), complex_in(), complex_recv(), current_schemas(), dintdict_init(), dintdict_lexize(), dispell_init(), dispell_lexize(), dsimple_init(), dsimple_lexize(), dsnowball_init(), dsnowball_lexize(), dsynonym_init(), dsynonym_lexize(), dxsyn_init(), dxsyn_lexize(), file_fdw_handler(), g_cube_decompress(), g_cube_picksplit(), g_cube_union(), g_int_compress(), g_int_decompress(), g_int_penalty(), g_int_picksplit(), g_int_same(), g_int_union(), g_intbig_compress(), g_intbig_penalty(), g_intbig_picksplit(), g_intbig_same(), g_intbig_union(), gbt_bit_compress(), gbt_bit_penalty(), gbt_bit_picksplit(), gbt_bit_same(), gbt_bit_union(), gbt_bpchar_compress(), gbt_bytea_compress(), gbt_bytea_penalty(), gbt_bytea_picksplit(), gbt_bytea_same(), gbt_bytea_union(), gbt_cash_compress(), gbt_cash_penalty(), gbt_cash_picksplit(), gbt_cash_same(), gbt_cash_union(), gbt_date_compress(), gbt_date_penalty(), gbt_date_picksplit(), gbt_date_same(), gbt_date_union(), gbt_decompress(), gbt_float4_compress(), gbt_float4_penalty(), gbt_float4_picksplit(), gbt_float4_same(), gbt_float4_union(), gbt_float8_compress(), gbt_float8_penalty(), gbt_float8_picksplit(), gbt_float8_same(), gbt_float8_union(), gbt_inet_compress(), gbt_inet_penalty(), gbt_inet_picksplit(), gbt_inet_same(), gbt_inet_union(), gbt_int2_compress(), gbt_int2_penalty(), gbt_int2_picksplit(), gbt_int2_same(), gbt_int2_union(), gbt_int4_compress(), gbt_int4_penalty(), gbt_int4_picksplit(), gbt_int4_same(), gbt_int4_union(), gbt_int8_compress(), gbt_int8_penalty(), gbt_int8_picksplit(), gbt_int8_same(), gbt_int8_union(), gbt_intv_compress(), gbt_intv_decompress(), gbt_intv_penalty(), gbt_intv_picksplit(), gbt_intv_same(), gbt_intv_union(), gbt_macad_compress(), gbt_macad_penalty(), gbt_macad_picksplit(), gbt_macad_same(), gbt_macad_union(), gbt_numeric_compress(), gbt_numeric_penalty(), gbt_numeric_picksplit(), gbt_numeric_same(), gbt_numeric_union(), gbt_oid_compress(), gbt_oid_penalty(), gbt_oid_picksplit(), gbt_oid_same(), gbt_oid_union(), gbt_text_compress(), gbt_text_penalty(), gbt_text_picksplit(), gbt_text_same(), gbt_text_union(), gbt_time_compress(), gbt_time_penalty(), gbt_time_picksplit(), gbt_time_same(), gbt_time_union(), gbt_timetz_compress(), gbt_ts_compress(), gbt_ts_penalty(), gbt_ts_picksplit(), gbt_ts_same(), gbt_ts_union(), gbt_tstz_compress(), gbt_var_decompress(), gbtreekey_in(), gbtreekey_out(), ghstore_compress(), ghstore_decompress(), ghstore_penalty(), ghstore_picksplit(), ghstore_same(), ghstore_union(), gin_extract_hstore(), gin_extract_hstore_query(), gin_extract_query_trgm(), gin_extract_tsquery(), gin_extract_tsvector(), gin_extract_value_trgm(), ginarrayextract(), ginbeginscan(), ginbuild(), ginbulkdelete(), ginint4_queryextract(), ginqueryarrayextract(), ginvacuumcleanup(), gist_box_compress(), gist_box_decompress(), gist_box_penalty(), gist_box_picksplit(), gist_box_same(), gist_box_union(), gist_circle_compress(), gist_point_compress(), gist_poly_compress(), gistbeginscan(), gistbuild(), gistbulkdelete(), gistvacuumcleanup(), gtrgm_compress(), gtrgm_decompress(), gtrgm_penalty(), gtrgm_picksplit(), gtrgm_same(), gtrgm_union(), gtsquery_compress(), gtsquery_penalty(), gtsquery_picksplit(), gtsquery_same(), gtsvector_compress(), gtsvector_decompress(), gtsvector_penalty(), gtsvector_picksplit(), gtsvector_same(), gtsvector_union(), gtsvectorout(), hashbeginscan(), hashbuild(), hashbulkdelete(), hashvacuumcleanup(), hstore_akeys(), hstore_avals(), hstore_concat(), hstore_delete(), hstore_delete_array(), hstore_delete_hstore(), hstore_from_array(), hstore_from_arrays(), hstore_from_record(), hstore_from_text(), hstore_in(), hstore_populate_record(), hstore_recv(), hstore_slice_to_array(), hstore_slice_to_hstore(), hstore_to_array(), hstore_to_matrix(), int2_sum(), int2vectorin(), int2vectorrecv(), int44in(), int4_sum(), int8inc(), intarray_del_elem(), intarray_push_array(), intarray_push_elem(), interval_transform(), intset(), intset_subtract(), intset_union_elem(), json_agg_transfn(), json_populate_record(), lca(), lquery_in(), lquery_out(), ltree2text(), ltree_addltree(), ltree_addtext(), ltree_compress(), ltree_decompress(), ltree_in(), ltree_out(), ltree_penalty(), ltree_picksplit(), ltree_same(), ltree_textadd(), ltree_union(), ltxtq_in(), ltxtq_out(), numeric_transform(), oidvectorin(), oidvectorrecv(), plainto_tsquery_byid(), postgres_fdw_handler(), prsd_headline(), prsd_lextype(), prsd_start(), range_gist_compress(), range_gist_decompress(), range_gist_penalty(), range_gist_picksplit(), range_gist_same(), seg_in(), show_trgm(), sort(), sort_asc(), sort_desc(), spgbeginscan(), spgbuild(), spgbulkdelete(), spgvacuumcleanup(), string_agg_transfn(), subarray(), subltree(), subpath(), testprs_lextype(), testprs_start(), text2ltree(), thesaurus_init(), thesaurus_lexize(), time_transform(), timestamp_transform(), to_tsquery_byid(), to_tsvector_byid(), ts_headline_byid_opt(), ts_lexize(), tsa_rewrite_accum(), tsa_rewrite_finish(), tsquery_and(), tsquery_not(), tsquery_or(), tsquery_rewrite(), tsquery_rewrite_query(), tsqueryout(), tsquerytree(), tsvector_concat(), tsvector_setweight(), tsvector_strip(), txid_current_snapshot(), txid_snapshot_in(), txid_snapshot_recv(), unaccent_init(), unaccent_lexize(), uniq(), uuid_recv(), varbit_transform(), and varchar_transform().

#define PG_RETURN_TEXT_P (   x  )     PG_RETURN_POINTER(x)

Definition at line 310 of file fmgr.h.

Referenced by array_dims(), array_to_json(), array_to_json_pretty(), array_to_text(), array_to_text_null(), ASN1_STRING_to_text(), binary_encode(), booltext(), btrim(), btrim1(), cash_words(), char_text(), chkpass_rout(), chr(), cidr_abbrev(), citext_larger(), citext_smaller(), concat_text(), copytext(), current_query(), dblink_build_sql_delete(), dblink_build_sql_insert(), dblink_build_sql_update(), dblink_cancel_query(), dblink_close(), dblink_connect(), dblink_disconnect(), dblink_error_message(), dblink_exec(), dblink_open(), dmetaphone(), dmetaphone_alt(), float4_to_char(), float8_to_char(), format_type(), fsm_page_contents(), get_path_all(), hstore_fetchval(), hstore_to_json(), hstore_to_json_loose(), inet_abbrev(), initcap(), int4_to_char(), int8_to_char(), interval_to_char(), json_agg_finalfn(), json_array_element(), json_array_element_text(), json_in(), json_object_field(), json_object_field_text(), json_recv(), like_escape(), lower(), lpad(), ltrim(), ltrim1(), md5_bytea(), md5_text(), metaphone(), name_text(), network_host(), network_show(), numeric_to_char(), oidvectortypes(), pg_armor(), pg_collation_for(), pg_create_restore_point(), pg_crypt(), pg_current_xlog_insert_location(), pg_current_xlog_location(), pg_dearmor(), pg_describe_object(), pg_export_snapshot(), pg_gen_salt(), pg_gen_salt_rounds(), pg_get_constraintdef(), pg_get_constraintdef_ext(), pg_get_expr(), pg_get_expr_ext(), pg_get_function_arguments(), pg_get_function_identity_arguments(), pg_get_function_result(), pg_get_functiondef(), pg_get_indexdef(), pg_get_indexdef_ext(), pg_get_ruledef(), pg_get_ruledef_ext(), pg_get_serial_sequence(), pg_get_triggerdef(), pg_get_triggerdef_ext(), pg_get_viewdef(), pg_get_viewdef_ext(), pg_get_viewdef_name(), pg_get_viewdef_name_ext(), pg_get_viewdef_wrap(), pg_last_xlog_receive_location(), pg_last_xlog_replay_location(), pg_read_file(), pg_read_file_all(), pg_relation_filepath(), pg_size_pretty(), pg_size_pretty_numeric(), pg_start_backup(), pg_stat_get_backend_activity(), pg_stop_backup(), pg_switch_xlog(), pg_tablespace_location(), pg_xlogfile_name(), pgp_key_id_w(), pgp_pub_decrypt_bytea(), pgp_pub_decrypt_text(), pgp_pub_encrypt_bytea(), pgp_pub_encrypt_text(), pgp_sym_decrypt_bytea(), pgp_sym_decrypt_text(), pgp_sym_encrypt_bytea(), pgp_sym_encrypt_text(), pgsql_version(), quote_ident(), quote_literal(), quote_nullable(), repeat(), replace_text(), row_to_json(), row_to_json_pretty(), rpad(), rtrim(), rtrim1(), sepgsql_getcon(), sepgsql_mcstrans_in(), sepgsql_mcstrans_out(), set_config_by_name(), show_config_by_name(), similar_escape(), soundex(), split_text(), ssl_cipher(), ssl_version(), string_agg_finalfn(), text_concat(), text_concat_ws(), text_format(), text_larger(), text_left(), text_reverse(), text_right(), text_smaller(), text_substr(), text_substr_no_len(), textcat(), textin(), textoverlay(), textoverlay_no_len(), textrecv(), textregexreplace(), textregexreplace_noopt(), timeofday(), timestamp_to_char(), timestamptz_to_char(), to_ascii_default(), to_ascii_enc(), to_ascii_encname(), to_hex32(), to_hex64(), to_json(), translate(), tsquerytree(), unaccent_dict(), upper(), X509_NAME_to_text(), xml_encode_special_chars(), xmltotext(), xpath_list(), xpath_nodeset(), xpath_string(), and xslt_process().

#define PG_RETURN_UINT32 (   x  )     return UInt32GetDatum(x)

Definition at line 296 of file fmgr.h.

Referenced by hash_aclitem(), hash_array(), hash_numeric(), hashfloat4(), hashfloat8(), and timetz_hash().

#define PG_RETURN_VARCHAR_P (   x  )     PG_RETURN_POINTER(x)

Definition at line 312 of file fmgr.h.

Referenced by varchar(), varcharin(), and varcharrecv().

#define PG_RETURN_VOID (  )     return (Datum) 0

Definition at line 290 of file fmgr.h.

Referenced by any_in(), any_out(), anyarray_in(), anyarray_recv(), anyelement_in(), anyelement_out(), anyenum_in(), anynonarray_in(), anynonarray_out(), anyrange_in(), ascii_to_mic(), ascii_to_utf8(), big5_to_euc_tw(), big5_to_mic(), big5_to_utf8(), btbuildempty(), btcostestimate(), btendscan(), btfloat4sortsupport(), btfloat8sortsupport(), btint2sortsupport(), btint4sortsupport(), btint8sortsupport(), btmarkpos(), btnamesortsupport(), btoidsortsupport(), btrescan(), btrestrpos(), create_empty_extension(), date_sortsupport(), dblink_fdw_validator(), euc_cn_to_mic(), euc_cn_to_utf8(), euc_jis_2004_to_shift_jis_2004(), euc_jis_2004_to_utf8(), euc_jp_to_mic(), euc_jp_to_sjis(), euc_jp_to_utf8(), euc_kr_to_mic(), euc_kr_to_utf8(), euc_tw_to_big5(), euc_tw_to_mic(), euc_tw_to_utf8(), event_trigger_in(), event_trigger_out(), fdw_handler_in(), fdw_handler_out(), file_fdw_validator(), fmgr_c_validator(), fmgr_internal_validator(), fmgr_sql_validator(), gb18030_to_utf8(), gbk_to_utf8(), ginbuildempty(), gincostestimate(), ginendscan(), ginmarkpos(), ginrescan(), ginrestrpos(), gistbuildempty(), gistcostestimate(), gistendscan(), gistmarkpos(), gistrescan(), gistrestrpos(), hashbuildempty(), hashcostestimate(), hashendscan(), hashmarkpos(), hashrescan(), hashrestrpos(), internal_in(), internal_out(), iso8859_1_to_utf8(), iso8859_to_utf8(), iso_to_koi8r(), iso_to_mic(), iso_to_win1251(), iso_to_win866(), johab_to_utf8(), koi8r_to_iso(), koi8r_to_mic(), koi8r_to_utf8(), koi8r_to_win1251(), koi8r_to_win866(), koi8u_to_utf8(), language_handler_in(), language_handler_out(), latin1_to_mic(), latin2_to_mic(), latin2_to_win1250(), latin3_to_mic(), latin4_to_mic(), mic_to_ascii(), mic_to_big5(), mic_to_euc_cn(), mic_to_euc_jp(), mic_to_euc_kr(), mic_to_euc_tw(), mic_to_iso(), mic_to_koi8r(), mic_to_latin1(), mic_to_latin2(), mic_to_latin3(), mic_to_latin4(), mic_to_sjis(), mic_to_win1250(), mic_to_win1251(), mic_to_win866(), opaque_in(), opaque_out(), pg_advisory_lock_int4(), pg_advisory_lock_int8(), pg_advisory_lock_shared_int4(), pg_advisory_lock_shared_int8(), pg_advisory_unlock_all(), pg_advisory_xact_lock_int4(), pg_advisory_xact_lock_int8(), pg_advisory_xact_lock_shared_int4(), pg_advisory_xact_lock_shared_int8(), pg_extension_config_dump(), pg_node_tree_in(), pg_node_tree_recv(), pg_notify(), pg_sleep(), pg_stat_clear_snapshot(), pg_stat_reset(), pg_stat_reset_shared(), pg_stat_reset_single_function_counters(), pg_stat_reset_single_table_counters(), pg_stat_statements_reset(), pg_xlog_replay_pause(), pg_xlog_replay_resume(), plperl_inline_handler(), plperl_validator(), plpgsql_validator(), plpython_inline_handler(), plpython_validator(), postgres_fdw_validator(), prsd_end(), set_next_array_pg_type_oid(), set_next_heap_pg_class_oid(), set_next_index_pg_class_oid(), set_next_pg_authid_oid(), set_next_pg_enum_oid(), set_next_pg_type_oid(), set_next_toast_pg_class_oid(), set_next_toast_pg_type_oid(), setseed(), shell_in(), shell_out(), shift_jis_2004_to_euc_jis_2004(), shift_jis_2004_to_utf8(), sjis_to_euc_jp(), sjis_to_mic(), sjis_to_utf8(), spg_kd_choose(), spg_kd_config(), spg_kd_inner_consistent(), spg_kd_picksplit(), spg_quad_choose(), spg_quad_config(), spg_quad_inner_consistent(), spg_quad_picksplit(), spg_range_quad_choose(), spg_range_quad_config(), spg_range_quad_inner_consistent(), spg_range_quad_picksplit(), spg_text_choose(), spg_text_config(), spg_text_inner_consistent(), spg_text_picksplit(), spgbuildempty(), spgcostestimate(), spgendscan(), spgmarkpos(), spgrescan(), spgrestrpos(), testprs_end(), timestamp_sortsupport(), trigger_in(), trigger_out(), tsa_set_curcfg(), tsa_set_curcfg_byname(), tsa_set_curdict(), tsa_set_curdict_byname(), tsa_set_curprs(), tsa_set_curprs_byname(), uhc_to_utf8(), utf8_to_ascii(), utf8_to_big5(), utf8_to_euc_cn(), utf8_to_euc_jis_2004(), utf8_to_euc_jp(), utf8_to_euc_kr(), utf8_to_euc_tw(), utf8_to_gb18030(), utf8_to_gbk(), utf8_to_iso8859(), utf8_to_iso8859_1(), utf8_to_johab(), utf8_to_koi8r(), utf8_to_koi8u(), utf8_to_shift_jis_2004(), utf8_to_sjis(), utf8_to_uhc(), utf8_to_win(), void_in(), void_recv(), win1250_to_latin2(), win1250_to_mic(), win1251_to_iso(), win1251_to_koi8r(), win1251_to_mic(), win1251_to_win866(), win866_to_iso(), win866_to_koi8r(), win866_to_mic(), win866_to_win1251(), and win_to_utf8().


Typedef Documentation

typedef void(* fmgr_hook_type)(FmgrHookEventType event, FmgrInfo *flinfo, Datum *arg)

Definition at line 672 of file fmgr.h.

typedef struct FmgrInfo FmgrInfo
typedef struct Node* fmNodePtr

Definition at line 22 of file fmgr.h.

typedef struct StringInfoData* fmStringInfo

Definition at line 25 of file fmgr.h.

Definition at line 34 of file fmgr.h.

typedef bool(* needs_fmgr_hook_type)(Oid fn_oid)

Definition at line 670 of file fmgr.h.

typedef const Pg_finfo_record*(* PGFInfoFunction)(void)

Definition at line 339 of file fmgr.h.

typedef Datum(* PGFunction)(FunctionCallInfo fcinfo)

Definition at line 36 of file fmgr.h.

typedef const Pg_magic_struct*(* PGModuleMagicFunction)(void)

Definition at line 410 of file fmgr.h.


Enumeration Type Documentation

Enumerator:
FHET_START 
FHET_END 
FHET_ABORT 

Definition at line 663 of file fmgr.h.

{
    FHET_START,
    FHET_END,
    FHET_ABORT
} FmgrHookEventType;


Function Documentation

int AggCheckCallContext ( FunctionCallInfo  fcinfo,
MemoryContext aggcontext 
)

Definition at line 2014 of file nodeAgg.c.

References FunctionCallInfoData::context, and IsA.

Referenced by array_agg_finalfn(), array_agg_transfn(), bytea_string_agg_finalfn(), float4_accum(), float8_accum(), float8_regr_accum(), int2_avg_accum(), int2_sum(), int4_avg_accum(), int4_sum(), int8inc(), json_agg_finalfn(), json_agg_transfn(), makeStringAggState(), string_agg_finalfn(), and tsa_rewrite_accum().

{
    if (fcinfo->context && IsA(fcinfo->context, AggState))
    {
        if (aggcontext)
            *aggcontext = ((AggState *) fcinfo->context)->aggcontext;
        return AGG_CONTEXT_AGGREGATE;
    }
    if (fcinfo->context && IsA(fcinfo->context, WindowAggState))
    {
        if (aggcontext)
            *aggcontext = ((WindowAggState *) fcinfo->context)->aggcontext;
        return AGG_CONTEXT_WINDOW;
    }

    /* this is just to prevent "uninitialized variable" warnings */
    if (aggcontext)
        *aggcontext = NULL;
    return 0;
}

void clear_external_function_hash ( void *  filehandle  ) 

Definition at line 571 of file fmgr.c.

References hash_destroy().

Referenced by internal_unload_library().

Datum DirectFunctionCall1Coll ( PGFunction  func,
Oid  collation,
Datum  arg1 
)

Definition at line 1020 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by Generic_Text_IC_like().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 1, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.argnull[0] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall2Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2 
)

Definition at line 1040 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by gbt_textcmp(), gbt_texteq(), gbt_textge(), gbt_textgt(), gbt_textle(), and gbt_textlt().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 2, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall3Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3 
)

Definition at line 1062 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 3, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall4Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4 
)

Definition at line 1087 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by execute_extension_script().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 4, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall5Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5 
)

Definition at line 1114 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 5, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall6Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6 
)

Definition at line 1143 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 6, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall7Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7 
)

Definition at line 1175 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 7, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall8Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8 
)

Definition at line 1209 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 8, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

Datum DirectFunctionCall9Coll ( PGFunction  func,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8,
Datum  arg9 
)

Definition at line 1245 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, NULL, 9, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.arg[8] = arg9;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;
    fcinfo.argnull[8] = false;

    result = (*func) (&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %p returned NULL", (void *) func);

    return result;
}

const Pg_finfo_record* fetch_finfo_record ( void *  filehandle,
char *  funcname 
)

Definition at line 444 of file fmgr.c.

References Pg_finfo_record::api_version, elog, ereport, errcode(), errmsg(), ERROR, lookup_external_function(), NULL, palloc(), and pfree().

Referenced by fmgr_c_validator(), and fmgr_info_C_lang().

{
    char       *infofuncname;
    PGFInfoFunction infofunc;
    const Pg_finfo_record *inforec;
    static Pg_finfo_record default_inforec = {0};

    /* Compute name of info func */
    infofuncname = (char *) palloc(strlen(funcname) + 10);
    strcpy(infofuncname, "pg_finfo_");
    strcat(infofuncname, funcname);

    /* Try to look up the info function */
    infofunc = (PGFInfoFunction) lookup_external_function(filehandle,
                                                          infofuncname);
    if (infofunc == NULL)
    {
        /* Not found --- assume version 0 */
        pfree(infofuncname);
        return &default_inforec;
    }

    /* Found, so call it */
    inforec = (*infofunc) ();

    /* Validate result as best we can */
    if (inforec == NULL)
        elog(ERROR, "null result from info function \"%s\"", infofuncname);
    switch (inforec->api_version)
    {
        case 0:
        case 1:
            /* OK, no additional fields to validate */
            break;
        default:
            ereport(ERROR,
                    (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                     errmsg("unrecognized API version %d reported by info function \"%s\"",
                            inforec->api_version, infofuncname)));
            break;
    }

    pfree(infofuncname);
    return inforec;
}

void** find_rendezvous_variable ( const char *  varName  ) 

Definition at line 675 of file dfmgr.c.

References HASHCTL::entrysize, hash_create(), HASH_ELEM, HASH_ENTER, hash_search(), HASHCTL::keysize, MemSet, NULL, and rendezvousHashEntry::varValue.

Referenced by _PG_init().

{
    static HTAB *rendezvousHash = NULL;

    rendezvousHashEntry *hentry;
    bool        found;

    /* Create a hashtable if we haven't already done so in this process */
    if (rendezvousHash == NULL)
    {
        HASHCTL     ctl;

        MemSet(&ctl, 0, sizeof(ctl));
        ctl.keysize = NAMEDATALEN;
        ctl.entrysize = sizeof(rendezvousHashEntry);
        rendezvousHash = hash_create("Rendezvous variable hash",
                                     16,
                                     &ctl,
                                     HASH_ELEM);
    }

    /* Find or create the hashtable entry for this varName */
    hentry = (rendezvousHashEntry *) hash_search(rendezvousHash,
                                                 varName,
                                                 HASH_ENTER,
                                                 &found);

    /* Initialize to NULL if first time */
    if (!found)
        hentry->varValue = NULL;

    return &hentry->varValue;
}

char* fmgr ( Oid  procedureId,
  ... 
)

Definition at line 2091 of file fmgr.c.

References FunctionCallInfoData::arg, DatumGetPointer, elog, ereport, errcode(), errmsg(), ERROR, FunctionCallInfoData::flinfo, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_nargs, FmgrInfo::fn_oid, FUNC_MAX_ARGS, FunctionCallInvoke, i, FunctionCallInfoData::isnull, MemSet, FunctionCallInfoData::nargs, and PointerGetDatum.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    int         n_arguments;
    Datum       result;

    fmgr_info(procedureId, &flinfo);

    MemSet(&fcinfo, 0, sizeof(fcinfo));
    fcinfo.flinfo = &flinfo;
    fcinfo.nargs = flinfo.fn_nargs;
    n_arguments = fcinfo.nargs;

    if (n_arguments > 0)
    {
        va_list     pvar;
        int         i;

        if (n_arguments > FUNC_MAX_ARGS)
            ereport(ERROR,
                    (errcode(ERRCODE_TOO_MANY_ARGUMENTS),
             errmsg("function %u has too many arguments (%d, maximum is %d)",
                    flinfo.fn_oid, n_arguments, FUNC_MAX_ARGS)));
        va_start(pvar, procedureId);
        for (i = 0; i < n_arguments; i++)
            fcinfo.arg[i] = PointerGetDatum(va_arg(pvar, char *));
        va_end(pvar);
    }

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return DatumGetPointer(result);
}

void fmgr_info ( Oid  functionId,
FmgrInfo finfo 
)
void fmgr_info_copy ( FmgrInfo dstinfo,
FmgrInfo srcinfo,
MemoryContext  destcxt 
)

Definition at line 587 of file fmgr.c.

References fmgr_oldstyle(), FmgrInfo::fn_addr, FmgrInfo::fn_extra, FmgrInfo::fn_mcxt, and MemoryContextAlloc().

Referenced by initGinState(), initGISTstate(), and ScanKeyEntryInitializeWithInfo().

{
    memcpy(dstinfo, srcinfo, sizeof(FmgrInfo));
    dstinfo->fn_mcxt = destcxt;
    if (dstinfo->fn_addr == fmgr_oldstyle)
    {
        /* For oldstyle functions we must copy fn_extra */
        Oldstyle_fnextra *fnextra;

        fnextra = (Oldstyle_fnextra *)
            MemoryContextAlloc(destcxt, sizeof(Oldstyle_fnextra));
        memcpy(fnextra, srcinfo->fn_extra, sizeof(Oldstyle_fnextra));
        dstinfo->fn_extra = (void *) fnextra;
    }
    else
        dstinfo->fn_extra = NULL;
}

void fmgr_info_cxt ( Oid  functionId,
FmgrInfo finfo,
MemoryContext  mcxt 
)
Oid fmgr_internal_function ( const char *  proname  ) 

Definition at line 613 of file fmgr.c.

References fmgr_lookupByName(), FmgrBuiltin::foid, and NULL.

Referenced by fmgr_internal_validator().

{
    const FmgrBuiltin *fbp = fmgr_lookupByName(proname);

    if (fbp == NULL)
        return InvalidOid;
    return fbp->foid;
}

Datum FunctionCall1Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1 
)

Definition at line 1290 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by _hash_datum2hashkey(), element_hash(), gistcentryinit(), gistdentryinit(), and hash_range().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 1, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.argnull[0] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall2Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2 
)

Definition at line 1310 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by _bt_check_rowcompare(), _bt_checkkeys(), _bt_compare(), _bt_compare_array_elements(), _bt_compare_scankey_args(), _bt_find_extreme_element(), _bt_isequal(), _bt_load(), _bt_sort_array_elements(), _hash_checkqual(), call_subtype_diff(), cmpEntries(), compute_minimal_stats(), compute_range_stats(), doPickSplit(), element_compare(), eqjoinsel_inner(), eqjoinsel_semi(), genericPickSplit(), get_distance(), get_position(), get_variable_range(), ginCompareEntries(), gistMakeUnionItVec(), gistMakeUnionKey(), gistUserPicksplit(), histogram_selectivity(), ineq_histogram_selectivity(), make_greater_string(), mcv_selectivity(), range_cmp_bound_values(), range_cmp_bounds(), range_contains_elem_internal(), spgdoinsert(), spgGetCache(), spgLeafTest(), spgWalk(), and var_eq_const().

{
    /*
     * XXX if you change this routine, see also the inlined version in
     * utils/sort/tuplesort.c!
     */
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 2, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall3Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3 
)

Definition at line 1336 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by ginExtractEntries(), gistKeyIsEQ(), and gistpenalty().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 3, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall4Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4 
)

Definition at line 1361 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by collectMatchBitmap(), gistindex_keytest(), matchPartialInPendingList(), and scalararraysel().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 4, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall5Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5 
)

Definition at line 1388 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by gistindex_keytest(), and scalararraysel().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 5, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall6Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6 
)

Definition at line 1417 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 6, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall7Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7 
)

Definition at line 1449 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by ginNewScanKey().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 7, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall8Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8 
)

Definition at line 1483 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by callConsistentFn().

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 8, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

Datum FunctionCall9Coll ( FmgrInfo flinfo,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8,
Datum  arg9 
)

Definition at line 1519 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FunctionCallInfoData fcinfo;
    Datum       result;

    InitFunctionCallInfoData(fcinfo, flinfo, 9, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.arg[8] = arg9;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;
    fcinfo.argnull[8] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", fcinfo.flinfo->fn_oid);

    return result;
}

bool get_call_expr_arg_stable ( fmNodePtr  expr,
int  argnum 
)
Oid get_call_expr_argtype ( fmNodePtr  expr,
int  argnum 
)
bool get_fn_expr_arg_stable ( FmgrInfo flinfo,
int  argnum 
)

Definition at line 2387 of file fmgr.c.

References FmgrInfo::fn_expr, and get_call_expr_arg_stable().

Referenced by leadlag_common(), and window_nth_value().

{
    /*
     * can't return anything useful if we have no FmgrInfo or if its fn_expr
     * node has not been initialized
     */
    if (!flinfo || !flinfo->fn_expr)
        return false;

    return get_call_expr_arg_stable(flinfo->fn_expr, argnum);
}

Oid get_fn_expr_argtype ( FmgrInfo flinfo,
int  argnum 
)
Oid get_fn_expr_rettype ( FmgrInfo flinfo  ) 

Definition at line 2294 of file fmgr.c.

References exprType(), and FmgrInfo::fn_expr.

Referenced by do_compile(), init_sql_fcache(), range_constructor2(), and range_constructor3().

{
    Node       *expr;

    /*
     * can't return anything useful if we have no FmgrInfo or if its fn_expr
     * node has not been initialized
     */
    if (!flinfo || !flinfo->fn_expr)
        return InvalidOid;

    expr = flinfo->fn_expr;

    return exprType(expr);
}

bool get_fn_expr_variadic ( FmgrInfo flinfo  ) 

Definition at line 2456 of file fmgr.c.

References FmgrInfo::fn_expr, and IsA.

Referenced by concat_internal(), and text_format().

{
    Node       *expr;

    /*
     * can't return anything useful if we have no FmgrInfo or if its fn_expr
     * node has not been initialized
     */
    if (!flinfo || !flinfo->fn_expr)
        return false;

    expr = flinfo->fn_expr;

    if (IsA(expr, FuncExpr))
        return ((FuncExpr *) expr)->funcvariadic;
    else
        return false;
}

Datum InputFunctionCall ( FmgrInfo flinfo,
char *  str,
Oid  typioparam,
int32  typmod 
)

Definition at line 1896 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, CStringGetDatum, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FmgrInfo::fn_strict, FunctionCallInvoke, InitFunctionCallInfoData, Int32GetDatum, InvalidOid, FunctionCallInfoData::isnull, NULL, ObjectIdGetDatum, SPI_pop_conditional(), and SPI_push_conditional().

Referenced by BuildTupleFromCStrings(), domain_in(), exec_cast_value(), ExecEvalCoerceViaIO(), hstore_populate_record(), json_populate_record(), make_tuple_from_result_row(), NextCopyFrom(), OidInputFunctionCall(), plperl_sv_to_datum(), pltcl_func_handler(), pltcl_SPI_execute_plan(), pltcl_trigger_handler(), PLy_cursor_plan(), PLy_exec_function(), PLy_modify_tuple(), PLy_spi_execute_plan(), PLyObject_ToDatum(), populate_recordset_object_end(), range_in(), ReadArrayStr(), and record_in().

{
    FunctionCallInfoData fcinfo;
    Datum       result;
    bool        pushed;

    if (str == NULL && flinfo->fn_strict)
        return (Datum) 0;       /* just return null result */

    pushed = SPI_push_conditional();

    InitFunctionCallInfoData(fcinfo, flinfo, 3, InvalidOid, NULL, NULL);

    fcinfo.arg[0] = CStringGetDatum(str);
    fcinfo.arg[1] = ObjectIdGetDatum(typioparam);
    fcinfo.arg[2] = Int32GetDatum(typmod);
    fcinfo.argnull[0] = (str == NULL);
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Should get null result if and only if str is NULL */
    if (str == NULL)
    {
        if (!fcinfo.isnull)
            elog(ERROR, "input function %u returned non-NULL",
                 fcinfo.flinfo->fn_oid);
    }
    else
    {
        if (fcinfo.isnull)
            elog(ERROR, "input function %u returned NULL",
                 fcinfo.flinfo->fn_oid);
    }

    SPI_pop_conditional(pushed);

    return result;
}

PGFunction load_external_function ( char *  filename,
char *  funcname,
bool  signalNotFound,
void **  filehandle 
)

Definition at line 102 of file dfmgr.c.

References ereport, errcode(), errmsg(), ERROR, expand_dynamic_library_name(), internal_load_library(), NULL, pfree(), and pg_dlsym.

Referenced by fmgr_c_validator(), and fmgr_info_C_lang().

{
    char       *fullname;
    void       *lib_handle;
    PGFunction  retval;

    /* Expand the possibly-abbreviated filename to an exact path name */
    fullname = expand_dynamic_library_name(filename);

    /* Load the shared library, unless we already did */
    lib_handle = internal_load_library(fullname);

    /* Return handle if caller wants it */
    if (filehandle)
        *filehandle = lib_handle;

    /* Look up the function within the library */
    retval = (PGFunction) pg_dlsym(lib_handle, funcname);

    if (retval == NULL && signalNotFound)
        ereport(ERROR,
                (errcode(ERRCODE_UNDEFINED_FUNCTION),
                 errmsg("could not find function \"%s\" in file \"%s\"",
                        funcname, fullname)));

    pfree(fullname);
    return retval;
}

void load_file ( const char *  filename,
bool  restricted 
)

Definition at line 141 of file dfmgr.c.

References check_restricted_library_name(), expand_dynamic_library_name(), internal_load_library(), internal_unload_library(), and pfree().

Referenced by load_libraries(), standard_ProcessUtility(), and WalReceiverMain().

{
    char       *fullname;

    /* Apply security restriction if requested */
    if (restricted)
        check_restricted_library_name(filename);

    /* Expand the possibly-abbreviated filename to an exact path name */
    fullname = expand_dynamic_library_name(filename);

    /* Unload the library if currently loaded */
    internal_unload_library(fullname);

    /* Load the shared library */
    (void) internal_load_library(fullname);

    pfree(fullname);
}

PGFunction lookup_external_function ( void *  filehandle,
char *  funcname 
)

Definition at line 166 of file dfmgr.c.

References pg_dlsym.

Referenced by fetch_finfo_record().

{
    return (PGFunction) pg_dlsym(filehandle, funcname);
}

Datum OidFunctionCall0Coll ( Oid  functionId,
Oid  collation 
)

Definition at line 1566 of file fmgr.c.

References elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 0, collation, NULL, NULL);

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall1Coll ( Oid  functionId,
Oid  collation,
Datum  arg1 
)

Definition at line 1586 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by _hash_datum2hashkey_type().

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 1, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.argnull[0] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall2Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2 
)

Definition at line 1609 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by _bt_compare_scankey_args(), and index_recheck_constraint().

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 2, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall3Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3 
)

Definition at line 1634 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 3, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall4Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4 
)

Definition at line 1662 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by restriction_selectivity().

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 4, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall5Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5 
)

Definition at line 1692 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by join_selectivity().

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 5, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall6Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6 
)

Definition at line 1724 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 6, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall7Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7 
)

Definition at line 1759 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

Referenced by gincost_pattern().

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 7, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall8Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8 
)

Definition at line 1796 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 8, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidFunctionCall9Coll ( Oid  functionId,
Oid  collation,
Datum  arg1,
Datum  arg2,
Datum  arg3,
Datum  arg4,
Datum  arg5,
Datum  arg6,
Datum  arg7,
Datum  arg8,
Datum  arg9 
)

Definition at line 1835 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, fmgr_security_definer_cache::flinfo, fmgr_info(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, FunctionCallInfoData::isnull, and NULL.

{
    FmgrInfo    flinfo;
    FunctionCallInfoData fcinfo;
    Datum       result;

    fmgr_info(functionId, &flinfo);

    InitFunctionCallInfoData(fcinfo, &flinfo, 9, collation, NULL, NULL);

    fcinfo.arg[0] = arg1;
    fcinfo.arg[1] = arg2;
    fcinfo.arg[2] = arg3;
    fcinfo.arg[3] = arg4;
    fcinfo.arg[4] = arg5;
    fcinfo.arg[5] = arg6;
    fcinfo.arg[6] = arg7;
    fcinfo.arg[7] = arg8;
    fcinfo.arg[8] = arg9;
    fcinfo.argnull[0] = false;
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;
    fcinfo.argnull[3] = false;
    fcinfo.argnull[4] = false;
    fcinfo.argnull[5] = false;
    fcinfo.argnull[6] = false;
    fcinfo.argnull[7] = false;
    fcinfo.argnull[8] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Check for null result, since caller is clearly not expecting one */
    if (fcinfo.isnull)
        elog(ERROR, "function %u returned NULL", flinfo.fn_oid);

    return result;
}

Datum OidInputFunctionCall ( Oid  functionId,
char *  str,
Oid  typioparam,
int32  typmod 
)

Definition at line 2042 of file fmgr.c.

References fmgr_security_definer_cache::flinfo, fmgr_info(), and InputFunctionCall().

Referenced by DefineAggregate(), exec_bind_message(), get_typdefault(), GetAggInitVal(), InsertOneValue(), parse_fcall_arguments(), and stringTypeDatum().

{
    FmgrInfo    flinfo;

    fmgr_info(functionId, &flinfo);
    return InputFunctionCall(&flinfo, str, typioparam, typmod);
}

char* OidOutputFunctionCall ( Oid  functionId,
Datum  val 
)
Datum OidReceiveFunctionCall ( Oid  functionId,
fmStringInfo  buf,
Oid  typioparam,
int32  typmod 
)

Definition at line 2060 of file fmgr.c.

References fmgr_security_definer_cache::flinfo, fmgr_info(), and ReceiveFunctionCall().

Referenced by exec_bind_message(), parse_fcall_arguments(), and parse_fcall_arguments_20().

{
    FmgrInfo    flinfo;

    fmgr_info(functionId, &flinfo);
    return ReceiveFunctionCall(&flinfo, buf, typioparam, typmod);
}

bytea* OidSendFunctionCall ( Oid  functionId,
Datum  val 
)

Definition at line 2070 of file fmgr.c.

References fmgr_security_definer_cache::flinfo, fmgr_info(), and SendFunctionCall().

Referenced by SendFunctionResult().

{
    FmgrInfo    flinfo;

    fmgr_info(functionId, &flinfo);
    return SendFunctionCall(&flinfo, val);
}

char* OutputFunctionCall ( FmgrInfo flinfo,
Datum  val 
)
struct varlena* pg_detoast_datum ( struct varlena datum  )  [read]

Definition at line 2238 of file fmgr.c.

References heap_tuple_untoast_attr(), and VARATT_IS_EXTENDED.

{
    if (VARATT_IS_EXTENDED(datum))
        return heap_tuple_untoast_attr(datum);
    else
        return datum;
}

struct varlena* pg_detoast_datum_copy ( struct varlena datum  )  [read]

Definition at line 2247 of file fmgr.c.

References heap_tuple_untoast_attr(), palloc(), VARATT_IS_EXTENDED, and VARSIZE.

{
    if (VARATT_IS_EXTENDED(datum))
        return heap_tuple_untoast_attr(datum);
    else
    {
        /* Make a modifiable copy of the varlena object */
        Size        len = VARSIZE(datum);
        struct varlena *result = (struct varlena *) palloc(len);

        memcpy(result, datum, len);
        return result;
    }
}

struct varlena* pg_detoast_datum_packed ( struct varlena datum  )  [read]

Definition at line 2270 of file fmgr.c.

References heap_tuple_untoast_attr(), VARATT_IS_COMPRESSED, and VARATT_IS_EXTERNAL.

Referenced by text_to_cstring(), and text_to_cstring_buffer().

{
    if (VARATT_IS_COMPRESSED(datum) || VARATT_IS_EXTERNAL(datum))
        return heap_tuple_untoast_attr(datum);
    else
        return datum;
}

struct varlena* pg_detoast_datum_slice ( struct varlena datum,
int32  first,
int32  count 
) [read]

Definition at line 2263 of file fmgr.c.

References heap_tuple_untoast_attr_slice().

{
    /* Only get the specified portion from the toast rel */
    return heap_tuple_untoast_attr_slice(datum, first, count);
}

Datum ReceiveFunctionCall ( FmgrInfo flinfo,
fmStringInfo  buf,
Oid  typioparam,
int32  typmod 
)

Definition at line 1970 of file fmgr.c.

References FunctionCallInfoData::arg, FunctionCallInfoData::argnull, elog, ERROR, FunctionCallInfoData::flinfo, FmgrInfo::fn_oid, FmgrInfo::fn_strict, FunctionCallInvoke, InitFunctionCallInfoData, Int32GetDatum, InvalidOid, FunctionCallInfoData::isnull, NULL, ObjectIdGetDatum, PointerGetDatum, SPI_pop_conditional(), and SPI_push_conditional().

Referenced by CopyReadBinaryAttribute(), domain_recv(), OidReceiveFunctionCall(), range_recv(), ReadArrayBinary(), and record_recv().

{
    FunctionCallInfoData fcinfo;
    Datum       result;
    bool        pushed;

    if (buf == NULL && flinfo->fn_strict)
        return (Datum) 0;       /* just return null result */

    pushed = SPI_push_conditional();

    InitFunctionCallInfoData(fcinfo, flinfo, 3, InvalidOid, NULL, NULL);

    fcinfo.arg[0] = PointerGetDatum(buf);
    fcinfo.arg[1] = ObjectIdGetDatum(typioparam);
    fcinfo.arg[2] = Int32GetDatum(typmod);
    fcinfo.argnull[0] = (buf == NULL);
    fcinfo.argnull[1] = false;
    fcinfo.argnull[2] = false;

    result = FunctionCallInvoke(&fcinfo);

    /* Should get null result if and only if buf is NULL */
    if (buf == NULL)
    {
        if (!fcinfo.isnull)
            elog(ERROR, "receive function %u returned non-NULL",
                 fcinfo.flinfo->fn_oid);
    }
    else
    {
        if (fcinfo.isnull)
            elog(ERROR, "receive function %u returned NULL",
                 fcinfo.flinfo->fn_oid);
    }

    SPI_pop_conditional(pushed);

    return result;
}

bytea* SendFunctionCall ( FmgrInfo flinfo,
Datum  val 
)

Definition at line 2023 of file fmgr.c.

References DatumGetByteaP, FunctionCall1, SPI_pop_conditional(), and SPI_push_conditional().

Referenced by array_send(), CopyOneRowTo(), OidSendFunctionCall(), printtup(), printtup_internal_20(), range_send(), and record_send().

{
    bytea      *result;
    bool        pushed;

    pushed = SPI_push_conditional();

    result = DatumGetByteaP(FunctionCall1(flinfo, val));

    SPI_pop_conditional(pushed);

    return result;
}


Variable Documentation

Definition at line 72 of file dfmgr.c.

Referenced by find_in_dynamic_libpath().

Definition at line 37 of file fmgr.c.

Referenced by fmgr_security_definer(), and sepgsql_init_client_label().

Definition at line 36 of file fmgr.c.

Referenced by sepgsql_init_client_label().