Thread: Re: Anomalies with the now() function

Re: Anomalies with the now() function

From
Michael Fuhr
Date:
[Please copy the mailing list on replies and please don't change
the Subject header.  I've restored the original subject and am
copying the list on this reply.  I'll look at this when I get a
chance, but maybe somebody else will answer before then.]

On Mon, Nov 21, 2005 at 05:28:30PM -0000, Byrne Kevin-kbyrne01 wrote:
> Thank you for your response and I would be intereted in your opinion on a further explanation of my problem:
>
> The first table table (call it Table A) gets the timestamp using timeofday - and assuming what you say below is true
-Table B will take now() as start of transaction time - so I can understand that part where they could be different but
consideringthat for moServer every operation happens in a single txn, following will be the case 
>
> Moserver receives the event - timestamps it as 't1'
> -- time lapse before moserver computes the transation 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 we found sometimes t2 < t1!..
>
> The query is done through odbc ( I think that might be additionally causing some strange behaviour?)..
>
> What do you think?

--
Michael Fuhr

Re: Anomalies with the now() function

From
Jaime Casanova
Date:
On 11/21/05, Michael Fuhr <mike@fuhr.org> wrote:
> [Please copy the mailing list on replies and please don't change
> the Subject header.  I've restored the original subject and am
> copying the list on this reply.  I'll look at this when I get a
> chance, but maybe somebody else will answer before then.]
>
> On Mon, Nov 21, 2005 at 05:28:30PM -0000, Byrne Kevin-kbyrne01 wrote:
> > Thank you for your response and I would be intereted in your opinion on a further explanation of my problem:
> >
> > The first table table (call it Table A) gets the timestamp using timeofday - and assuming what you say below is
true- Table B will take now() as start of transaction time - so I can understand that part where they could be
differentbut considering that for moServer every operation happens in a single txn, following will be the case 
> >
> > Moserver receives the event - timestamps it as 't1'
> > -- time lapse before moserver computes the transation and gives it to odbc.
> > Txn_begin-  now() gets frozen to 't2'
> > Insert - now() should put it as 't2'
> > Txn_end()- done.
> >

where is the server in moserver or in another machine you reach with
the odbc connection? if there are two machines involved maybe the
first time you get the time ;) is from one machine and the second time
from the other...

just an idea...

> > So firstly t2 should always be > t1 and the difference could be a few seconds but we found sometimes t2 < t1!..
> >
> > The query is done through odbc ( I think that might be additionally causing some strange behaviour?)..
> >
> > What do you think?
>
> --
> Michael Fuhr
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>


--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)