Convert node test compile-time settings into run-time parameters
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-05-20T07:28:39Z
Lists: pgsql-hackers
Attachments
- v1-0001-Convert-node-test-compile-time-settings-into-run-.patch (text/plain) patch v1-0001
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?
Commits
-
Convert node test compile-time settings into run-time parameters
- a292c98d62dd 18.0 landed