BUG #5263: Query execution fails with "ERROR: FULL JOIN is only supported with merge-joinable join conditions" - Mailing list pgsql-bugs

From Jozsef Szalay
Subject BUG #5263: Query execution fails with "ERROR: FULL JOIN is only supported with merge-joinable join conditions"
Date
Msg-id 201001050143.o051hHFu063915@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5263: Query execution fails with "ERROR: FULL JOIN is only supported with merge-joinable join conditions"  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5263
Logged by:          Jozsef Szalay
Email address:      jszalay@storediq.com
PostgreSQL version: 8.4.2
Operating system:   Windows, Linux (Fedora/CentOS)
Description:        Query execution fails with "ERROR:  FULL JOIN is only
supported with merge-joinable join conditions"
Details:

Create a table:

CREATE TABLE test
(
  id integer,
  description character varying,
  CONSTRAINT test_pkey PRIMARY KEY (id)
);

Execute the following query:

SELECT *
FROM (SELECT id, 0 AS value
      FROM test
      WHERE description = 'abc'
     ) t1
     FULL OUTER JOIN
     (SELECT id, 1 AS value
      FROM test
      WHERE description = 'def'
     ) t2 USING (id, value);

You'll get the "ERROR:  FULL JOIN is only supported with merge-joinable join
conditions"

This used to work with 8.3.7 (and before).

I can make the query work by adding an "ORDER BY id, value" clause to each
sub-query or if I use the same constant (e.g. "0") as value in both
sub-queries.

pgsql-bugs by date:

Previous
From: Robert Haas
Date:
Subject: Re: BUG #5261: Invalide page header
Next
From: "venkat nemani"
Date:
Subject: BUG #5264: could not create shared memory segment: Invalid argument