On Sun, 2015-02-22 at 03:14 +0100, Tomas Vondra wrote: > >> SELECT COUNT(x) FROM ( > >> SELECT a, array_agg(i) AS x FRM test GROUP BY 1 > >> ) foo; > > > > That's actually a bogus test -- array_agg is never executed. > > Really? How could that happen when the result of array_agg() is passed > to the COUNT()? Also, how could that allocate huge amounts of memory and > get killed by OOM, which happens easily with this query?
Oops, I misread that as "COUNT(*)". Count(x) will force array_agg() to be executed. Regards, Jeff Davis -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers