diff options
Diffstat (limited to 'src/include/utils/rel.h')
-rw-r--r-- | src/include/utils/rel.h | 155 |
1 files changed, 80 insertions, 75 deletions
diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index 19f9ab138d2..31dcb7401ab 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -1,16 +1,16 @@ /*------------------------------------------------------------------------- * * rel.h-- - * POSTGRES relation descriptor definitions. + * POSTGRES relation descriptor definitions. * * * Copyright (c) 1994, Regents of the University of California * - * $Id: rel.h,v 1.9 1997/09/04 13:26:45 vadim Exp $ + * $Id: rel.h,v 1.10 1997/09/07 05:02:54 momjian Exp $ * *------------------------------------------------------------------------- */ -#ifndef REL_H +#ifndef REL_H #define REL_H #include <catalog/pg_am.h> @@ -20,134 +20,137 @@ #include <rewrite/prs2lock.h> #include <storage/fd.h> -typedef struct Trigger { - char *tgname; - Oid tgfoid; - func_ptr tgfunc; - int16 tgtype; - int16 tgnargs; - int16 tgattr[8]; - char **tgargs; -} Trigger; - -typedef struct TriggerDesc { - uint16 n_before_statement[4]; - uint16 n_before_row[4]; - uint16 n_after_row[4]; - uint16 n_after_statement[4]; - Trigger **tg_before_statement[4]; - Trigger **tg_before_row[4]; - Trigger **tg_after_row[4]; - Trigger **tg_after_statement[4]; - Trigger *triggers; -} TriggerDesc; - -typedef struct RelationData { - File rd_fd; /* open file descriptor */ - int rd_nblocks; /* number of blocks in rel */ - uint16 rd_refcnt; /* reference count */ - bool rd_islocal; /* uses the local buffer mgr */ - bool rd_isnailed; /* rel is nailed in cache */ - bool rd_istemp; /* rel is a temp rel */ - bool rd_tmpunlinked; /* temp rel already unlinked */ - Form_pg_am rd_am; /* AM tuple */ - Form_pg_class rd_rel; /* RELATION tuple */ - Oid rd_id; /* relations's object id */ - Pointer lockInfo; /* ptr. to misc. info. */ - TupleDesc rd_att; /* tuple desciptor */ - RuleLock *rd_rules; /* rewrite rules */ - IndexStrategy rd_istrat; - RegProcedure* rd_support; - TriggerDesc *trigdesc; -} RelationData; - -typedef RelationData *Relation; +typedef struct Trigger +{ + char *tgname; + Oid tgfoid; + func_ptr tgfunc; + int16 tgtype; + int16 tgnargs; + int16 tgattr[8]; + char **tgargs; +} Trigger; + +typedef struct TriggerDesc +{ + uint16 n_before_statement[4]; + uint16 n_before_row[4]; + uint16 n_after_row[4]; + uint16 n_after_statement[4]; + Trigger **tg_before_statement[4]; + Trigger **tg_before_row[4]; + Trigger **tg_after_row[4]; + Trigger **tg_after_statement[4]; + Trigger *triggers; +} TriggerDesc; + +typedef struct RelationData +{ + File rd_fd; /* open file descriptor */ + int rd_nblocks; /* number of blocks in rel */ + uint16 rd_refcnt; /* reference count */ + bool rd_islocal; /* uses the local buffer mgr */ + bool rd_isnailed;/* rel is nailed in cache */ + bool rd_istemp; /* rel is a temp rel */ + bool rd_tmpunlinked; /* temp rel already unlinked */ + Form_pg_am rd_am; /* AM tuple */ + Form_pg_class rd_rel; /* RELATION tuple */ + Oid rd_id; /* relations's object id */ + Pointer lockInfo; /* ptr. to misc. info. */ + TupleDesc rd_att; /* tuple desciptor */ + RuleLock *rd_rules; /* rewrite rules */ + IndexStrategy rd_istrat; + RegProcedure *rd_support; + TriggerDesc *trigdesc; +} RelationData; + +typedef RelationData *Relation; /* ---------------- - * RelationPtr is used in the executor to support index scans - * where we have to keep track of several index relations in an - * array. -cim 9/10/89 + * RelationPtr is used in the executor to support index scans + * where we have to keep track of several index relations in an + * array. -cim 9/10/89 * ---------------- */ -typedef Relation *RelationPtr; +typedef Relation *RelationPtr; -#define InvalidRelation ((Relation)NULL) +#define InvalidRelation ((Relation)NULL) typedef char ArchiveMode; /* * RelationIsValid -- - * True iff relation descriptor is valid. + * True iff relation descriptor is valid. */ -#define RelationIsValid(relation) PointerIsValid(relation) +#define RelationIsValid(relation) PointerIsValid(relation) /* * RelationGetSystemPort -- - * Returns system port of a relation. + * Returns system port of a relation. * * Note: - * Assumes relation descriptor is valid. + * Assumes relation descriptor is valid. */ #define RelationGetSystemPort(relation) ((relation)->rd_fd) /* * RelationGetLockInfo -- - * Returns the lock information structure in the reldesc + * Returns the lock information structure in the reldesc * */ #define RelationGetLockInfo(relation) ((relation)->lockInfo) /* * RelationHasReferenceCountZero -- - * True iff relation reference count is zero. + * True iff relation reference count is zero. * * Note: - * Assumes relation descriptor is valid. + * Assumes relation descriptor is valid. */ #define RelationHasReferenceCountZero(relation) \ - ((bool)((relation)->rd_refcnt == 0)) + ((bool)((relation)->rd_refcnt == 0)) /* * RelationSetReferenceCount -- - * Sets relation reference count. + * Sets relation reference count. */ #define RelationSetReferenceCount(relation,count) ((relation)->rd_refcnt = count) /* * RelationIncrementReferenceCount -- - * Increments relation reference count. + * Increments relation reference count. */ #define RelationIncrementReferenceCount(relation) ((relation)->rd_refcnt += 1); /* * RelationDecrementReferenceCount -- - * Decrements relation reference count. + * Decrements relation reference count. */ #define RelationDecrementReferenceCount(relation) ((relation)->rd_refcnt -= 1) /* * RelationGetAccessMethodTupleForm -- - * Returns access method attribute values for a relation. + * Returns access method attribute values for a relation. * * Note: - * Assumes relation descriptor is valid. + * Assumes relation descriptor is valid. */ #define RelationGetAccessMethodTupleForm(relation) ((relation)->rd_am) /* * RelationGetRelationTupleForm -- - * Returns relation attribute values for a relation. + * Returns relation attribute values for a relation. * * Note: - * Assumes relation descriptor is valid. + * Assumes relation descriptor is valid. */ #define RelationGetRelationTupleForm(relation) ((relation)->rd_rel) -/* +/* * RelationGetRelationId -- * - * returns the object id of the relation + * returns the object id of the relation * */ #define RelationGetRelationId(relation) ((relation)->rd_id) @@ -155,7 +158,7 @@ typedef char ArchiveMode; /* * RelationGetFile -- * - * Returns the open File decscriptor + * Returns the open File decscriptor */ #define RelationGetFile(relation) ((relation)->rd_fd) @@ -163,28 +166,30 @@ typedef char ArchiveMode; /* * RelationGetRelationName -- * - * Returns a Relation Name + * Returns a Relation Name */ #define RelationGetRelationName(relation) (&(relation)->rd_rel->relname) /* * RelationGetRelationName -- * - * Returns a the number of attributes. + * Returns a the number of attributes. */ #define RelationGetNumberOfAttributes(relation) ((relation)->rd_rel->relnatts) /* * RelationGetTupleDescriptor -- - * Returns tuple descriptor for a relation. + * Returns tuple descriptor for a relation. * * Note: - * Assumes relation descriptor is valid. + * Assumes relation descriptor is valid. */ #define RelationGetTupleDescriptor(relation) ((relation)->rd_att) extern IndexStrategy RelationGetIndexStrategy(Relation relation); -extern void RelationSetIndexSupport(Relation relation, IndexStrategy strategy, - RegProcedure *support); -#endif /* REL_H */ +extern void +RelationSetIndexSupport(Relation relation, IndexStrategy strategy, + RegProcedure * support); + +#endif /* REL_H */ |