Thread: pgsql: Match RelOptInfos by relids not pointer equality.
Match RelOptInfos by relids not pointer equality. Commit 1c2cb2744 added some code that tried to detect whether two RelOptInfos were the "same" rel by pointer comparison; but it turns out that inheritance_planner breaks that, through its shenanigans with copying some relations forward into new subproblems. Compare relid sets instead. Add a regression test case to exercise this area. Problem reported by Rushabh Lathia; diagnosis and fix by Amit Langote, modified a bit by me. Discussion: https://postgr.es/m/CAGPqQf3anJGj65bqAQ9edDr8gF7qig6_avRgwMT9MsZ19COUPw@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/11e22e486d8da6cef4d954c6f2952097df276fa7 Modified Files -------------- src/backend/partitioning/partprune.c | 2 +- src/test/regress/expected/partition_prune.out | 79 +++++++++++++++++++++++++++ src/test/regress/sql/partition_prune.sql | 6 ++ 3 files changed, 86 insertions(+), 1 deletion(-)