Convert node test compile-time settings into run-time parameters

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Convert node test compile-time settings into run-time parameters
Date: 2024-05-20 07:28:39
Message-ID: 30747bd8-f51e-4e0c-a310-a6e2c37ec8aa@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
v1-0001-Convert-node-test-compile-time-settings-into-run-.patch text/plain 15.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2024-05-20 07:29:24 Re: State of pg_createsubscriber
Previous Message Pavel Stehule 2024-05-20 07:11:22 Re: Schema variables - new implementation for Postgres 15