Thread: Problem w/trigger
I have several tables that use a trigger to automatically update a timestamp field when a record is modified. The trigger works fine using psql. When I connect using ODBC, a modified record is always updated with the time that I connected to the server - not the current time. For example, if I connect to the database at '2002-09-16 13:45:16-07' every record I change will have this timestamp. I know the trigger is executing because if I modify the record from the server console the record will have the current time in the timestamp field - then if I change it again from ODBC it will revert back to the old timestamp. What's going on?
Hi guys, how're you??? Sorry, my neame is Jose Avalis fro m Toronto Canada, I'm sending this mail because I have no idea what's going on!!!!! I've tried to register in your mail list last Friday, but I couldn't. Since then, I've been receiving mails from different people asking for features and ODBC Problems and I have no idea about that!!!! I'm just informing you guys about this situation because this people are probably asking ofr help and I can't help them; actualy I need a help too. So check the list and exclude my address from there because I can't help you; I don't know anything about Pastgres I'm just learning. Take care. Regards. JOSE ----- Original Message ----- From: "Pat Marchant" <pat@btree.net> To: <pgsql-odbc@postgresql.org> Sent: Monday, September 16, 2002 7:01 PM Subject: [ODBC] Problem w/trigger > I have several tables that use a trigger to automatically > update a timestamp field when a record is modified. The trigger > works fine using psql. When I connect using ODBC, a > modified record is always updated with the time that I > connected to the server - not the current time. > > For example, if I connect to the database at > '2002-09-16 13:45:16-07' every record I change will have this > timestamp. I know the trigger is executing because if I modify > the record from the server console the record will have the > current time in the timestamp field - then if I change it > again from ODBC it will revert back to the old timestamp. > > What's going on? > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster
Solved my own problem. The function the trigger was calling was using 'now'::datetime to get the timestamp. I changed that to CURRENT_TIMESTAMP and it worked. I don't know why it was working in psql by not in ODBC. Something to do with the function being cached? On Mon, Sep 16, 2002 at 03:01:14PM -0700, Pat Marchant wrote: > I have several tables that use a trigger to automatically > update a timestamp field when a record is modified. The trigger > works fine using psql. When I connect using ODBC, a > modified record is always updated with the time that I > connected to the server - not the current time. > > For example, if I connect to the database at > '2002-09-16 13:45:16-07' every record I change will have this > timestamp. I know the trigger is executing because if I modify > the record from the server console the record will have the > current time in the timestamp field - then if I change it > again from ODBC it will revert back to the old timestamp. > > What's going on?