Re: MAP syntax for arrays

Поиск
Список
Период
Сортировка
От Ildar Musin
Тема Re: MAP syntax for arrays
Дата
Msg-id badceb4a-9f37-b243-8355-ae281a7ff1ac@postgrespro.ru
обсуждение исходный текст
Ответ на Re: MAP syntax for arrays  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Ответы Re: MAP syntax for arrays  (Heikki Linnakangas <hlinnaka@iki.fi>)
Список pgsql-hackers

On 08.05.2018 17:15, Peter Eisentraut wrote:
> On 5/8/18 09:19, Chapman Flack wrote:
>> On 05/08/2018 08:57 AM, Ildar Musin wrote:
>>>
>>> select map (pow(2, x) - 1 for x in array[1,2,3,4,5]);
>>
>> I wonder how efficient an implementation would be possible
>> strictly as a function, without grammar changes?
>
> Yeah, you can pass a function to another function (using regprocedure
> or just oid), so this should be possible entirely in user space.
>

The problem with this approach is that extension should either have
single map() function with input and output type of anyarray which
cannot be used when user needs to map int[] to text[] for example. Or
the other way there should be a set of map functions for different
intput/output types.

Another thing is that this approach is not as versatile since user need
to create a function before running map, while with the proposed patch
they could run arbitrary expression over the array directly.

-- 
Ildar Musin
i.musin@postgrespro.ru


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

Предыдущее
От: Paul Howells
Дата:
Сообщение: SQL:2011 Valid-Time Support
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Cast jsonb to numeric, int, float, bool