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

From Peter Eisentraut
Subject Convert node test compile-time settings into run-time parameters
Date
Msg-id 30747bd8-f51e-4e0c-a310-a6e2c37ec8aa@eisentraut.org
Whole thread Raw
Responses Re: Convert node test compile-time settings into run-time parameters
Re: Convert node test compile-time settings into run-time parameters
Re: Convert node test compile-time settings into run-time parameters
List pgsql-hackers
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?

Attachment

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Schema variables - new implementation for Postgres 15
Next
From: Michael Paquier
Date:
Subject: Re: State of pg_createsubscriber