Forward-patch regression test for "could not find pathkey item to sort".
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 26 Jun 2014 17:40:50 +0000 (10:40 -0700)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 26 Jun 2014 17:41:48 +0000 (10:41 -0700)
Commit a87c729153e372f3731689a7be007bc2b53f1410 already fixed the bug this
is checking for, but the regression test case it added didn't cover this
scenario.  Since we managed to miss the fact that there was a bug at all,
it seems like a good idea to propagate the extra test case forward to HEAD.

src/test/regress/expected/union.out
src/test/regress/sql/union.sql

index 6a7d0f2a889cb9c59755b8e322bb39c8fe98569f..a678e960d49b36402d9cf63e0dd1f6f153aff3d0 100644 (file)
@@ -551,6 +551,28 @@ explain (costs off)
 reset enable_seqscan;
 reset enable_indexscan;
 reset enable_bitmapscan;
+-- This simpler variant of the above test has been observed to fail differently
+create table events (event_id int primary key);
+create table other_events (event_id int primary key);
+create table events_child () inherits (events);
+explain (costs off)
+select event_id
+ from (select event_id from events
+       union all
+       select event_id from other_events) ss
+ order by event_id;
+                        QUERY PLAN                        
+----------------------------------------------------------
+ Merge Append
+   Sort Key: events.event_id
+   ->  Index Scan using events_pkey on events
+   ->  Sort
+         Sort Key: events_child.event_id
+         ->  Seq Scan on events_child
+   ->  Index Scan using other_events_pkey on other_events
+(7 rows)
+
+drop table events_child, events, other_events;
 reset enable_indexonlyscan;
 -- Test constraint exclusion of UNION ALL subqueries
 explain (costs off)
index 5205435e2fd4e75b3b7ded9bd960ec1f14606ea5..9ff1551e5de4087e2ee46e44d45a227fc41c1f2d 100644 (file)
@@ -229,6 +229,22 @@ explain (costs off)
 reset enable_seqscan;
 reset enable_indexscan;
 reset enable_bitmapscan;
+
+-- This simpler variant of the above test has been observed to fail differently
+
+create table events (event_id int primary key);
+create table other_events (event_id int primary key);
+create table events_child () inherits (events);
+
+explain (costs off)
+select event_id
+ from (select event_id from events
+       union all
+       select event_id from other_events) ss
+ order by event_id;
+
+drop table events_child, events, other_events;
+
 reset enable_indexonlyscan;
 
 -- Test constraint exclusion of UNION ALL subqueries