From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Subject: | Re: Repeatability of installcheck for test_oat_hooks |
Date: | 2022-06-28 03:05:09 |
Message-ID: | Yrpv5ZP/02dk5rpL@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jun 28, 2022 at 10:12:48AM +0900, Michael Paquier wrote:
> As far as I can see, test_oat_hook has no need to keep around the
> extra role it creates as part of the regression tests, because at the
> end of the test there are no objects that depend on it. Wouldn't it
> be better to make the test self-isolated? NO_INSTALLCHECK is set in
> the module because of the issue with caching and the namespace search
> hooks, but it seems to me that we'd better make the test self-isolated
> in the long term, like in the attached.
And actually, I have found a second issue here. The tests issue a
GRANT on work_mem, like that:
GRANT SET ON PARAMETER work_mem TO PUBLIC;
This has as effect to leave around an entry in pg_parameter_acl, which
is designed this way in aclchk.c. However, this interacts with
guc_privs.sql in unsafe_tests, because those tests include similar
queries GRANT queries, also on work_mem. So, if one issues an
installcheck on test_oat_modules followed by an installcheck in
unsafe_tests, the latter fails. I think that we'd better add an extra
REVOKE to clear the contents of pg_parameter_acl.
--
Michael
Attachment | Content-Type | Size |
---|---|---|
test_oat_hooks_2.patch | text/x-diff | 1.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | wangw.fnst@fujitsu.com | 2022-06-28 03:21:33 | RE: Perform streaming logical transactions by background workers and parallel apply |
Previous Message | Peter Smith | 2022-06-28 01:58:49 | Re: Handle infinite recursion in logical replication setup |