ODBC Layer and the now() function - Mailing list pgsql-general

From Byrne Kevin-kbyrne01
Subject ODBC Layer and the now() function
Date
Msg-id 496E31A690F7D311B93C0008C789494C1241DA14@zei02exm01.cork.cig.mot.com
Whole thread Raw
Responses Re: ODBC Layer and the now() function
Re: ODBC Layer and the now() function
List pgsql-general
Has anyone seen any strange behaviour as regards the now() function when accessing a db via odbc layer. The behaviour I
haveseen (which I have mentioned in pervious post) is as follows: 

I have a trigger set up on a db - when a row is added to a certain table (say Table A) in my db the trigger calls a
functionand then the function enters another line in a related table (say Table B). Here's the problem, the first
additionto Table A may shows the time of the addition as, for example 19:01:53. This is correct. The second addition,
triggeredby the first additon, shows a time of say 19:01:10! The addition of the row to Table B uses the now() function
todetermine the time the new row is added to the table. This should in theory match the time (to within a few
millisecondsat least) the first row was added, since the trigger is immediate. However, I am seeing major time
differences? 

For the first table, Table A, timestamp is obtained using timeofday. As mentioned the second table uses now(). There is
apossibility that these two times will differ slightly. However, I do not understand why the time of entry into the
secondtable could be earlier than the first table!? i.e. 

Moserver receives the event - timestamps it as 't1'
-- time lapse before moserver computes the transaction and gives it to odbc.
Txn_begin-  now() gets frozen to 't2'
Insert - now() should put it as 't2'
Txn_end()- done.

So firstly t2 should always be > t1 and the difference could be a few seconds but I found sometimes t2 < t1!..


pgsql-general by date:

Previous
From: Nicola.Scioscia@ascot.tn.it
Date:
Subject: plperlu function
Next
From: "John D. Burger"
Date:
Subject: Re: Reduce NUMERIC size by 2 bytes, reduce max length to 508 digits