Re: MAP syntax for arrays

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: MAP syntax for arrays
Дата
Msg-id 14ac5bbe-e9fb-2ce4-2d6d-698f8da29449@iki.fi
обсуждение исходный текст
Ответ на Re: MAP syntax for arrays  (Ildar Musin <i.musin@postgrespro.ru>)
Список pgsql-hackers
On 08/05/18 18:11, Ildar Musin wrote:
> 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.

The consensus on this seems to be that we don't want this. Yeah, it's a 
handy syntax, but it's not that much better than using a subselect or a 
writing a user-defined function. And there's risk of future conflicts 
with the SQL standard. I'll mark this as "Rejected" in the commitfest.

- Heikki


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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: [HACKERS] possible self-deadlock window after badProcessStartupPacket
Следующее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: documentation about explicit locking