Re: modelling history in a database
Date: Sun, 16 Feb 2003 03:41:55 GMT
Message-ID: <7MD3a.18091$4F3.894868_at_news2.east.cox.net>
Paul Vernon wrote:
> "Alan Gutierrez" <ajglist_at_izzy.net> wrote in message
> news:GVh3a.10623$4F3.524954_at_news2.east.cox.net...
> [snip]
>
>>The DDL history tables assoicated triggers and past views are all
>>genrated by a Perl script. Becasue it is so easy to create history
>>tables, I maintain them for all the tables in my application.
>
> Do you use a trigger to populate your Trasnsaction table, or is it an
> application thing? If the latter then that makes your database application
> specific, which is a shame.
>
> I can do it with triggers in DB2 if I use CURRENT TIMESTAMP as the
> 'transaction id'. It gets a bit messy due to the need to cater for updates
> through UNION ALL views and ATOMIC statements, but it could still be workable
> in a production system.
Mr Vernon
The transaction table is fed through a stored procedure, so the
application must remember to call this stored procedure before any
DML. Otherwise, the history tables are transparent, all triggers
(actually, PostgreSQL rules). If a client is only interested in
selects, the transaction need not be created.
I am designing for application independence. The code is PostgreSQL
specific, however. I'll be looking for a way to create the
transaction row automatically, through an event exposed by
PostgreSQL, or perhaps just by checking to see if it is there when
it is needed.
You'll have to excuse me. Your last message was thought provoking. I'm
gathering myself so I can respond intelligently. I'm working on this
history implementatation this weekend. I'll have more to say when I
stitch things up. I'm certian to abandon the deleted column at your
suggestion. Need to get some answeres about the PostgreSQL
current_timestamp before I abandon the transaction_id.
Alan Gutierrez - ajglist_at_izzy.net Received on Sun Feb 16 2003 - 04:41:55 CET
