Fix event trigger support for the new ALTER OPERATOR command.
authorHeikki Linnakangas
Tue, 14 Jul 2015 16:50:18 +0000 (19:50 +0300)
committerHeikki Linnakangas
Tue, 14 Jul 2015 16:50:18 +0000 (19:50 +0300)
Also, the lock on pg_operator should not be released until end of
transaction.

src/backend/commands/operatorcmds.c

index 32065185ea4587ef8e051946f9a8f59026ee4296..0bb9743ea3622040dc03112bb8484d5da7ea3900 100644 (file)
@@ -38,6 +38,7 @@
 #include "access/htup_details.h"
 #include "catalog/dependency.h"
 #include "catalog/indexing.h"
+#include "catalog/objectaccess.h"
 #include "catalog/pg_operator.h"
 #include "catalog/pg_type.h"
 #include "commands/alter.h"
@@ -499,7 +500,11 @@ AlterOperator(AlterOperatorStmt *stmt)
    simple_heap_update(catalog, &tup->t_self, tup);
    CatalogUpdateIndexes(catalog, tup);
 
-   heap_close(catalog, RowExclusiveLock);
+   InvokeObjectPostAlterHook(OperatorRelationId, oprId, 0);
+
+   ObjectAddressSet(address, OperatorRelationId, oprId);
+
+   heap_close(catalog, NoLock);
 
    return address;
 }