10 #ifndef OBJECTACCESS_H
11 #define OBJECTACCESS_H
133 const char *objectStr,
149 Oid auxiliaryId,
bool is_internal);
160 Oid auxiliaryId,
bool is_internal);
171 #define InvokeObjectPostCreateHook(classId,objectId,subId) \
172 InvokeObjectPostCreateHookArg((classId),(objectId),(subId),false)
173 #define InvokeObjectPostCreateHookArg(classId,objectId,subId,is_internal) \
175 if (object_access_hook) \
176 RunObjectPostCreateHook((classId),(objectId),(subId), \
180 #define InvokeObjectDropHook(classId,objectId,subId) \
181 InvokeObjectDropHookArg((classId),(objectId),(subId),0)
182 #define InvokeObjectDropHookArg(classId,objectId,subId,dropflags) \
184 if (object_access_hook) \
185 RunObjectDropHook((classId),(objectId),(subId), \
189 #define InvokeObjectTruncateHook(objectId) \
191 if (object_access_hook) \
192 RunObjectTruncateHook(objectId); \
195 #define InvokeObjectPostAlterHook(classId,objectId,subId) \
196 InvokeObjectPostAlterHookArg((classId),(objectId),(subId), \
198 #define InvokeObjectPostAlterHookArg(classId,objectId,subId, \
199 auxiliaryId,is_internal) \
201 if (object_access_hook) \
202 RunObjectPostAlterHook((classId),(objectId),(subId), \
203 (auxiliaryId),(is_internal)); \
206 #define InvokeNamespaceSearchHook(objectId, ereport_on_violation) \
207 (!object_access_hook \
209 : RunNamespaceSearchHook((objectId), (ereport_on_violation)))
211 #define InvokeFunctionExecuteHook(objectId) \
213 if (object_access_hook) \
214 RunFunctionExecuteHook(objectId); \
218 #define InvokeObjectPostCreateHookStr(classId,objectName,subId) \
219 InvokeObjectPostCreateHookArgStr((classId),(objectName),(subId),false)
220 #define InvokeObjectPostCreateHookArgStr(classId,objectName,subId,is_internal) \
222 if (object_access_hook_str) \
223 RunObjectPostCreateHookStr((classId),(objectName),(subId), \
227 #define InvokeObjectDropHookStr(classId,objectName,subId) \
228 InvokeObjectDropHookArgStr((classId),(objectName),(subId),0)
229 #define InvokeObjectDropHookArgStr(classId,objectName,subId,dropflags) \
231 if (object_access_hook_str) \
232 RunObjectDropHookStr((classId),(objectName),(subId), \
236 #define InvokeObjectTruncateHookStr(objectName) \
238 if (object_access_hook_str) \
239 RunObjectTruncateHookStr(objectName); \
242 #define InvokeObjectPostAlterHookStr(classId,objectName,subId) \
243 InvokeObjectPostAlterHookArgStr((classId),(objectName),(subId), \
245 #define InvokeObjectPostAlterHookArgStr(classId,objectName,subId, \
246 auxiliaryId,is_internal) \
248 if (object_access_hook_str) \
249 RunObjectPostAlterHookStr((classId),(objectName),(subId), \
250 (auxiliaryId),(is_internal)); \
253 #define InvokeNamespaceSearchHookStr(objectName, ereport_on_violation) \
254 (!object_access_hook_str \
256 : RunNamespaceSearchHookStr((objectName), (ereport_on_violation)))
258 #define InvokeFunctionExecuteHookStr(objectName) \
260 if (object_access_hook_str) \
261 RunFunctionExecuteHookStr(objectName); \
void RunObjectDropHookStr(Oid classId, const char *objectStr, int subId, int dropflags)
bool RunNamespaceSearchHookStr(const char *objectStr, bool ereport_on_violation)
void RunObjectTruncateHookStr(const char *objectStr)
void RunFunctionExecuteHookStr(const char *objectStr)
void RunObjectDropHook(Oid classId, Oid objectId, int subId, int dropflags)
void RunObjectPostAlterHookStr(Oid classId, const char *objectStr, int subId, Oid auxiliaryId, bool is_internal)
void RunObjectPostAlterHook(Oid classId, Oid objectId, int subId, Oid auxiliaryId, bool is_internal)
void RunFunctionExecuteHook(Oid objectId)
void RunObjectPostCreateHookStr(Oid classId, const char *objectStr, int subId, bool is_internal)
bool RunNamespaceSearchHook(Oid objectId, bool ereport_on_violation)
void(* object_access_hook_type)(ObjectAccessType access, Oid classId, Oid objectId, int subId, void *arg)
PGDLLIMPORT object_access_hook_type object_access_hook
void(* object_access_hook_type_str)(ObjectAccessType access, Oid classId, const char *objectStr, int subId, void *arg)
void RunObjectTruncateHook(Oid objectId)
void RunObjectPostCreateHook(Oid classId, Oid objectId, int subId, bool is_internal)
PGDLLIMPORT object_access_hook_type_str object_access_hook_str
bool ereport_on_violation