• Tom Lane's avatar
    Improve regression test case to avoid depending on system catalog stats. · 6a0779a3
    Tom Lane authored
    In commit 95f4e59c I added a regression test case that examined
    the plan of a query on system catalogs.  That isn't a terribly great idea
    because the catalogs tend to change from version to version, or even
    within a version if someone makes an unrelated regression-test change that
    populates the catalogs a bit differently.  Usually I try to make planner
    test cases rely on test tables that have not changed since Berkeley days,
    but I got sloppy in this case because the submitted crasher example queried
    the catalogs and I didn't spend enough time on rewriting it.  But it was a
    problem waiting to happen, as I was rudely reminded when I tried to port
    that patch into Salesforce's Postgres variant :-(.  So spend a little more
    effort and rewrite the query to not use any system catalogs.  I verified
    that this version still provokes the Assert if 95f4e59c's code fix
    is reverted.
    
    I also removed the EXPLAIN output from the test, as it turns out that the
    assertion occurs while considering a plan that isn't the one ultimately
    selected anyway; so there's no value in risking any cross-platform
    variation in that printout.
    
    Back-patch to 9.2, like the previous patch.
    6a0779a3
join.sql 45.5 KB