pgsql: Remove over-optimistic Assert.
От | Tom Lane |
---|---|
Тема | pgsql: Remove over-optimistic Assert. |
Дата | |
Msg-id | E1pMtxR-000uZR-Dg@gemulon.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Remove over-optimistic Assert.
Re: pgsql: Remove over-optimistic Assert. |
Список | pgsql-committers |
Remove over-optimistic Assert. In commit 2489d76c4, I'd thought it'd be safe to assert that a PlaceHolderVar appearing in a scan-level expression has empty nullingrels. However this is not so, as when we determine that a join relation is certainly empty we'll put its targetlist into a Result-with-constant-false-qual node, and nothing is done to adjust the nullingrels of the Vars or PHVs therein. (Arguably, a Result used in this way isn't really a scan-level node, but it certainly isn't an upper node either ...) It's not clear this is worth any close analysis, so let's just take out the faulty Assert. Per report from Robins Tharakan. I added a test case based on his example, just in case somebody tries to tighten this up. Discussion: https://postgr.es/m/CAEP4nAz7Enq3+DEthGG7j27DpuwSRZnW0Nh6jtNh75yErQ_nbA@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/eae0e20deffb0a73f7cb0e94746f94a1347e71b1 Modified Files -------------- src/backend/optimizer/plan/setrefs.c | 2 +- src/test/regress/expected/join.out | 14 ++++++++++++++ src/test/regress/sql/join.sql | 8 ++++++++ 3 files changed, 23 insertions(+), 1 deletion(-)
В списке pgsql-committers по дате отправления: