Re: New Object Access Type hooks

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Mark Dilger <mark.dilger@enterprisedb.com>, Andrew Dunstan <andrew@dunslane.net>, Julien Rouhaud <rjuju123@gmail.com>, Joshua Brindle <joshua.brindle@crunchydata.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>, Jeff Davis <pgsql@j-davis.com>, Joe Conway <joe@crunchydata.com>, Stephen Frost <sfrost@snowman.net>
Date: 2022-03-22T23:08:51Z
Lists: pgsql-hackers
Hi,

On 2022-03-22 18:41:45 -0400, Tom Lane wrote:
> Mark Dilger <mark.dilger@enterprisedb.com> writes:
> >> On Mar 22, 2022, at 3:20 PM, Andres Freund <andres@anarazel.de> wrote:
> >> Seems like it might actually be good to test that object access hooks work
> >> well in a parallel worker. How about going the other way and explicitly setting
> >> force_parallel_mode = disabled for parts of the test and to enabled for
> >> others?
> 
> > Wouldn't we get differing numbers of NOTICE messages depending on how
> > many parallel workers there are?  Or would you propose setting the
> > number of workers to a small, fixed value?

Yes.


> The value would have to be "1", else you are going to have issues
> with notices from different workers being interleaved differently
> from run to run.

Yea. Possible one could work around those with some effort (using multiple
notification channels maybe), but there seems little to glean from multiple
workers that a single worker wouldn't show.


> You might have that anyway, due to interleaving of leader and worker
> messages.

That part could perhaps be addressed by setting parallel_leader_participation
= 0.

Greetings,

Andres Freund



Commits

  1. Update some tests in 013_crash_restart.pl.

  2. Avoid freeing objects during json aggregate finalization

  3. SQL/JSON constructors

  4. Force NO_LOCALE / UTF8 for test_oat_hooks tests

  5. Temporarily disable installcheck for test_oat_hooks module

  6. Fix new Object Access hooks test

  7. Add String object access hooks

  8. Add a test module for Object Access hooks