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

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Convert node test compile-time settings into run-time parameters
Date: 2024-08-01 08:21:44
Message-ID: E1sZR4C-002Anz-DL@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

This converts

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 compile-time symbols are kept for build farm compatibility, but
they now just determine the default value of the run-time settings.

Furthermore, support for these settings is not compiled in at all
unless assertions are enabled, or the new symbol
DEBUG_NODE_TESTS_ENABLED is defined at compile time, or any of the
legacy compile-time setting symbols are defined. So there is no
run-time overhead in production builds. (This is similar to the
handling of DISCARD_CACHES_ENABLED.)

Discussion: https://www.postgresql.org/message-id/flat/30747bd8-f51e-4e0c-a310-a6e2c37ec8aa%40eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a292c98d62ddc0ad681f772ab91bf68ee399cb4b

Modified Files
--------------
.cirrus.tasks.yml | 3 +-
doc/src/sgml/config.sgml | 71 +++++++++++++++++++++++++++++++++++++
src/backend/nodes/README | 9 ++---
src/backend/nodes/read.c | 12 +++----
src/backend/nodes/readfuncs.c | 4 +--
src/backend/parser/analyze.c | 44 ++++++++++++-----------
src/backend/tcop/postgres.c | 30 +++++++++-------
src/backend/utils/misc/guc_tables.c | 59 ++++++++++++++++++++++++++++++
src/include/nodes/nodes.h | 2 +-
src/include/nodes/readfuncs.h | 2 +-
src/include/pg_config_manual.h | 34 +++++++++---------
src/include/utils/guc.h | 6 ++++
12 files changed, 212 insertions(+), 64 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Etsuro Fujita 2024-08-01 08:56:41 pgsql: Update comment in portal.h.
Previous Message Amit Kapila 2024-08-01 04:52:44 pgsql: Avoid duplicate table scans for cross-partition updates during l