postgresql/src/backend/optimizer/prep
Tom Lane 97431d6739 Add some recursion and looping defenses in prepjointree.c.
Andrey Lepikhov demonstrated a case where we spend an unreasonable
amount of time in pull_up_subqueries().  Not only is that recursing
with no explicit check for stack overrun, but the code seems not
interruptable by control-C.  Let's stick a CHECK_FOR_INTERRUPTS
there, along with sprinkling some stack depth checks.

An actual fix for the excessive time consumption seems a bit
risky to back-patch; but this isn't, so let's do so.

Discussion: https://postgr.es/m/703c09a2-08f3-d2ec-b33d-dbecd62428b8@postgrespro.ru
2022-12-22 10:35:02 -05:00
..
Makefile Move per-agg and per-trans duplicate finding to the planner. 2020-11-24 10:45:00 +02:00
prepagg.c Fix incorrect comment for get_agg_clause_costs 2021-07-26 14:56:09 +12:00
prepjointree.c Add some recursion and looping defenses in prepjointree.c. 2022-12-22 10:35:02 -05:00
prepqual.c Speedup ScalarArrayOpExpr evaluation 2021-04-08 23:51:22 +12:00
preptlist.c Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
prepunion.c Get rid of artificial restriction on hash table sizes on Windows. 2021-07-25 14:02:27 -04:00