summaryrefslogtreecommitdiff
path: root/src/include/utils/syscache.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-12-23 00:43:13 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-12-23 00:43:13 +0000
commita78fcfb5124379532ce35f3076679f04bd987d60 (patch)
tree345204410d4f015a9d20ff55ecc38de3d371c459 /src/include/utils/syscache.h
parentd31ccb6c3e73901c44865bfce3f5dd20774f7a89 (diff)
Restructure operator classes to allow improved handling of cross-data-type
cases. Operator classes now exist within "operator families". While most families are equivalent to a single class, related classes can be grouped into one family to represent the fact that they are semantically compatible. Cross-type operators are now naturally adjunct parts of a family, without having to wedge them into a particular opclass as we had done originally. This commit restructures the catalogs and cleans up enough of the fallout so that everything still works at least as well as before, but most of the work needed to actually improve the planner's behavior will come later. Also, there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way to create a new family right now is to allow CREATE OPERATOR CLASS to make one by default. I owe some more documentation work, too. But that can all be done in smaller pieces once this infrastructure is in place.
Diffstat (limited to 'src/include/utils/syscache.h')
-rw-r--r--src/include/utils/syscache.h33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h
index 5c84c7e17ca..2305ccd1d03 100644
--- a/src/include/utils/syscache.h
+++ b/src/include/utils/syscache.h
@@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/utils/syscache.h,v 1.65 2006/07/13 18:01:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/syscache.h,v 1.66 2006/12/23 00:43:13 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -48,21 +48,22 @@
#define CONOID 17
#define DATABASEOID 18
#define INDEXRELID 19
-#define INHRELID 20
-#define LANGNAME 21
-#define LANGOID 22
-#define NAMESPACENAME 23
-#define NAMESPACEOID 24
-#define OPERNAMENSP 25
-#define OPEROID 26
-#define PROCNAMEARGSNSP 27
-#define PROCOID 28
-#define RELNAMENSP 29
-#define RELOID 30
-#define RULERELNAME 31
-#define STATRELATT 32
-#define TYPENAMENSP 33
-#define TYPEOID 34
+#define LANGNAME 20
+#define LANGOID 21
+#define NAMESPACENAME 22
+#define NAMESPACEOID 23
+#define OPERNAMENSP 24
+#define OPEROID 25
+#define OPFAMILYAMNAMENSP 26
+#define OPFAMILYOID 27
+#define PROCNAMEARGSNSP 28
+#define PROCOID 29
+#define RELNAMENSP 30
+#define RELOID 31
+#define RULERELNAME 32
+#define STATRELATT 33
+#define TYPENAMENSP 34
+#define TYPEOID 35
extern void InitCatalogCache(void);
extern void InitCatalogCachePhase2(void);