BUG #5385: gd disallows agg function in subselect of update - Mailing list pgsql-bugs

From Corin
Subject BUG #5385: gd disallows agg function in subselect of update
Date
Msg-id 201003201125.o2KBPnPs035109@wwwmaster.postgresql.org
Whole thread Raw
List pgsql-bugs
The following bug has been logged online:

Bug reference:      5385
Logged by:          Corin
Email address:      wakathane@gmail.com
PostgreSQL version: 8.4.2
Operating system:   ubuntu amd64
Description:        gd disallows agg function in subselect of update
Details:

query:
UPDATE imagecontest_participations AS g SET rating_ratings_sum=(SELECT
SUM(rating_ratings_sum) FROM imagecontest_participation_ratings WHERE
imagecontest_participation_id=g.id)

error message:
cannot use aggregate function in UPDATE

while looking for a solution I found this commit:
http://archives.postgresql.org/pgsql-committers/2006-06/msg00299.php
... "Disallow aggregate functions in UPDATE commands (unless within a
sub-SELECT).
This is disallowed by the SQL spec because it doesn't have any very
sensible
interpretation." ...

As the subquery is not top-level but inside a subquery I suspect this being
an error. I don't want to use the UPDATE ... FROM syntax if possible to keep
compatibility with other sql servers.

pgsql-bugs by date:

Previous
From: tomas@tuxteam.de
Date:
Subject: Re: BUG #5380: error in xlog
Next
From: Corin
Date:
Subject: Re: BUG #5385: gd disallows agg function in subselect of update