Turn on COPY_PARSE_PLAN_TREES in assert-enabled builds? - Mailing list pgsql-hackers

From Tom Lane
Subject Turn on COPY_PARSE_PLAN_TREES in assert-enabled builds?
Date
Msg-id 9421.1202414064@sss.pgh.pa.us
Whole thread Raw
List pgsql-hackers
There's some code in postgres.c that is intended to catch problems
in copyfuncs/equalfuncs support for parsetree nodes.  I seem to recall
that it was once enabled by default in debug builds, but that hasn't
been true for several years now.  Investigation of bug #3940 shows
that we've allowed some problems to accumulate in this area: there
are several variants of AlterOwnerStatement that violate the rule
that members of regular Lists should be Nodes, and I find that
AlterTSConfigurationStmt and AlterTSDictionaryStmt are just missing
support entirely.

I'm thinking we might want to turn it back on for a release or two.
This is not an unalloyed blessing for debugging, though.  If memory
serves, the reason we turned it off was that it was masking problems
that only became visible when parts of the parse tree were
multiply-linked, which will never be true in a copied tree.

Another approach would be to arrange for a subset of the buildfarm
machines to enable COPY_PARSE_PLAN_TREES, though this will only
expose problems in syntax variants that are exercised somewhere
in the regression tests.

Thoughts?

(In the meantime, I'm off to fix the problems I found so far...)
        regards, tom lane


pgsql-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: PostgreSQL 8.3.0 'unrecognized node type: 1718580065'
Next
From: Peter Eisentraut
Date:
Subject: Re: PostgreSQL 8.4 development plan