Search Postgresql Archives

Re: cast record to array in plpgsql

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/11/17 Kurt <wazkelzu@xxxxxxx>:
> dear list,
>
> i'm trying to implement a general logging scheme with a plpgsql-trigger.
> The idea is, that after an update the trigger compares the elements of
> OLD and NEW and logs the changes made to the record columns. the trigger
> should be usable by any table, so the field names are not known
> beforehand. the natural solution seems to me to convert the records OLD,
> NEW into 2-dimensional arrays where the second dimension is used to
> address column-name and column_data and to step thru this array.
> e.g. NEW{id=55;name='test'} would become a_new[1][1]='id;
> a_new[1][2]=55; a_new[2][1]='name']; a_new[2][2] = 'test'.
> as i think, that this should be quite a common problem, i would like to
> ask whether some C-guru has already written a CAST-function for RECORD
> to ARRAY, or has some better idea to solve this task.
> thanks in advance, wz


hello

look on hstore contrib module to CVS HEAD

http://okbob.blogspot.com/2009/10/dynamic-access-to-record-fields-in.html

It is for PostgreSQL 8.5, but I believe so code is portable to older versions.

Regards
Pavel Stehule
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux