Re: Convert node test compile-time settings into run-time parameters - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Convert node test compile-time settings into run-time parameters
Date
Msg-id CAEudQAr_f2z+iXEOXV9ZiNvJ-as7MiQnBs_345pX=avzMjjeGQ@mail.gmail.com
Whole thread Raw
In response to Convert node test compile-time settings into run-time parameters  (Peter Eisentraut <peter@eisentraut.org>)
List pgsql-hackers
Em seg., 20 de mai. de 2024 às 04:28, Peter Eisentraut <peter@eisentraut.org> escreveu:
This patch converts the compile-time settings

     COPY_PARSE_PLAN_TREES
     WRITE_READ_PARSE_PLAN_TREES
     RAW_EXPRESSION_COVERAGE_TEST

into run-time parameters

     debug_copy_parse_plan_trees
     debug_write_read_parse_plan_trees
     debug_raw_expression_coverage_test

They can be activated for tests using PG_TEST_INITDB_EXTRA_OPTS.

The effect is the same, but now you don't need to recompile in order to
use these checks.

The compile-time symbols are kept for build farm compatibility, but they
now just determine the default value of the run-time settings.

Possible concerns:

- Performance?  Looking for example at pg_parse_query() and its
siblings, they also check for other debugging settings like
log_parser_stats in the main code path, so it doesn't seem to be a concern.

- Access control?  I have these settings as PGC_USERSET for now. Maybe
they should be PGC_SUSET?

Another thought:  Do we really need three separate settings?
What is the use for production use?

best regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: PostgreSQL 17 Beta 1 release announcement draft
Next
From: Alvaro Herrera
Date:
Subject: Re: commitfest.postgresql.org is no longer fit for purpose