From 74f418eb9aeecbb34d004aae44e96df037f2dc25 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 24 Nov 1999 16:52:50 +0000 Subject: Add pg_statistic index, add missing Hiroshi file. --- src/backend/utils/cache/syscache.c | 60 +++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 24 deletions(-) (limited to 'src/backend/utils/cache/syscache.c') diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index e14f27da8c9..d3e0648695d 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.42 1999/11/24 00:58:48 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.43 1999/11/24 16:52:38 momjian Exp $ * * NOTES * These routines allow the parser/planner/executor to perform @@ -66,7 +66,8 @@ typedef HeapTuple (*ScanFunc) (); lookups return only one row, so the index should be unique. In backend/catalog/indexing.c, initialize the relation array with - the index names for the relation, and create the index lookup function. + the index names for the relation, fixed size of relation (or marking + first non-fixed length field), and create the index lookup function. Pick one that takes similar arguments and use that one, but keep the function names in the same order as the cache list for clarity. @@ -333,52 +334,63 @@ static struct cachedesc cacheinfo[] = { offsetof(FormData_pg_rewrite, ev_qual), RewriteOidIndex, RewriteOidIndexScan}, - {TypeRelationName, /* TYPENAME */ + {ShadowRelationName, /* SHADOWNAME */ 1, { - Anum_pg_type_typname, + Anum_pg_shadow_usename, 0, 0, 0 }, - offsetof(FormData_pg_type, typalign) +sizeof(char), - TypeNameIndex, - TypeNameIndexScan}, - {TypeRelationName, /* TYPEOID */ + sizeof(FormData_pg_shadow), +NULL,NULL +/* ShadowNameIndex, + ShadowNameIndexScan*/}, + {ShadowRelationName, /* SHADOWSYSID */ 1, { - ObjectIdAttributeNumber, + Anum_pg_shadow_usesysid, 0, 0, 0 }, - offsetof(FormData_pg_type, typalign) +sizeof(char), - TypeOidIndex, - TypeOidIndexScan}, - {ShadowRelationName, /* USERNAME */ + sizeof(FormData_pg_shadow), +NULL,NULL +/* ShadowSysidIndex, + ShadowSysidIndexScan*/}, + {StatisticRelationName, /* STATRELID */ + 3, + { + Anum_pg_statistic_starelid, + Anum_pg_statistic_staattnum, + Anum_pg_statistic_staop, + 0 + }, + offsetof(FormData_pg_statistic, stacommonval), + StatisticRelidAttnumOpIndex, + StatisticRelidAttnumOpIndexScan}, + {TypeRelationName, /* TYPENAME */ 1, { - Anum_pg_shadow_usename, + Anum_pg_type_typname, 0, 0, 0 }, - sizeof(FormData_pg_shadow), -NULL,NULL -/* ShadowNameIndex, - ShadowNameIndexScan*/}, - {ShadowRelationName, /* USERSYSID */ + offsetof(FormData_pg_type, typalign) +sizeof(char), + TypeNameIndex, + TypeNameIndexScan}, + {TypeRelationName, /* TYPEOID */ 1, { - Anum_pg_shadow_usesysid, + ObjectIdAttributeNumber, 0, 0, 0 }, - sizeof(FormData_pg_shadow), -NULL,NULL -/* ShadowSysidIndex, - ShadowSysidIndexScan*/} + offsetof(FormData_pg_type, typalign) +sizeof(char), + TypeOidIndex, + TypeOidIndexScan} }; static struct catcache *SysCache[lengthof(cacheinfo)]; -- cgit v1.2.3