BUG #5794: 'explain' fails, but executing sql is ok. - Mailing list pgsql-bugs

From Peter Speck
Subject BUG #5794: 'explain' fails, but executing sql is ok.
Date
Msg-id 201012191727.oBJHRlkg009881@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #5794: 'explain' fails, but executing sql is ok.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5794
Logged by:          Peter Speck
Email address:      speck@vitality.dk
PostgreSQL version: 9.0.2
Operating system:   Mac OS X Server 10.6.5
Description:        'explain' fails, but executing sql is ok.
Details:

The following SQL succeeds when executed as-is, but when the SELECT is
prepended with 'EXPLAIN', it fails with:

ERROR:  XX000: unexpected CASE WHEN clause: 314
LOCATION:  get_rule_expr, ruleutils.c:4939

CREATE TABLE z (tag VARCHAR(30)); -- empty

SELECT t.*
FROM (
  SELECT
         CASE tag
         WHEN 'a' THEN 'a'
         ELSE
             CASE TRUE
             WHEN (tag LIKE 'abc%' OR tag LIKE 'def%' ) THEN 'b'
             ELSE 'c'
             END
          END AS stuff
  FROM z
) AS t
ORDER BY CASE TRUE WHEN t.stuff LIKE 'ghi%' THEN t.stuff ELSE 'z' END;

pgsql-bugs by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [Fwd: DBD::Pg on HP-UX 11.31 64bit]
Next
From: Tom Lane
Date:
Subject: Re: BUG #5794: 'explain' fails, but executing sql is ok.