diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-05 03:29:17 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-05 03:29:17 +0000 |
| commit | 15fe086fba52bbac7560151e06d1efb3daa69e4a (patch) | |
| tree | f4213b8a0a5f0be0a4b3c990b5063b800961551f /src/backend/catalog/pg_proc.c | |
| parent | 07f9682de43ce53fcd6d86744f610cacfabc60bb (diff) | |
| download | postgresql-15fe086fba52bbac7560151e06d1efb3daa69e4a.tar.gz | |
Restructure system-catalog index updating logic. Instead of having
hardwired lists of index names for each catalog, use the relcache's
mechanism for caching lists of OIDs of indexes of any table. This
reduces the common case of updating system catalog indexes to a single
line, makes it much easier to add a new system index (in fact, you
can now do so on-the-fly if you want to), and as a nice side benefit
improves performance a little. Per recent pghackers discussion.
Diffstat (limited to 'src/backend/catalog/pg_proc.c')
| -rw-r--r-- | src/backend/catalog/pg_proc.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 5cc863249b..f1b437be8d 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.87 2002/08/05 02:30:50 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.88 2002/08/05 03:29:16 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -236,15 +236,8 @@ ProcedureCreate(const char *procedureName, is_update = false; } - /* Need to update indices for either the insert or update case */ - if (RelationGetForm(rel)->relhasindex) - { - Relation idescs[Num_pg_proc_indices]; - - CatalogOpenIndices(Num_pg_proc_indices, Name_pg_proc_indices, idescs); - CatalogIndexInsert(idescs, Num_pg_proc_indices, rel, tup); - CatalogCloseIndices(Num_pg_proc_indices, idescs); - } + /* Need to update indexes for either the insert or update case */ + CatalogUpdateIndexes(rel, tup); AssertTupleDescHasOid(tupDesc); retval = HeapTupleGetOid(tup); |
