PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
relptr.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define relptr(type)   union { type *relptr_type; Size relptr_off; }
 
#define relptr_declare(type, relptrtype)   typedef relptr(type) relptrtype
 
#define relptr_access(base, rp)
 
#define relptr_is_null(rp)   ((rp).relptr_off == 0)
 
#define relptr_store(base, rp, val)
 
#define relptr_copy(rp1, rp2)   ((rp1).relptr_off = (rp2).relptr_off)
 

Macro Definition Documentation

#define relptr (   type)    union { type *relptr_type; Size relptr_off; }

Definition at line 29 of file relptr.h.

#define relptr_copy (   rp1,
  rp2 
)    ((rp1).relptr_off = (rp2).relptr_off)
#define relptr_declare (   type,
  relptrtype 
)    typedef relptr(type) relptrtype

Definition at line 38 of file relptr.h.

#define relptr_is_null (   rp)    ((rp).relptr_off == 0)
#define relptr_store (   base,
  rp,
  val 
)
Value:
(AssertVariableIsOfTypeMacro(base, char *), \
(rp).relptr_off = ((val) == NULL ? 0 : ((char *) (val)) - (base)))
#define AssertVariableIsOfTypeMacro(varname, typename)
Definition: c.h:782
#define NULL
Definition: c.h:226
long val
Definition: informix.c:689

Definition at line 69 of file relptr.h.

Referenced by FreePageBtreeCleanup(), FreePageBtreeGetRecycled(), FreePageBtreeInsertInternal(), FreePageBtreeRecycle(), FreePageBtreeRemovePage(), FreePageBtreeUpdateParentPointers(), FreePageManagerInitialize(), FreePageManagerPutInternal(), and FreePagePushSpanLeader().