This crashes, apparently it tries to look up the result type on a NULL
planstate:
with recursive z(i) as ( select * from t union all (with a(i) as (select * from z) select * from
a) )select * from z;
Incidentally, why are the parentheses required around the second branch of the
union?
#0 0x081b0d39 in ExecGetResultType (planstate=0x0) at execUtils.c:535
#1 0x081becfe in ExecInitWorkTableScan (node=0x851fc08, estate=0x8523220, eflags=0) at nodeWorktablescan.c:140
#2 0x081a6698 in ExecInitNode (node=0x851fc08, estate=0x8523220, eflags=0) at execProcnode.c:218
#3 0x081a3569 in InitPlan (queryDesc=0x8522e18, eflags=0) at execMain.c:676
#4 0x081a2cd4 in ExecutorStart (queryDesc=0x8522e18, eflags=0) at execMain.c:202
#5 0x0826e74e in PortalStart (portal=0x851ae00, params=0x0, snapshot=0x0) at pquery.c:528
#6 0x08269529 in exec_simple_query ( query_string=0x8516df0 "with recursive z(i) as (select * from t union all
(witha(i) as (select * from z) select * from a)) select * from z;") at postgres.c:955
#7 0x0826d384 in PostgresMain (argc=4, argv=0x84878a8, username=0x8487880 "stark") at postgres.c:3569
#8 0x08238a67 in BackendRun (port=0x84a24c0) at postmaster.c:3258
#9 0x08237fa2 in BackendStartup (port=0x84a24c0) at postmaster.c:2872
#10 0x082358e4 in ServerLoop () at postmaster.c:1283
#11 0x0823524e in PostmasterMain (argc=3, argv=0x8484428) at postmaster.c:1031
#12 0x081cfa89 in main (argc=3, argv=0x8484428) at main.c:188
-- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's 24x7 Postgres support!