Has anyone seen any strange behaviour as regards the now() function when accessing a db via odbc layer. The behaviour I have seen (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 function and then the function enters another line in a related table (say Table B). Here's the problem, the first addition to Table A may shows the time of the addition as, for example 19:01:53. This is correct. The second addition, triggered by the first additon, shows a time of say 19:01:10! The addition of the row to Table B uses the now() function to determine the time the new row is added to the table. This should in theory match the time (to within a few milliseconds at 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 a possibility that these two times will differ slightly. However, I do not understand why the time of entry into the second table 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!..
---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives?