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
|
Список | 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 по дате отправления: