MobilityDB 1.1
Data Structures | Macros | Typedefs | Enumerations | Functions
postgres.h File Reference
#include "c.h"
Include dependency graph for postgres.h:

Go to the source code of this file.

Data Structures

struct  NullableDatum
 
struct  varatt_expanded
 
struct  varatt_external
 
struct  varatt_indirect
 
struct  varattrib_1b
 
struct  varattrib_1b_e
 
union  varattrib_4b
 

Macros

#define BoolGetDatum(X)   ((Datum) ((X) ? 1 : 0))
 
#define CharGetDatum(X)   ((Datum) (X))
 
#define CommandIdGetDatum(X)   ((Datum) (X))
 
#define CStringGetDatum(X)   PointerGetDatum(X)
 
#define DatumGetBool(X)   ((bool) ((X) != 0))
 
#define DatumGetChar(X)   ((char) (X))
 
#define DatumGetCommandId(X)   ((CommandId) (X))
 
#define DatumGetCString(X)   ((char *) DatumGetPointer(X))
 
#define DatumGetInt16(X)   ((int16) (X))
 
#define DatumGetInt32(X)   ((int32) (X))
 
#define DatumGetInt64(X)   ((int64) (X))
 
#define DatumGetName(X)   ((Name) DatumGetPointer(X))
 
#define DatumGetObjectId(X)   ((Oid) (X))
 
#define DatumGetPointer(X)   ((Pointer) (X))
 
#define DatumGetTransactionId(X)   ((TransactionId) (X))
 
#define DatumGetUInt16(X)   ((uint16) (X))
 
#define DatumGetUInt32(X)   ((uint32) (X))
 
#define DatumGetUInt64(X)   ((uint64) (X))
 
#define DatumGetUInt8(X)   ((uint8) (X))
 
#define elog(error, ...)
 
#define ERROR
 
#define EXIT_FAILURE   1
 
#define FIELDNO_NULLABLE_DATUM_DATUM   0
 
#define FIELDNO_NULLABLE_DATUM_ISNULL   1
 
#define Float8GetDatumFast(X)   Float8GetDatum(X)
 
#define Int16GetDatum(X)   ((Datum) (X))
 
#define Int32GetDatum(X)   ((Datum) (X))
 
#define Int64GetDatum(X)   ((Datum) (X))
 
#define Int64GetDatumFast(X)   Int64GetDatum(X)
 
#define Int8GetDatum(X)   ((Datum) (X))
 
#define MultiXactIdGetDatum(X)   ((Datum) (X))
 
#define NameGetDatum(X)   CStringGetDatum(NameStr(*(X)))
 
#define NOTICE
 
#define ObjectIdGetDatum(X)   ((Datum) (X))
 
#define palloc   malloc
 
#define palloc0(X)   (calloc(1, X))
 
#define pfree   free
 
#define PointerGetDatum(X)   ((Datum) (X))
 
#define pstrdup   strdup
 
#define repalloc   realloc
 
#define SET_VARSIZE(PTR, len)   SET_VARSIZE_4B(PTR, len)
 
#define SET_VARSIZE_1B(PTR, len)    (((varattrib_1b *) (PTR))->va_header = (((uint8) (len)) << 1) | 0x01)
 
#define SET_VARSIZE_4B(PTR, len)    (((varattrib_4b *) (PTR))->va_4byte.va_header = (((uint32) (len)) << 2))
 
#define SET_VARSIZE_4B_C(PTR, len)    (((varattrib_4b *) (PTR))->va_4byte.va_header = (((uint32) (len)) << 2) | 0x02)
 
#define SET_VARSIZE_COMPRESSED(PTR, len)   SET_VARSIZE_4B_C(PTR, len)
 
#define SET_VARSIZE_SHORT(PTR, len)   SET_VARSIZE_1B(PTR, len)
 
#define SET_VARTAG_1B_E(PTR, tag)
 
#define SET_VARTAG_EXTERNAL(PTR, tag)   SET_VARTAG_1B_E(PTR, tag)
 
#define SIZEOF_DATUM   SIZEOF_VOID_P
 
#define TransactionIdGetDatum(X)   ((Datum) (X))
 
#define UInt16GetDatum(X)   ((Datum) (X))
 
#define UInt32GetDatum(X)   ((Datum) (X))
 
#define UInt64GetDatum(X)   ((Datum) (X))
 
#define UInt8GetDatum(X)   ((Datum) (X))
 
#define VARATT_CAN_MAKE_SHORT(PTR)
 
#define VARATT_CONVERTED_SHORT_SIZE(PTR)    (VARSIZE(PTR) - VARHDRSZ + VARHDRSZ_SHORT)
 
#define VARATT_EXTERNAL_GET_COMPRESS_METHOD(toast_pointer)    ((toast_pointer).va_extinfo >> VARLENA_EXTSIZE_BITS)
 
#define VARATT_EXTERNAL_GET_EXTSIZE(toast_pointer)    ((toast_pointer).va_extinfo & VARLENA_EXTSIZE_MASK)
 
#define VARATT_EXTERNAL_IS_COMPRESSED(toast_pointer)
 
#define VARATT_EXTERNAL_SET_SIZE_AND_COMPRESS_METHOD(toast_pointer, len, cm)
 
#define VARATT_IS_1B(PTR)    ((((varattrib_1b *) (PTR))->va_header & 0x01) == 0x01)
 
#define VARATT_IS_1B_E(PTR)    ((((varattrib_1b *) (PTR))->va_header) == 0x01)
 
#define VARATT_IS_4B(PTR)    ((((varattrib_1b *) (PTR))->va_header & 0x01) == 0x00)
 
#define VARATT_IS_4B_C(PTR)    ((((varattrib_1b *) (PTR))->va_header & 0x03) == 0x02)
 
#define VARATT_IS_4B_U(PTR)    ((((varattrib_1b *) (PTR))->va_header & 0x03) == 0x00)
 
#define VARATT_IS_COMPRESSED(PTR)   VARATT_IS_4B_C(PTR)
 
#define VARATT_IS_EXTENDED(PTR)   (!VARATT_IS_4B_U(PTR))
 
#define VARATT_IS_EXTERNAL(PTR)   VARATT_IS_1B_E(PTR)
 
#define VARATT_IS_EXTERNAL_EXPANDED(PTR)    (VARATT_IS_EXTERNAL(PTR) && VARTAG_IS_EXPANDED(VARTAG_EXTERNAL(PTR)))
 
#define VARATT_IS_EXTERNAL_EXPANDED_RO(PTR)    (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_EXPANDED_RO)
 
#define VARATT_IS_EXTERNAL_EXPANDED_RW(PTR)    (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_EXPANDED_RW)
 
#define VARATT_IS_EXTERNAL_INDIRECT(PTR)    (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_INDIRECT)
 
#define VARATT_IS_EXTERNAL_NON_EXPANDED(PTR)    (VARATT_IS_EXTERNAL(PTR) && !VARTAG_IS_EXPANDED(VARTAG_EXTERNAL(PTR)))
 
#define VARATT_IS_EXTERNAL_ONDISK(PTR)    (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_ONDISK)
 
#define VARATT_IS_SHORT(PTR)   VARATT_IS_1B(PTR)
 
#define VARATT_NOT_PAD_BYTE(PTR)    (*((uint8 *) (PTR)) != 0)
 
#define VARATT_SHORT_MAX   0x7F
 
#define VARDATA(PTR)   VARDATA_4B(PTR)
 
#define VARDATA_1B(PTR)   (((varattrib_1b *) (PTR))->va_data)
 
#define VARDATA_1B_E(PTR)   (((varattrib_1b_e *) (PTR))->va_data)
 
#define VARDATA_4B(PTR)   (((varattrib_4b *) (PTR))->va_4byte.va_data)
 
#define VARDATA_4B_C(PTR)   (((varattrib_4b *) (PTR))->va_compressed.va_data)
 
#define VARDATA_ANY(PTR)    (VARATT_IS_1B(PTR) ? VARDATA_1B(PTR) : VARDATA_4B(PTR))
 
#define VARDATA_COMPRESSED_GET_COMPRESS_METHOD(PTR)    (((varattrib_4b *) (PTR))->va_compressed.va_tcinfo >> VARLENA_EXTSIZE_BITS)
 
#define VARDATA_COMPRESSED_GET_EXTSIZE(PTR)    (((varattrib_4b *) (PTR))->va_compressed.va_tcinfo & VARLENA_EXTSIZE_MASK)
 
#define VARDATA_EXTERNAL(PTR)   VARDATA_1B_E(PTR)
 
#define VARDATA_SHORT(PTR)   VARDATA_1B(PTR)
 
#define VARHDRSZ_COMPRESSED   offsetof(varattrib_4b, va_compressed.va_data)
 
#define VARHDRSZ_EXTERNAL   offsetof(varattrib_1b_e, va_data)
 
#define VARHDRSZ_SHORT   offsetof(varattrib_1b, va_data)
 
#define VARLENA_EXTSIZE_BITS   30
 
#define VARLENA_EXTSIZE_MASK   ((1U << VARLENA_EXTSIZE_BITS) - 1)
 
#define VARSIZE(PTR)   VARSIZE_4B(PTR)
 
#define VARSIZE_1B(PTR)    ((((varattrib_1b *) (PTR))->va_header >> 1) & 0x7F)
 
#define VARSIZE_4B(PTR)    ((((varattrib_4b *) (PTR))->va_4byte.va_header >> 2) & 0x3FFFFFFF)
 
#define VARSIZE_ANY(PTR)
 
#define VARSIZE_ANY_EXHDR(PTR)
 
#define VARSIZE_EXTERNAL(PTR)   (VARHDRSZ_EXTERNAL + VARTAG_SIZE(VARTAG_EXTERNAL(PTR)))
 
#define VARSIZE_SHORT(PTR)   VARSIZE_1B(PTR)
 
#define VARTAG_1B_E(PTR)    (((varattrib_1b_e *) (PTR))->va_tag)
 
#define VARTAG_EXTERNAL(PTR)   VARTAG_1B_E(PTR)
 
#define VARTAG_IS_EXPANDED(tag)    (((tag) & ~1) == VARTAG_EXPANDED_RO)
 
#define VARTAG_SIZE(tag)
 
#define WARNING
 

Typedefs

typedef uintptr_t Datum
 
typedef struct ExpandedObjectHeader ExpandedObjectHeader
 
typedef struct NullableDatum NullableDatum
 
typedef struct varatt_expanded varatt_expanded
 
typedef struct varatt_external varatt_external
 
typedef struct varatt_indirect varatt_indirect
 
typedef enum vartag_external vartag_external
 

Enumerations

enum  vartag_external { VARTAG_INDIRECT = 1 , VARTAG_EXPANDED_RO = 2 , VARTAG_EXPANDED_RW = 3 , VARTAG_ONDISK = 18 }
 

Functions

static float4 DatumGetFloat4 (Datum X)
 
static float8 DatumGetFloat8 (Datum X)
 
static Datum Float4GetDatum (float4 X)
 
static Datum Float8GetDatum (float8 X)