Re: Aggregate functions with FROM clause and ROW_COUNT diagnostics

From: Alexey Dokuchaev <danfe(at)nsu(dot)ru>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Aggregate functions with FROM clause and ROW_COUNT diagnostics
Date: 2018-05-21 17:01:13
Message-ID: 20180521170113.GA6259@regency.nsu.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, May 21, 2018 at 12:20:52PM -0400, Tom Lane wrote:
> Alexey Dokuchaev <danfe(at)nsu(dot)ru> writes:
> > On Mon, May 21, 2018 at 10:45:27AM -0400, Tom Lane wrote:
> >> OP could do something like
> >> select json_agg(_) as j, count(*) as c INTO r FROM (
>
> > Thanks, I've arrived at the same solution (using local RECORD) eventually.
> > It works as intended, but I still need to assign OUT parameters by hand:
>
> > retcode := tmp.c;
> > result := tmp.j;
>
> Actually, it should work to do
>
> select json_agg(_), count(*) INTO result, retcode FROM ...

Bingo! Thanks Tom, you're the best (as always). Quick reality check
question: are count(*) vs. count(_) equivalent above? I vaguely recall
that count(1) got somewhat slower than count(*) after 8.2, but cannot
back it up right now.

./danfe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Frost 2018-05-21 17:01:32 Re: Will Altering and Modifying tables during backup result in a corrupted server after the restore?
Previous Message Tom Lane 2018-05-21 16:54:56 Re: Aggregate functions with FROM clause and ROW_COUNT diagnostics