Header And Logo

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

Data Structures | Defines | Typedefs

itemid.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ItemIdData

Defines

#define LP_UNUSED   0
#define LP_NORMAL   1
#define LP_REDIRECT   2
#define LP_DEAD   3
#define ItemIdGetLength(itemId)   ((itemId)->lp_len)
#define ItemIdGetOffset(itemId)   ((itemId)->lp_off)
#define ItemIdGetFlags(itemId)   ((itemId)->lp_flags)
#define ItemIdGetRedirect(itemId)   ((itemId)->lp_off)
#define ItemIdIsValid(itemId)   PointerIsValid(itemId)
#define ItemIdIsUsed(itemId)   ((itemId)->lp_flags != LP_UNUSED)
#define ItemIdIsNormal(itemId)   ((itemId)->lp_flags == LP_NORMAL)
#define ItemIdIsRedirected(itemId)   ((itemId)->lp_flags == LP_REDIRECT)
#define ItemIdIsDead(itemId)   ((itemId)->lp_flags == LP_DEAD)
#define ItemIdHasStorage(itemId)   ((itemId)->lp_len != 0)
#define ItemIdSetUnused(itemId)
#define ItemIdSetNormal(itemId, off, len)
#define ItemIdSetRedirect(itemId, link)
#define ItemIdSetDead(itemId)
#define ItemIdMarkDead(itemId)

Typedefs

typedef struct ItemIdData ItemIdData
typedef ItemIdDataItemId
typedef uint16 ItemOffset
typedef uint16 ItemLength

Define Documentation

#define ItemIdGetFlags (   itemId  )     ((itemId)->lp_flags)

Definition at line 70 of file itemid.h.

Referenced by heap_page_items().

#define ItemIdGetLength (   itemId  )     ((itemId)->lp_len)
#define ItemIdGetOffset (   itemId  )     ((itemId)->lp_off)
#define ItemIdGetRedirect (   itemId  )     ((itemId)->lp_off)
#define ItemIdHasStorage (   itemId  )     ((itemId)->lp_len != 0)
#define ItemIdIsDead (   itemId  )     ((itemId)->lp_flags == LP_DEAD)
#define ItemIdIsNormal (   itemId  )     ((itemId)->lp_flags == LP_NORMAL)
#define ItemIdIsRedirected (   itemId  )     ((itemId)->lp_flags == LP_REDIRECT)
#define ItemIdIsUsed (   itemId  )     ((itemId)->lp_flags != LP_UNUSED)
#define ItemIdIsValid (   itemId  )     PointerIsValid(itemId)

Definition at line 85 of file itemid.h.

Referenced by bt_page_items().

#define ItemIdMarkDead (   itemId  ) 
Value:
( \
    (itemId)->lp_flags = LP_DEAD \
)

Definition at line 178 of file itemid.h.

Referenced by _bt_check_unique(), _bt_killitems(), and hashgettuple().

#define ItemIdSetDead (   itemId  ) 
Value:
( \
    (itemId)->lp_flags = LP_DEAD, \
    (itemId)->lp_off = 0, \
    (itemId)->lp_len = 0 \
)

Definition at line 163 of file itemid.h.

Referenced by heap_page_prune_execute().

#define ItemIdSetNormal (   itemId,
  off,
  len 
)
Value:
( \
    (itemId)->lp_flags = LP_NORMAL, \
    (itemId)->lp_off = (off), \
    (itemId)->lp_len = (len) \
)

Definition at line 139 of file itemid.h.

Referenced by PageAddItem().

#define ItemIdSetRedirect (   itemId,
  link 
)
Value:
( \
    (itemId)->lp_flags = LP_REDIRECT, \
    (itemId)->lp_off = (link), \
    (itemId)->lp_len = 0 \
)

Definition at line 151 of file itemid.h.

Referenced by heap_page_prune_execute().

#define ItemIdSetUnused (   itemId  ) 
Value:
( \
    (itemId)->lp_flags = LP_UNUSED, \
    (itemId)->lp_off = 0, \
    (itemId)->lp_len = 0 \
)

Definition at line 127 of file itemid.h.

Referenced by _bt_buildadd(), heap_page_prune_execute(), lazy_vacuum_page(), and PageRepairFragmentation().

#define LP_DEAD   3

Definition at line 40 of file itemid.h.

#define LP_NORMAL   1

Definition at line 38 of file itemid.h.

#define LP_REDIRECT   2

Definition at line 39 of file itemid.h.

#define LP_UNUSED   0

Definition at line 37 of file itemid.h.


Typedef Documentation

typedef ItemIdData* ItemId

Definition at line 31 of file itemid.h.

typedef struct ItemIdData ItemIdData
typedef uint16 ItemLength

Definition at line 47 of file itemid.h.

typedef uint16 ItemOffset

Definition at line 46 of file itemid.h.