Re: ERROR: ExecutePlan: (junk) `ctid' is NULL!
От
Dennis Gearon
Тема
Re: ERROR: ExecutePlan: (junk) `ctid' is NULL!
Дата
Msg-id
3EAFF73A.5080206@cvc.net
Ответ на
Re: ERROR: ExecutePlan: (junk) `ctid' is NULL! (Jim C. Nasby)
Список
Дерево обсуждения
ERROR: ExecutePlan: (junk) `ctid' is NULL! "Jim C. Nasby" <jim@nasby.net>
Re: ERROR: ExecutePlan: (junk) `ctid' is NULL! Tom Lane <tgl@sss.pgh.pa.us>
Re: ERROR: ExecutePlan: (junk) `ctid' is NULL! "Jim C. Nasby" <jim@nasby.net>
Re: ERROR: ExecutePlan: (junk) `ctid' is NULL! Dennis Gearon <gearond@cvc.net>
That looks REALLY useful. I haven't gotten to the point of needing to set more than one field at a time, yet, but I bet it will happen. Jim C. Nasby wrote: > On Tue, Apr 29, 2003 at 06:36:59PM -0400, Tom Lane wrote: > >>"Jim C. Nasby" writes: >> >>>stats=> UPDATE Tsummary >>>stats-> SET participants = count(distinct credit_id) >>>stats-> , teams = count(distinct team_id) >>>stats-> FROM email_contrib_today ect >>>stats-> WHERE ect.project_id = :ProjectID >>>stats-> ; >>>ERROR: ExecutePlan: (junk) `ctid' is NULL! >> >>We really oughta reject UPDATE commands with aggregates at the top >>level. It's not well-defined, it's illegal per SQL spec, and it tends >>to get the executor all confused ... > > > The problem is that pgsql doesn't support > > UPDATE table > SET (field1, field2, field3) = > (SELECT min(blah), max(blah), count(*) FROM table2) > > This makes it a real pain to code this using subselects. UPDATE ... FROM > is real handy to have, but I think there's also plenty of occasions > where the ability to set multiple fields at once would be very useful > too.
В списке pgsql-general по дате отправления