Re: proposal: row_to_array function
От | Jim Nasby |
---|---|
Тема | Re: proposal: row_to_array function |
Дата | |
Msg-id | 54B94D85.8030500@BlueTreble.com обсуждение исходный текст |
Ответ на | Re: proposal: row_to_array function (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: proposal: row_to_array function
|
Список | pgsql-hackers |
On 1/16/15 11:22 AM, Pavel Stehule wrote: > > > 2015-01-16 18:03 GMT+01:00 Jim Nasby <Jim.Nasby@bluetreble.com <mailto:Jim.Nasby@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 I think the real problem here is that we're inventing a bunch of different ways to do the same thing: iterate over a set.Instead of doing that, should we add the idea of an iterator to the type system? That would make sense for arrays, hstore,json and XML. > Do you have some use cases you can share? > > > processing of NEW, OLD variables in triggers Note that last time I checked you couldn't do something like NEW.variable, and I don't think you could use EXEC to do iteither. So there's more needed here than just converting a record to an array. > 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<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 > > -- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com
В списке pgsql-hackers по дате отправления: