mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 00:03:23 -04:00
Add missing invocations to object access hooks
The following commands have been missing calls to object access hooks InvokeObjectPost{Create|Alter}Hook normally applied to all commands: - ALTER RULE RENAME TO - ALTER USER MAPPING - CREATE ACCESS METHOD - CREATE STATISTICS Thanks also to Robert Haas for the discussion. Author: Mark Dilger Reviewed-by: Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/435CD295-F409-44E0-91EC-DF32C7AFCD76@enterprisedb.com
This commit is contained in:
parent
c99cec96b8
commit
a995b371ae
@ -18,6 +18,7 @@
|
||||
#include "catalog/catalog.h"
|
||||
#include "catalog/dependency.h"
|
||||
#include "catalog/indexing.h"
|
||||
#include "catalog/objectaccess.h"
|
||||
#include "catalog/pg_am.h"
|
||||
#include "catalog/pg_proc.h"
|
||||
#include "catalog/pg_type.h"
|
||||
@ -107,6 +108,8 @@ CreateAccessMethod(CreateAmStmt *stmt)
|
||||
|
||||
recordDependencyOnCurrentExtension(&myself, false);
|
||||
|
||||
InvokeObjectPostCreateHook(AccessMethodRelationId, amoid, 0);
|
||||
|
||||
table_close(rel, RowExclusiveLock);
|
||||
|
||||
return myself;
|
||||
|
@ -1343,6 +1343,9 @@ AlterUserMapping(AlterUserMappingStmt *stmt)
|
||||
|
||||
CatalogTupleUpdate(rel, &tp->t_self, tp);
|
||||
|
||||
InvokeObjectPostAlterHook(UserMappingRelationId,
|
||||
umId, 0);
|
||||
|
||||
ObjectAddressSet(address, UserMappingRelationId, umId);
|
||||
|
||||
heap_freetuple(tp);
|
||||
|
@ -374,6 +374,8 @@ CreateStatistics(CreateStatsStmt *stmt)
|
||||
|
||||
relation_close(datarel, RowExclusiveLock);
|
||||
|
||||
InvokeObjectPostCreateHook(StatisticExtRelationId, statoid, 0);
|
||||
|
||||
/*
|
||||
* Invalidate relcache so that others see the new statistics object.
|
||||
*/
|
||||
|
@ -1003,6 +1003,8 @@ RenameRewriteRule(RangeVar *relation, const char *oldName,
|
||||
|
||||
CatalogTupleUpdate(pg_rewrite_desc, &ruletup->t_self, ruletup);
|
||||
|
||||
InvokeObjectPostAlterHook(RewriteRelationId, ruleOid, 0);
|
||||
|
||||
heap_freetuple(ruletup);
|
||||
table_close(pg_rewrite_desc, RowExclusiveLock);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user