]> granicus.if.org Git - postgresql/commitdiff
AlterDatabaseSet() forgot to update the indexes on pg_database.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 May 2002 16:30:59 +0000 (16:30 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 May 2002 16:30:59 +0000 (16:30 +0000)
src/backend/commands/dbcommands.c

index bdba0dacfc0a145bd4d55a2d31f593034e7036ef..7add59e2c39b6fee2a98b783d8d1cff93a53eb08 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.91 2002/05/21 22:05:54 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.92 2002/05/25 16:30:59 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -505,6 +505,20 @@ AlterDatabaseSet(AlterDatabaseSetStmt *stmt)
        newtuple = heap_modifytuple(tuple, rel, repl_val, repl_null, repl_repl);
        simple_heap_update(rel, &tuple->t_self, newtuple);
 
+       /*
+        * Update indexes
+        */
+       if (RelationGetForm(rel)->relhasindex)
+       {
+               Relation        idescs[Num_pg_database_indices];
+
+               CatalogOpenIndices(Num_pg_database_indices,
+                                                  Name_pg_database_indices, idescs);
+               CatalogIndexInsert(idescs, Num_pg_database_indices, rel,
+                                                  newtuple);
+               CatalogCloseIndices(Num_pg_database_indices, idescs);
+       }
+
        heap_endscan(scan);
        heap_close(rel, RowExclusiveLock);
 }