diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2024-08-01 09:37:44 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2024-08-01 10:09:18 +0200 |
commit | a292c98d62ddc0ad681f772ab91bf68ee399cb4b (patch) | |
tree | 331bcd4483c3f0b006b29e1fa094396fc599855a /doc/src | |
parent | a67da49e1d983fc7662f7854e9eec5debbd14446 (diff) | |
download | postgresql-a292c98d62ddc0ad681f772ab91bf68ee399cb4b.tar.gz postgresql-a292c98d62ddc0ad681f772ab91bf68ee399cb4b.zip |
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
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/config.sgml | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 4e77adc7f17..a65839a6709 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -11425,6 +11425,29 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' </listitem> </varlistentry> + <varlistentry id="guc-debug-copy-parse-plan-trees" xreflabel="debug_copy_parse_plan_trees"> + <term><varname>debug_copy_parse_plan_trees</varname> (<type>boolean</type>) + <indexterm> + <primary><varname>debug_copy_parse_plan_trees</varname> configuration parameter</primary> + </indexterm> + </term> + <listitem> + <para> + Enabling this forces all parse and plan trees to be passed through + <function>copyObject()</function>, to facilitate catching errors and + omissions in <function>copyObject()</function>. The default is off. + </para> + + <para> + This parameter is only available when + <symbol>DEBUG_NODE_TESTS_ENABLED</symbol> was defined at compile time + (which happens automatically when using the + <application>configure</application> option + <option>--enable-cassert</option>). + </para> + </listitem> + </varlistentry> + <varlistentry id="guc-debug-discard-caches" xreflabel="debug_discard_caches"> <term><varname>debug_discard_caches</varname> (<type>integer</type>) <indexterm> @@ -11540,6 +11563,54 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' </listitem> </varlistentry> + <varlistentry id="guc-debug-raw-expression-coverage-test" xreflabel="debug_raw_expression_coverage_test"> + <term><varname>debug_raw_expression_coverage_test</varname> (<type>boolean</type>) + <indexterm> + <primary><varname>debug_raw_expression_coverage_test</varname> configuration parameter</primary> + </indexterm> + </term> + <listitem> + <para> + Enabling this forces all raw parse trees for DML statements to be + scanned by <function>raw_expression_tree_walker()</function>, to + facilitate catching errors and omissions in that function. The + default is off. + </para> + + <para> + This parameter is only available when + <symbol>DEBUG_NODE_TESTS_ENABLED</symbol> was defined at compile time + (which happens automatically when using the + <application>configure</application> option + <option>--enable-cassert</option>). + </para> + </listitem> + </varlistentry> + + <varlistentry id="guc-debug-write-read-parse-plan-trees" xreflabel="debug_write_read_parse_plan_trees"> + <term><varname>debug_write_read_parse_plan_trees</varname> (<type>boolean</type>) + <indexterm> + <primary><varname>debug_write_read_parse_plan_trees</varname> configuration parameter</primary> + </indexterm> + </term> + <listitem> + <para> + Enabling this forces all parse and plan trees to be passed through + <filename>outfuncs.c</filename>/<filename>readfuncs.c</filename>, to + facilitate catching errors and omissions in those modules. The + default is off. + </para> + + <para> + This parameter is only available when + <symbol>DEBUG_NODE_TESTS_ENABLED</symbol> was defined at compile time + (which happens automatically when using the + <application>configure</application> option + <option>--enable-cassert</option>). + </para> + </listitem> + </varlistentry> + <varlistentry id="guc-ignore-system-indexes" xreflabel="ignore_system_indexes"> <term><varname>ignore_system_indexes</varname> (<type>boolean</type>) <indexterm> |