• Tom Lane's avatar
    In predtest.c, install a limit on the number of branches we will process in · fdf8d062
    Tom Lane authored
    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.)
    fdf8d062
predtest.c 45.1 KB