mirror of
https://github.com/postgres/postgres.git
synced 2025-04-29 13:56:47 +03:00
Fix new Object Access hooks test
Commit 90efa2f556 caused some issues with EXEC_BACKEND builds and with force_parallel_mode = regress setups. For the first issue we no longer test if the module has been preloaded, and in fact we don't preload it, but simply LOAD it in the test script. For the second issue we suppress error messages emanating from parallel workers. Mark Dilger Discussion: https://postgr.es/m/7f6d54a1-4024-3b6e-e3ec-26cd394aac9e@dunslane.net
This commit is contained in:
parent
097786fbbb
commit
f0206d9952
@ -7,9 +7,6 @@ OBJS = \
|
||||
PGFILEDESC = "test_oat_hooks - example use of object access hooks"
|
||||
|
||||
REGRESS = test_oat_hooks
|
||||
REGRESS_OPTS = --temp-config=$(top_srcdir)/src/test/modules/test_oat_hooks/test_oat_hooks.conf
|
||||
# Disabled because these tests require "shared_preload_libraries=test_oat_hooks",
|
||||
# which typical installcheck users do not have (e.g. buildfarm clients).
|
||||
NO_INSTALLCHECK = 1
|
||||
|
||||
ifdef USE_PGXS
|
||||
|
@ -2,6 +2,7 @@
|
||||
-- object_access_hook_str. Since the auditing GUC starts out false, we miss the
|
||||
-- initial "attempting" audit message from the ProcessUtility_hook, but we
|
||||
-- should thereafter see the audit messages
|
||||
LOAD 'test_oat_hooks';
|
||||
SET test_oat_hooks.audit = true;
|
||||
NOTICE: in object_access_hook_str: superuser attempting alter (set) [test_oat_hooks.audit]
|
||||
NOTICE: in object_access_hook_str: superuser finished alter (set) [test_oat_hooks.audit]
|
||||
|
@ -2,6 +2,7 @@
|
||||
-- object_access_hook_str. Since the auditing GUC starts out false, we miss the
|
||||
-- initial "attempting" audit message from the ProcessUtility_hook, but we
|
||||
-- should thereafter see the audit messages
|
||||
LOAD 'test_oat_hooks';
|
||||
SET test_oat_hooks.audit = true;
|
||||
|
||||
-- Create objects for use in the test
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "postgres.h"
|
||||
|
||||
#include "access/parallel.h"
|
||||
#include "catalog/dependency.h"
|
||||
#include "catalog/objectaccess.h"
|
||||
#include "catalog/pg_proc.h"
|
||||
@ -68,15 +69,6 @@ void _PG_fini(void);
|
||||
void
|
||||
_PG_init(void)
|
||||
{
|
||||
/*
|
||||
* We allow to load the Object Access Type test module on single-user-mode
|
||||
* or shared_preload_libraries settings only.
|
||||
*/
|
||||
if (IsUnderPostmaster)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("test_oat_hooks must be loaded via shared_preload_libraries")));
|
||||
|
||||
/*
|
||||
* test_oat_hooks.deny_set_variable = (on|off)
|
||||
*/
|
||||
@ -200,7 +192,7 @@ _PG_fini(void)
|
||||
static void
|
||||
emit_audit_message(const char *type, const char *hook, char *action, char *objName)
|
||||
{
|
||||
if (REGRESS_audit)
|
||||
if (REGRESS_audit && !IsParallelWorker())
|
||||
{
|
||||
const char *who = superuser_arg(GetUserId()) ? "superuser" : "non-superuser";
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
shared_preload_libraries = test_oat_hooks
|
Loading…
x
Reference in New Issue
Block a user