aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/rel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/rel.h')
-rw-r--r--src/include/utils/rel.h155
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 */