pgsql: Fix worker_spi when launching workers without shared_preload_lib

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix worker_spi when launching workers without shared_preload_lib
Date: 2023-07-21 03:08:25
Message-ID: E1qMgVE-000Xxf-1U@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix worker_spi when launching workers without shared_preload_libraries

Currently, the database name to connect is initialized only when the
module is loaded with shared_preload_libraries, causing any call of
worker_spi_launch() to fail if the library is not loaded for a dynamic
bgworker launch. Rather than making the GUC defining the database to
connect to a PGC_POSTMASTER, this commit switches worker_spi.database to
PGC_SIGHUP, loaded even if the module's library is loaded dynamically
for a worker.

We have been discussing about the integration of more advanced tests in
this module, with and without shared_preload_libraries set, so this
eases a bit the work planned in this area.

No backpatch is done as, while this is a bug, it changes the definition
of worker_spi.database.

Author: Masahiro Ikeda
Reviewed-by: Bharath Rupireddy
Discussion: https://postgr.es/m/d30d3ea7d21cb7c9e1e3cc47e301f1b6@oss.nttdata.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/97ff8dd02ca788020021cdafb85d77d4fd3f3125

Modified Files
--------------
src/test/modules/worker_spi/worker_spi.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Langote 2023-07-21 10:29:08 pgsql: Don't include CaseTestExpr in JsonValueExpr.formatted_expr
Previous Message Tom Lane 2023-07-20 18:24:01 pgsql: Guard against null plan pointer in CachedPlanIsSimplyValid().