Turn on COPY_PARSE_PLAN_TREES in assert-enabled builds?
От | Tom Lane |
---|---|
Тема | Turn on COPY_PARSE_PLAN_TREES in assert-enabled builds? |
Дата | |
Msg-id | 9421.1202414064@sss.pgh.pa.us обсуждение исходный текст |
Список | 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 по дате отправления: