| 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: | Whole Thread | Raw Message | 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
| 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 |