Thread: pgsql: In predtest.c, install a limit on the number of branches we will
pgsql: In predtest.c, install a limit on the number of branches we will
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- In predtest.c, install a limit on the number of branches we will process in AND, OR, or equivalent clauses: if there are too many (more than 100) just exit without proving anything. This ensures that we don't spend O(N^2) time trying (and most likely failing) to prove anything about very long IN lists and similar cases. Also, install a couple of CHECK_FOR_INTERRUPTS calls to ensure that a long proof attempt can be interrupted. Per gripe from Sergey Konoplev. Back-patch the whole patch to 8.2 and just the CHECK_FOR_INTERRUPTS addition to 8.1. (The rest of the patch doesn't apply cleanly, and since 8.1 doesn't show the complained-of behavior anyway, it doesn't seem necessary to work hard on it.) Tags: ---- REL8_2_STABLE Modified Files: -------------- pgsql/src/backend/optimizer/util: predtest.c (r1.10.2.3 -> r1.10.2.4) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/predtest.c?r1=1.10.2.3&r2=1.10.2.4)