• Tom Lane's avatar
    Allow simplification of EXISTS() subqueries containing LIMIT. · b62f94c6
    Tom Lane authored
    The locution "EXISTS(SELECT ... LIMIT 1)" seems to be rather common among
    people who don't realize that the database already performs optimizations
    equivalent to putting LIMIT 1 in the sub-select.  Unfortunately, this was
    actually making things worse, because it prevented us from optimizing such
    EXISTS clauses into semi or anti joins.  Teach simplify_EXISTS_query() to
    suppress constant-positive LIMIT clauses.  That fixes the semi/anti-join
    case, and may help marginally even for cases that have to be left as
    sub-SELECTs.
    
    Marti Raudsepp, reviewed by David Rowley
    b62f94c6
subselect.out 22 KB