Removed (useless) pg_proc_prosrc_index
authorJan Wieck
Thu, 30 Sep 1999 10:31:47 +0000 (10:31 +0000)
committerJan Wieck
Thu, 30 Sep 1999 10:31:47 +0000 (10:31 +0000)
Jan

src/backend/catalog/indexing.c
src/backend/catalog/pg_proc.c
src/backend/utils/cache/syscache.c
src/include/catalog/indexing.h
src/include/utils/syscache.h

index 3ac2ecc4d66619800c4360fe3c2ca8fb1ce21528..1e5c6252a4bad335cb4c2c1cca748f7bd96636b4 100644 (file)
@@ -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)
 {
index b71f36e6618858f4624982564bee0075dfe063d2..a87c7fa3db167a179219b320b2b6923fc17a7f5c 100644 (file)
@@ -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 */
        }
    }
 
index 204f13ffab9f34aa3a92a1a659d37f86cb76ce90..53917f92c56f0dd9ef721e13a72dfa197aabaa44 100644 (file)
@@ -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,
        {
index 39bc8193da2f14e12a2416ecbb952a2f1755020d..7ff749f889a06d2891bdb6050ef075f260714bc0 100644 (file)
@@ -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));
index b2850a8a6b0d71d2f612429f3efcdcb3615d6ec7..5ba3b16e9a7ffec2dfcc975eb8ab799f43cef20c 100644 (file)
@@ -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()