pgsql: Add support for more extensive testing of raw_expression_tree_wa

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Add support for more extensive testing of raw_expression_tree_wa
Дата
Msg-id E1b4yxz-0000Kc-1l@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Add support for more extensive testing of raw_expression_tree_walker().

If RAW_EXPRESSION_COVERAGE_TEST is defined, do a no-op tree walk over
every basic DML statement submitted to parse analysis.  If we'd had this
in place earlier, bug #14153 would have been caught by buildfarm testing.
The difficulty is that raw_expression_tree_walker() is only used in
limited cases involving CTEs (particularly recursive ones), so it's
very easy for an oversight in it to not be noticed during testing of a
seemingly-unrelated feature.

The type of error we can expect to catch with this is complete omission
of a node type from raw_expression_tree_walker(), and perhaps also
recursion into a field that doesn't contain a node tree, though that
would be an unlikely mistake.  It won't catch failure to add new fields
that need to be recursed into, unfortunately.

I'll go enable this on one or two of my own buildfarm animals once
bug #14153 is dealt with.

Discussion: <27861.1464040417@sss.pgh.pa.us>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/465e09da6310fee89946f3ca32ee8002dd4c428a

Modified Files
--------------
src/backend/nodes/nodeFuncs.c  |  6 ++++--
src/backend/parser/analyze.c   | 44 ++++++++++++++++++++++++++++++++++++++++++
src/include/pg_config_manual.h |  7 +++++++
3 files changed, 55 insertions(+), 2 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Fix latent crash in do_text_output_multiline().
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Support IndexElem in raw_expression_tree_walker().