Re: Review: listagg aggregate

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Review: listagg aggregate
Дата
Msg-id 162867791001280601y2839ffd6i5dee0b16418ec728@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Review: listagg aggregate  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Review: listagg aggregate  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
2010/1/28 Robert Haas <robertmhaas@gmail.com>:
> On Thu, Jan 28, 2010 at 3:59 AM, Takahiro Itagaki
> <itagaki.takahiro@oss.ntt.co.jp> wrote:
>> Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>
>>> 2010/1/28 Pavel Stehule <pavel.stehule@gmail.com>:
>>> > 2010/1/28 David E. Wheeler <david@kineticode.com>:
>>> >> On Jan 27, 2010, at 6:47 PM, Takahiro Itagaki wrote:
>>> >>
>>> >>> * I think we cannot cache the delimiter at the first call.
>>> >>>   For example,
>>> >>>     SELECT string_agg(elem, delim)
>>> >>>       FROM (VALUES('A', ','), ('B', '+'), ('C', '*')) t(elem, delim);
>>> >>>   should return 'A+B*C' rather than 'A,B,C'.
>>> >
>>> > no, has not.
>>> What is use case for this behave??
>>
>> I also think this usage is nonsense, but seems to be the most consistent
>> behavior for me. I didn't say anything about use-cases, but just capability.
>> Since we allow such kinds of usage for now, you need to verify the
>> delimiter is not changed rather than ignoring it if you want disallow
>> to change the delimiter during an aggregation.
>>
>> Of course you can cache the first delimiter at start, and check delimiters
>> are not changed every calls -- but I think it is just a waste of cpu cycle.
>
> Agreed.  Not caching it seems the simplest solution.

simplest could not be a best. There have to be only a const
expression. But we have not possibility to check it in pg.

Pavel



>
> ...Robert
>


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Review: listagg aggregate
Следующее
От: Pavel Stehule
Дата:
Сообщение: can somebody execute this query on Oracle 11.2g and send result?