Re: unplanned sub-select error?
От | Kyle Bateman |
---|---|
Тема | Re: unplanned sub-select error? |
Дата | |
Msg-id | 43837E9B.20306@actarg.com обсуждение исходный текст |
Ответ на | Re: unplanned sub-select error? (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: unplanned sub-select error?
Re: unplanned sub-select error? |
Список | pgsql-sql |
Tom Lane wrote: >Kyle Bateman <kyle@actarg.com> writes: > > >>I have a query: >>insert into mtr_reg_v_wt (ropnum, inum, pnum, rquant, value, status, >>ddate, fr_proj, to_proj) values (28985,1,1014,1,(select cost from >>prd_part where pnum = 1014),'work','2005-Nov-15',50,75); >> >> > > > >>That used to work fine under 7.1.3 but now gives the error: >> >> > > > >>ERROR: cannot handle unplanned sub-select >> >> > >You need to offer a little more context, like what PG version you are >using now and what is the underlying DDL --- I suspect some rules or >views are involved here, but you didn't show them to us. > > > Sorry, you're right. I have now confirmed that this only happens when updating via a view/rule (as you suspected). Attached is a minimalist sql file that demonstrates the same error message from a blank database. I'm using 8.1.0. I'm pretty sure this problem did not exist on 8.0.3. Kyle -- Expose the "unplanned sub-select" error message create table parts ( partnum varchar(18) primary key, cost float8 ); create table shipped ( ttype char(2), ordnum int4, partnum varchar(18) references parts, value float8, primary key (ttype, ordnum) ); create view shipped_view as select * from shipped where ttype = 'wt'; create rule shipped_view_insert as on insert to shipped_view do instead insert into shipped (ttype, ordnum, partnum, value) values ('wt', new.ordnum, new.partnum, new.value); insert into parts (partnum, cost) values (1, 1234.56); insert into shipped_view (ordnum, partnum, value) values (100,1,(select cost from parts where partnum = 1));
В списке pgsql-sql по дате отправления: