head 1.23; access; symbols release_4_2:1.23 aix_ok:1.22 Version_2_1:1.13 Version_2:1.7 C_Demo_1:1.4; locks; strict; comment @ * @; 1.23 date 93.11.03.04.14.48; author aoki; state Exp; branches; next 1.22; 1.22 date 93.09.26.00.20.08; author paxson; state Exp; branches; next 1.21; 1.21 date 92.12.19.01.38.45; author aoki; state Exp; branches; next 1.20; 1.20 date 92.12.16.02.55.34; author aoki; state Exp; branches; next 1.19; 1.19 date 92.03.02.21.25.53; author mer; state Exp; branches; next 1.18; 1.18 date 92.02.25.15.28.02; author clarsen; state Exp; branches; next 1.17; 1.17 date 91.12.04.01.58.53; author glass; state Exp; branches; next 1.16; 1.16 date 91.11.18.16.53.21; author clarsen; state Exp; branches; next 1.15; 1.15 date 91.11.11.15.58.24; author mer; state Exp; branches; next 1.14; 1.14 date 91.08.15.17.43.15; author caetta; state Exp; branches; next 1.13; 1.13 date 91.02.24.12.34.08; author sp; state Exp; branches; next 1.12; 1.12 date 91.02.06.18.18.01; author cimarron; state Exp; branches; next 1.11; 1.11 date 90.08.18.00.40.16; author cimarron; state Exp; branches; next 1.10; 1.10 date 90.08.17.08.52.23; author cimarron; state Exp; branches; next 1.9; 1.9 date 90.08.13.19.32.11; author sp; state Exp; branches; next 1.8; 1.8 date 90.08.08.16.54.07; author cimarron; state Exp; branches; next 1.7; 1.7 date 90.04.18.15.23.05; author goh; state Version_2; branches; next 1.6; 1.6 date 90.01.11.17.32.18; author sp; state Exp; branches; next 1.5; 1.5 date 89.10.12.14.55.21; author hirohama; state Exp; branches; next 1.4; 1.4 date 89.09.05.17.12.26; author mao; state C_Demo_1; branches; next 1.3; 1.3 date 89.03.02.17.25.10; author muir; state Stab; branches; next 1.2; 1.2 date 89.01.31.16.33.04; author dillon; state Exp; branches; next 1.1; 1.1 date 89.01.17.05.54.56; author cimarron; state Exp; branches; next ; desc @@ 1.23 log @planner proto update @ text @/* ---------------------------------------------------------------- * FILE * syscache.h * * DESCRIPTION * System catalog cache definitions. * * NOTES * * IDENTIFICATION * $Header: /import/faerie/aoki/postgres/src/backend/catalog/RCS/syscache.h,v 1.22 1993/09/26 00:20:08 paxson Exp aoki $ * ---------------------------------------------------------------- */ #ifndef SysCacheIncluded #define SysCacheIncluded /*#define CACHEDEBUG*/ /* turns DEBUG elogs on */ #include "tmp/postgres.h" #include "access/htup.h" /* * Declarations for util/syscache.c. * * SysCache identifiers. * * The order of these must match the order * they are entered into the structure cacheinfo[] in syscache.c * The best thing to do is to add yours at the END, because some * code assumes that certain caches are at certain places in this * array. */ #define AMOPOPID 0 #define AMOPSTRATEGY 1 #define ATTNAME 2 #define ATTNUM 3 #define INDEXRELID 4 #define LANNAME 5 #define OPRNAME 6 #define OPROID 7 #define PRONAME 8 #define PROOID 9 #define RELNAME 10 #define RELOID 11 #define TYPNAME 12 #define TYPOID 13 #define AMNAME 14 #define CLANAME 15 #define INDRELIDKEY 16 #define INHRELID 17 #define PRS2PLANCODE 18 #define RULOID 19 #define PRS2STUB 20 #define PRS2RULEID 21 #define PRS2EVENTREL 22 #define AGGNAME 23 #define NAMEREL 24 #define LOBJREL 25 #define LISTENREL 26 #define USENAME 27 #define USESYSID 28 #define GRONAME 29 #define GROSYSID 30 #define REWRITENAME 31 #define PROSRC 32 /* ---------------- * struct cachedesc: information needed for a call to InitSysCache() * ---------------- */ struct cachedesc { Name *name; /* this is Name * so that we can initialize it */ int nkeys; int key[4]; int size; /* sizeof(appropriate struct) */ Name *indname; /* index relation for this cache, if exists */ HeapTuple (*iScanFunc)(); /* function to handle index scans */ }; /* from utils/init/postinit.c */ int zerocaches ARGS((void)); /* from utils/cache/syscache.c */ extern void InitCatalogCache ARGS((void)); extern HeapTuple SearchSysCacheTuple ARGS((int cacheId, char *key1, char *key2, char *key3, char *key4)); extern int32 SearchSysCacheStruct ARGS((int cacheId, char *returnStruct, char *key1, char *key2, char *key3, char *key4)); extern struct _LispValue *SearchSysCacheGetAttribute ARGS((int cacheId, AttributeNumber attributeNumber, char *key1, char *key2, char *key3, char *key4)); extern struct _LispValue *TypeDefaultRetrieve ARGS((ObjectId typId)); #endif /* !SysCacheIncluded */ @ 1.22 log @added PROSRC #define added comment about the order of the #defines being important @ text @d1 5 a5 2 /* * syscache.h -- d8 5 a12 2 * Identification: * $Header: /local/src/postgres/src/backend/catalog/RCS/syscache.h,v 1.21 1992/12/19 01:38:45 aoki Exp paxson $ d82 9 a90 9 int zerocaches ARGS(( void )); void InitCatalogCache ARGS((void )); /* * SearchSysCacheStruct and SearchSysCacheTuple take a varying number of * args depending on how many keys the lookup requires. For this reason * the formal arg list has been left out. */ int32 SearchSysCacheStruct(); HeapTuple SearchSysCacheTuple(); a92 5 @ 1.21 log @second checkin for acls and other stuff @ text @d6 1 a6 1 * $Header: /home2/aoki/postgres/catalog/RCS/syscache.h,v 1.20 1992/12/16 02:55:34 aoki Exp aoki $ d21 6 d61 1 d87 5 @ 1.20 log @initial load of stuff for ACLs @ text @d6 1 a6 1 * $Header: /usr/local/dev/postgres/mastertree/newconf/RCS/syscache.h,v 1.19 1992/03/02 21:25:53 mer Exp $ d52 3 @ 1.19 log @add a scan function to the cache info struct (for index scans) @ text @d6 1 a6 1 * $Header: /users/mer/pg/src/lib/H/catalog/RCS/syscache.h,v 1.18 1992/02/25 15:28:02 clarsen Exp mer $ a20 1 * These must agree with (and are used to generate) lisplib/cacheids.l. d50 2 a74 5 /* * XXX Declarations for LISP stuff deliberately left out. * You shouldn't be using them. */ @ 1.18 log @async portals. @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.17 91/12/04 01:58:53 glass Exp Locker: clarsen $ d57 6 a62 5 Name *name; /* this is Name * so that we can initialize it...grr */ int nkeys; int key[4]; int size; /* sizeof(appropriate struct) */ Name *indname; /* name of index relation for this cache, if exists */ @ 1.17 log @unterminated comment @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.16 91/11/18 16:53:21 clarsen Exp Locker: glass $ d50 1 @ 1.16 log @postgres fs additions @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.15 91/11/11 15:58:24 mer Exp Locker: clarsen $ d12 1 a12 1 /*#define CACHEDEBUG /* turns DEBUG elogs on */ @ 1.15 log @prototyping changes @ text @d6 1 a6 1 * $Header: /users/mer/postgres/src/lib/H/catalog/RCS/syscache.h,v 1.14 1991/08/15 17:43:15 caetta Exp mer $ d48 2 @ 1.14 log @for cacheable functions in aggregates... @ text @d6 1 a6 1 * $Header: lib/H/catalog/RCS/syscache.h,v 1.13 91/02/24 12:34:08 sp Exp Locker: caetta $ d61 10 a70 2 extern long SearchSysCacheStruct(); extern HeapTuple SearchSysCacheTuple(); @ 1.13 log @2 new sys caches : PRS2RULEID and PRS2EVENTREL @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.12 91/02/06 18:18:01 cimarron Exp $ d47 1 @ 1.12 log @preliminary checkin for access method and system cache changes @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.11 90/08/18 00:40:16 cimarron Exp Locker: cimarron $ d45 2 @ 1.11 log @eliminated less significant .h files @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.10 90/08/17 08:52:23 cimarron Exp Locker: cimarron $ d46 1 a46 1 /* d48 1 d51 5 a55 4 Name *name; /* this is Name * so that we can initialize it...grr */ int nkeys; int key[4]; int size; /* sizeof(appropriate struct) */ @ 1.10 log @added pathnames to #include statements @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.9 90/08/13 19:32:11 sp Exp Locker: cimarron $ d14 1 a15 1 #include "tmp/name.h" @ 1.9 log @new system cache: PRS2STUB (for relation leve stub records) @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.8 90/08/08 16:54:07 cimarron Exp $ d14 2 a15 2 #include "htup.h" #include "name.h" @ 1.8 log @obsoleted RULEPLANCODE @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.7 90/04/18 15:23:05 goh Version_2 Locker: cimarron $ d44 1 @ 1.7 log @added RULOID for prs2query rewrite @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.6 90/01/11 17:32:18 sp Exp Locker: goh $ d38 6 a43 7 #define RULEPLANCODE 14 #define AMNAME 15 #define CLANAME 16 #define INDRELIDKEY 17 #define INHRELID 18 #define PRS2PLANCODE 19 #define RULOID 20 @ 1.6 log @Defined PRS2PLANCODE cache (searches Prs2Plans relation). @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.5 89/10/12 14:55:21 hirohama Exp $ d44 1 @ 1.5 log @added INHRELID cache @ text @d6 1 a6 1 * $Header: RCS/syscache.h,v 1.4 89/09/05 17:12:26 mao C_Demo_1 Locker: hirohama $ d43 1 @ 1.4 log @Working version of C-only demo @ text @d6 1 a6 1 * $Header: /usr6/postgres/mao/postgres/src/lib/H/RCS/syscache.h,v 1.3 89/03/02 17:25:10 muir Stab $ d42 1 @ 1.3 log @Mostly added relcache speedup: use an index on pg_attribute @ text @d6 1 a6 1 * $Header: /usr6/postgres/muir/postgres/src/lib/H/RCS/syscache.h,v 1.2 89/01/31 16:33:04 dillon Exp $ @ 1.2 log @txfer from old tree @ text @d6 1 a6 1 * $Header: syscache.h,v 1.8 88/12/12 12:56:20 dillon Locked $ d41 1 @ 1.1 log @Initial revision @ text @a0 27 ; /* ; * ; * POSTGRES Data Base Management System ; * ; * Copyright (c) 1988 Regents of the University of California ; * ; * Permission to use, copy, modify, and distribute this software and its ; * documentation for educational, research, and non-profit purposes and ; * without fee is hereby granted, provided that the above copyright ; * notice appear in all copies and that both that copyright notice and ; * this permission notice appear in supporting documentation, and that ; * the name of the University of California not be used in advertising ; * or publicity pertaining to distribution of the software without ; * specific, written prior permission. Permission to incorporate this ; * software into commercial products can be obtained from the Campus ; * Software Office, 295 Evans Hall, University of California, Berkeley, ; * Ca., 94720 provided only that the the requestor give the University ; * of California a free licence to any derived software for educational ; * and research purposes. The University of California makes no ; * representations about the suitability of this software for any ; * purpose. It is provided "as is" without express or implied warranty. ; * ; */ d6 1 a6 1 * $Header: syscache.h,v 1.1 88/11/11 16:37:26 postgres Exp $ d38 3 a40 3 #define RULEPLANCODE 14 #define AMNAME 15 #define CLANAME 16 @