Fix wrong dependency on owner created by ALTER OPCLASS OWNER.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Aug 2005 01:41:30 +0000 (01:41 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Aug 2005 01:41:30 +0000 (01:41 +0000)
Per Alvaro.

src/backend/commands/opclasscmds.c

index 19d8997c290a7a455d7915f62bb3aac0b9f2ca79..1601b1ba7b9b08d0c92aa9bd80a3ce02be69e771 100644 (file)
@@ -926,6 +926,7 @@ AlterOpClassOwner(List *name, const char *access_method, Oid newOwnerId)
                                         errmsg("operator class \"%s\" does not exist for access method \"%s\"",
                                                        opcname, access_method)));
 
+               opcOid = HeapTupleGetOid(tup);
        }
        else
        {
@@ -981,7 +982,7 @@ AlterOpClassOwner(List *name, const char *access_method, Oid newOwnerId)
                CatalogUpdateIndexes(rel, tup);
 
                /* Update owner dependency reference */
-               changeDependencyOnOwner(OperatorClassRelationId, amOid, newOwnerId);
+               changeDependencyOnOwner(OperatorClassRelationId, opcOid, newOwnerId);
        }
 
        heap_close(rel, NoLock);