]> granicus.if.org Git - postgresql/commit
Improve regression test case to avoid depending on system catalog stats.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 13 Aug 2015 17:25:01 +0000 (13:25 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 13 Aug 2015 17:25:23 +0000 (13:25 -0400)
commit657cdb3a21b09a7f02497b8c2e9f46b7bfc59993
treecc8d94357a8af68885557d64921f00ba4f6f7042
parent1136971daef209a40eb495b4bd74ce50fbd0fe63
Improve regression test case to avoid depending on system catalog stats.

In commit 95f4e59c32866716 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 95f4e59c32866716'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.
src/test/regress/expected/join.out
src/test/regress/sql/join.sql