aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/cache/rel.c
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1996-07-09 06:22:35 +0000
committerMarc G. Fournier <scrappy@hub.org>1996-07-09 06:22:35 +0000
commitd31084e9d1118b25fd16580d9d8c2924b5740dff (patch)
tree3179e66307d54df9c7b966543550e601eb55e668 /src/backend/utils/cache/rel.c
downloadpostgresql-PG95-1_01.tar.gz
postgresql-PG95-1_01.zip
Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01
Diffstat (limited to 'src/backend/utils/cache/rel.c')
-rw-r--r--src/backend/utils/cache/rel.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/backend/utils/cache/rel.c b/src/backend/utils/cache/rel.c
new file mode 100644
index 00000000000..33eabad1a85
--- /dev/null
+++ b/src/backend/utils/cache/rel.c
@@ -0,0 +1,77 @@
+/*-------------------------------------------------------------------------
+ *
+ * rel.c--
+ * POSTGRES relation descriptor code.
+ *
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/rel.c,v 1.1.1.1 1996/07/09 06:22:06 scrappy Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+/* #define RELREFDEBUG 1 */
+
+#include "postgres.h"
+#include "miscadmin.h"
+#include "access/istrat.h"
+#include "access/tupdesc.h"
+#include "utils/rel.h"
+#include "storage/fd.h"
+
+
+/*
+ * RelationIsValid is now a macro in rel.h -cim 4/27/91
+ *
+ * Many of the RelationGet...() functions are now macros in rel.h
+ * -mer 3/2/92
+ */
+
+/*
+ * RelationGetIndexStrategy --
+ * Returns index strategy for a relation.
+ *
+ * Note:
+ * Assumes relation descriptor is valid.
+ * Assumes relation descriptor is for an index relation.
+ */
+IndexStrategy
+RelationGetIndexStrategy(Relation relation)
+{
+ return relation->rd_istrat;
+}
+
+/*
+ * RelationSetIndexSupport --
+ * Sets index strategy and support info for a relation.
+ *
+ * Note:
+ * Assumes relation descriptor is a valid pointer to sufficient space.
+ * Assumes index strategy is valid. Assumes support is valid if non-
+ * NULL.
+ */
+/* ----------------
+ * RelationSetIndexSupport
+ *
+ * This routine saves two pointers -- one to the IndexStrategy, and
+ * one to the RegProcs that support the indexed access method. These
+ * pointers are stored in the space following the attribute data in the
+ * reldesc.
+ *
+ * NEW: the index strategy and support are now stored in real fields
+ * at the end of the structure - jolly
+ * ----------------
+ */
+void
+RelationSetIndexSupport(Relation relation,
+ IndexStrategy strategy,
+ RegProcedure *support)
+{
+ Assert(PointerIsValid(relation));
+ Assert(IndexStrategyIsValid(strategy));
+
+ relation->rd_istrat = strategy;
+ relation->rd_support = support;
+}
+