From:
Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To:
Robert Haas <robertmhaas(at)gmail(dot)com>
Cc:
Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, "David E(dot) Wheeler" <david(at)kineticode(dot)com>, "pgsql-hackers(at)postgresql(dot)org Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject:
Re: Review: listagg aggregate
Date:
2010-01-28 15:32:33
Message-ID:
162867791001280732w70ec68f5obc7916f16313ab4@mail.gmail.com (view raw or flat )
Thread:
2010-01-22 19:14:12 from David E(dot) Wheeler <david(at)kineticode(dot)com>
2010-01-24 09:19:41 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-24 16:57:36 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-24 18:45:00 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-25 05:29:38 from Scott Bailey <artacus(at)comcast(dot)net>
2010-01-25 10:09:33 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2010-01-25 10:34:59 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-25 13:57:10 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-25 14:12:37 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-25 19:29:39 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-26 06:59:35 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-25 14:56:06 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-26 18:14:47 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-27 15:58:17 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 00:45:07 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-28 02:47:07 from Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
2010-01-28 03:28:31 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-28 08:38:10 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 08:40:01 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 08:59:11 from Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
2010-01-28 13:53:26 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-28 14:01:19 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 14:17:00 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-28 15:32:33 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 17:08:41 from Hitoshi Harada <umi(dot)tanuki(at)gmail(dot)com>
2010-01-28 17:17:50 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 17:29:04 from Marko Tiikkaja <marko(dot)tiikkaja(at)cs(dot)helsinki(dot)fi>
2010-01-28 17:30:30 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-28 17:20:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-28 15:56:45 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-28 16:01:23 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-28 17:12:50 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 17:16:59 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-28 17:19:59 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 17:24:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-29 07:43:48 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-29 18:43:04 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-29 18:45:09 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-29 18:46:50 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-29 18:47:42 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-02-01 03:29:37 from Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
2010-02-01 05:07:52 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-02-01 12:11:27 from Thom Brown <thombrown(at)gmail(dot)com>
2010-02-01 13:40:50 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-02-01 13:51:42 from Thom Brown <thombrown(at)gmail(dot)com>
2010-02-01 15:40:37 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-28 18:57:50 from Greg Stark <stark(at)mit(dot)edu>
2010-01-28 08:37:46 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-28 16:02:21 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-28 17:14:37 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-25 19:27:57 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-25 20:14:22 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-26 07:14:13 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-26 11:08:16 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-26 11:23:58 from Alastair Turner <bell(at)ctrlf5(dot)co(dot)za>
2010-01-26 11:44:34 from Alastair Turner <bell(at)ctrlf5(dot)co(dot)za>
2010-01-26 12:03:25 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2010-01-26 15:24:09 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-26 17:36:13 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-26 18:04:23 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2010-01-26 18:09:05 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-26 18:15:15 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-26 18:38:37 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-27 22:09:14 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-26 14:15:35 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-01-26 14:56:07 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-26 16:03:57 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-26 16:15:36 from "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
2010-01-26 17:19:17 from "Erik Rijkers" <er(at)xs4all(dot)nl>
2010-01-26 17:39:19 from "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
2010-01-26 19:02:53 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2010-01-27 03:46:32 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2010-01-27 10:05:53 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-01-27 10:46:36 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2010-01-27 11:37:43 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-01-27 13:11:45 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2010-01-27 16:38:00 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-01-28 00:32:58 from "Erik Rijkers" <er(at)xs4all(dot)nl>
2010-01-28 01:09:14 from Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
2010-01-24 18:02:25 from Simon Riggs <simon(at)2ndQuadrant(dot)com>
2010-01-24 18:40:16 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
2010-01-24 18:43:54 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-01-25 15:04:59 from Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Lists:
pgsql-hackers
2010/1/28 Robert Haas <robertmhaas(at)gmail(dot)com>:
> On Thu, Jan 28, 2010 at 9:01 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
>> simplest could not be a best. There have to be only a const
>> expression. But we have not possibility to check it in pg.
>
> Well... that's an entirely arbitrary limitation. I admit that it
> doesn't seem likely that someone would want to have a variable
> delimiter, but putting extra effort and code complexity into
> preventing it seems pointless.
It is only a few lines with zero complexity.
The main issue of Takahiro proposal is "unclean" behave.
we can have a content
c1 c2
-----------
c11, c12,
c21, c22
and result of string_agg(c1, c2)
have to be ?? c11 c12 c21 or c11 c22 c21 ?? What if some content of c2
will be NULL ?? I checked oracle. Oracle doesn't allow variable as
delimiter. We can't check it. But we can fix first value and using it
as constant.
More - Takahiro proposal has one performance gain. It have to deTOAST
separator value in every cycle.
Takahiro has true - we can store length of separator and we can add
separator to cumulative value as binary value.
I prefer original behave with note in documentation - so as separator
is used a value on first row, when is used expression and not
constant.
Regards
Pavel
>
> ...Robert
>
In response to
Responses
pgsql-hackers by date
Next :From: Tom LaneDate: 2010-01-28 15:34:19
Subject : Re: Review: Typed Table
Previous :From : Tom LaneDate : 2010-01-28 15:31:34
Subject : Re: Largeobject Access Controls (r2460)