2015-01-16 18:03 GMT+01:00 Jim Nasby <jim.na...@bluetreble.com>: > On 1/16/15 3:45 AM, Pavel Stehule wrote: > >> I am returning back to processing records in plpgsql. >> >> I am thinking so it can be simply processed with transformations to array. >> >> Now we have similar functions - hstore(row), row_to_json, ... but using >> of these functions can be a useless step. Any row variable can be >> transformed to 2D text array. >> > > How is it useless? Why wouldn't you just use JSON and be done with it? >
We can use a FOREACH IN ARRAY iteration in plpgsql (second variant is a implementation FOREACH for jsonb) so ROW->ARRAY is shorter than ROW->JSON->ARRAY or ROW->HSTORE->ARRAY > > Do you have some use cases you can share? > processing of NEW, OLD variables in triggers > > 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 > -- > Jim Nasby, Data Architect, Blue Treble Consulting > Data in Trouble? Get it in Treble! http://BlueTreble.com >