From: Jan Wieck Date: Thu, 30 Sep 1999 10:31:47 +0000 (+0000) Subject: Removed (useless) pg_proc_prosrc_index X-Git-Tag: REL7_0~1400 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=daaeafd9e1d85973695572425036dbb8c6175242;p=postgresql Removed (useless) pg_proc_prosrc_index Jan --- diff --git a/src/backend/catalog/indexing.c b/src/backend/catalog/indexing.c index 3ac2ecc4d6..1e5c6252a4 100644 --- a/src/backend/catalog/indexing.c +++ b/src/backend/catalog/indexing.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.46 1999/09/29 16:05:56 wieck Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.47 1999/09/30 10:31:42 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -42,8 +42,7 @@ char *Name_pg_attr_indices[Num_pg_attr_indices] = {AttributeNameIndex, AttributeNumIndex, AttributeRelidIndex}; char *Name_pg_proc_indices[Num_pg_proc_indices] = {ProcedureNameIndex, - ProcedureOidIndex, -ProcedureSrcIndex}; + ProcedureOidIndex}; char *Name_pg_type_indices[Num_pg_type_indices] = {TypeNameIndex, TypeOidIndex}; char *Name_pg_class_indices[Num_pg_class_indices] = {ClassNameIndex, @@ -378,28 +377,6 @@ ProcedureNameIndexScan(Relation heapRelation, } -HeapTuple -ProcedureSrcIndexScan(Relation heapRelation, text *procSrc) -{ - Relation idesc; - ScanKeyData skey[1]; - HeapTuple tuple; - - ScanKeyEntryInitialize(&skey[0], - (bits16) 0x0, - (AttrNumber) 1, - (RegProcedure) F_TEXTEQ, - PointerGetDatum(procSrc)); - - idesc = index_openr(ProcedureSrcIndex); - tuple = CatalogIndexFetchTuple(heapRelation, idesc, skey, 1); - - index_close(idesc); - - return tuple; -} - - HeapTuple TypeOidIndexScan(Relation heapRelation, Oid typeId) { diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index b71f36e661..a87c7fa3db 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.34 1999/09/18 19:06:34 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.35 1999/09/30 10:31:42 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -64,7 +64,6 @@ ProcedureCreate(char *procedureName, Oid typev[8]; Oid relid; Oid toid; - text *prosrctext; NameData procname; TupleDesc tupDesc; @@ -131,6 +130,20 @@ ProcedureCreate(char *procedureName, */ if (!strcmp(procedureName, GENERICSETNAME)) { +#ifdef SETS_FIXED + /* ---------- + * The code below doesn't work any more because the + * PROSRC system cache and the pg_proc_prosrc_index + * have been removed. Instead a sequential heap scan + * or something better must get implemented. The reason + * for removing is that nbtree index crashes if sources + * exceed 2K what's likely for procedural languages. + * + * 1999/09/30 Jan + * ---------- + */ + text *prosrctext; + prosrctext = textin(prosrc); tup = SearchSysCacheTuple(PROSRC, PointerGetDatum(prosrctext), @@ -138,6 +151,9 @@ ProcedureCreate(char *procedureName, pfree(prosrctext); if (HeapTupleIsValid(tup)) return tup->t_data->t_oid; +#else + elog(ERROR, "lookup for procedure by source needs fix (Jan)"); +#endif /* SETS_FIXED */ } } diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 204f13ffab..53917f92c5 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.36 1999/09/18 19:07:55 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.37 1999/09/30 10:31:43 wieck Exp $ * * NOTES * These routines allow the parser/planner/executor to perform @@ -336,17 +336,6 @@ static struct cachedesc cacheinfo[] = { offsetof(FormData_pg_rewrite, ev_qual), NULL, (ScanFunc) NULL}, - {ProcedureRelationName, /* PROSRC */ - 1, - { - Anum_pg_proc_prosrc, - 0, - 0, - 0 - }, - offsetof(FormData_pg_proc, prosrc), - ProcedureSrcIndex, - (ScanFunc) ProcedureSrcIndexScan}, {OperatorClassRelationName, /* CLADEFTYPE */ 1, { diff --git a/src/include/catalog/indexing.h b/src/include/catalog/indexing.h index 39bc8193da..7ff749f889 100644 --- a/src/include/catalog/indexing.h +++ b/src/include/catalog/indexing.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: indexing.h,v 1.24 1999/09/29 16:06:14 wieck Exp $ + * $Id: indexing.h,v 1.25 1999/09/30 10:31:44 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -20,7 +20,7 @@ * Some definitions for indices on pg_attribute */ #define Num_pg_attr_indices 3 -#define Num_pg_proc_indices 3 +#define Num_pg_proc_indices 2 #define Num_pg_type_indices 2 #define Num_pg_class_indices 2 #define Num_pg_attrdef_indices 1 @@ -37,7 +37,6 @@ #define AttributeRelidIndex "pg_attribute_attrelid_index" #define ProcedureOidIndex "pg_proc_oid_index" #define ProcedureNameIndex "pg_proc_proname_narg_type_index" -#define ProcedureSrcIndex "pg_proc_prosrc_index" #define TypeOidIndex "pg_type_oid_index" #define TypeNameIndex "pg_type_typname_index" #define ClassOidIndex "pg_class_oid_index" @@ -83,7 +82,6 @@ extern HeapTuple AttributeNumIndexScan(Relation heapRelation, extern HeapTuple ProcedureOidIndexScan(Relation heapRelation, Oid procId); extern HeapTuple ProcedureNameIndexScan(Relation heapRelation, char *procName, int2 nargs, Oid *argTypes); -extern HeapTuple ProcedureSrcIndexScan(Relation heapRelation, text *procSrc); extern HeapTuple TypeOidIndexScan(Relation heapRelation, Oid typeId); extern HeapTuple TypeNameIndexScan(Relation heapRelation, char *typeName); extern HeapTuple ClassNameIndexScan(Relation heapRelation, char *relName); @@ -103,7 +101,6 @@ DECLARE_INDEX(pg_attribute_attrelid_index on pg_attribute using btree(attrelid o DECLARE_INDEX(pg_proc_oid_index on pg_proc using btree(oid oid_ops)); DECLARE_INDEX(pg_proc_proname_narg_type_index on pg_proc using btree(proname name_ops, pronargs int2_ops, proargtypes oid8_ops)); -DECLARE_INDEX(pg_proc_prosrc_index on pg_proc using btree(prosrc text_ops)); DECLARE_INDEX(pg_type_oid_index on pg_type using btree(oid oid_ops)); DECLARE_INDEX(pg_type_typname_index on pg_type using btree(typname name_ops)); diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h index b2850a8a6b..5ba3b16e9a 100644 --- a/src/include/utils/syscache.h +++ b/src/include/utils/syscache.h @@ -8,7 +8,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: syscache.h,v 1.18 1999/08/09 03:13:28 tgl Exp $ + * $Id: syscache.h,v 1.19 1999/09/30 10:31:47 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -58,9 +58,8 @@ #define GRONAME 23 #define GROSYSID 24 #define REWRITENAME 25 -#define PROSRC 26 -#define CLADEFTYPE 27 -#define LANOID 28 +#define CLADEFTYPE 26 +#define LANOID 27 /* ---------------- * struct cachedesc: information needed for a call to InitSysCache()