Re: proposal: row_to_array function

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: proposal: row_to_array function
Дата
Msg-id CAFj8pRAec3CV_ShO49D=f1=wAyDUsvxFXuu6d9vcHsbBEEXY-w@mail.gmail.com
обсуждение исходный текст
Ответ на Re: proposal: row_to_array function  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers


2015-01-17 7:26 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:

2015-01-16 22:35 GMT+01:00 Andrew Dunstan <andrew@dunslane.net>:

On 01/16/2015 12:22 PM, Pavel Stehule wrote:


        There two possible transformations:

        row_to_array --> [[key1, value1],[key2, value2], ...]
        row_to_row_array --> [(key1, value1), (key2, value2), ... ]


    If we're going to go that route, I think it makes more sense to
    create an actual key/value type (ie:
    http://pgxn.org/dist/pair/doc/pair.html) and return an array of that.


ok

    <http://BlueTreble.com>



I think we'd possibly be better off with simply returning a flat array, [key1, value1, ...]

Thats's what the hstore(text[]) and json_object(text[]) functions accept, along with the 2D variant, if we want a precedent.

It can be one of supported variant. I should not be one, because we cannot to simply iterate over it

Next possibility is teach FOREACH to take key and value in one step.

I looked to code and iteration over pair (key, value) is more simple

FOREACH supports target list, but source should be composite array.

ostgres=# do $$                            
declare a int;
  b int;
begin
  foreach a,b in array ARRAY[(1,2),(3,4)]
  loop
    raise notice 'a = %, b = %', a,b;
  end loop;
end;
$$ language plpgsql;
NOTICE:  a = 1, b = 2
NOTICE:  a = 3, b = 4
DO

Conversion from ARRAY[k1,v1,k2,v2, ... ] is not well consistent with current design
 

Regards

Pavel
 

cheers

andrew



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

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: Better way of dealing with pgstat wait timeout during buildfarm runs?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Re: Better way of dealing with pgstat wait timeout during buildfarm runs?