diff options
Diffstat (limited to 'src/backend/utils/cache/syscache.c')
-rw-r--r-- | src/backend/utils/cache/syscache.c | 60 |
1 files changed, 36 insertions, 24 deletions
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)]; |