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" <jim@nasby.net>) |
Список | pgsql-general |
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 itwill happen. Jim C. Nasby wrote: > On Tue, Apr 29, 2003 at 06:36:59PM -0400, Tom Lane wrote: > >>"Jim C. Nasby" <jim@nasby.net> 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 по дате отправления: