sorting a union over inheritance vs pathkeys

From: Michael Glaesemann <grzm(at)seespotcode(dot)net>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: sorting a union over inheritance vs pathkeys
Date: 2014-06-25 21:45:01
Message-ID: A3C939A0-3E4F-470A-B781-99BA6EAEC70B@seespotcode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I’ve come across an issue when creating a union over tables which includes inheritance:

CREATE TABLE events (event_id INT NOT NULL);
-- CREATE TABLE
CREATE UNIQUE INDEX events_event_id_key ON events (event_id);
-- CREATE INDEX

CREATE TABLE legacy_events (event_id INT NOT NULL);
-- CREATE TABLE
CREATE UNIQUE INDEX legacy_events_event_id_key ON legacy_events (event_id);
-- CREATE INDEX

CREATE TABLE events_2 () INHERITS (events);
-- CREATE TABLE
-- this index isn't necessary to reproduce the error
CREATE UNIQUE INDEX events_2_event_id_key ON events_2 (event_id);
-- CREATE INDEX

SELECT event_id
FROM (SELECT event_id
FROM events
UNION ALL
SELECT event_id
FROM legacy_events) _
ORDER BY event_id;
-- ERROR: could not find pathkey item to sort

It’ll work if the indexes are removed. Using PRIMARY KEY in lieu of NOT NULL and UNIQUE indexes still exhibits the issue.

I’ve seen this in 9.2.8 and 9.3.4. I haven’t tested this in 9.4 or earlier than 9.2.

Any thoughts?

Michael Glaesemann
grzm seespotcode net

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2014-06-25 22:04:48 Re: better atomics - v0.5
Previous Message Heikki Linnakangas 2014-06-25 21:42:37 Re: better atomics - v0.5