Re: Additional current timestamp values
От | Bruce Momjian |
---|---|
Тема | Re: Additional current timestamp values |
Дата | |
Msg-id | 200603202317.k2KNHM110309@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Additional current timestamp values (Neil Conway <neilc@samurai.com>) |
Список | pgsql-patches |
Neil Conway wrote: > Bruce Momjian wrote: > > <function>CURRENT_TIMESTAMP</> might not be the > > transaction start time on other database systems. > > For this reason, and for completeness, > > <function>transaction_timestamp</> is provided. > > Well, transaction_timestamp() is even more unlikely to be the > transaction start time on other database systems :) If the user wants > non-standard syntax for getting the timestamp at which the current > transaction began, we already have now(). True, which is why I brought it up. I think a good argument can be made that we don't need two non-standard ways of specifying the transaction timestamp, but we need to decide that as a group. > > One trick is that these should be the same: > > > > test=> SELECT statement_timestamp(), transaction_timestamp(); > > Should they be? It seems quite reasonable to me that the DBMS begins a > transaction internally (setting transaction_timestamp()), and then a > short while later begins executing the statement submitted by the user, > at which point statement_timestamp() is set. > > Perhaps ensuring they are identical for single-statement transactions is > the best behavior, I just don't think this is required behavior. Yea, perhaps it isn't required, but it seems like a good idea. It will avoid confusion and seems logical. :-) > > And these should be the same: > > > > $ psql -c ' > > INSERT INTO t VALUES (statement_timestamp()); > > INSERT INTO t VALUES (statement_timestamp());' test > > INSERT 0 1 > > Uh, why should these be the same? This gets into cases where a single statement generates more than one parsenode, e.g. rules. We want all the parse nodes to have the same timestamp. We had a long discussion that the statement time isn't really meaningful/logical, so I went with code that said the statement arrival time is the proper time to return, and be consistent. -- Bruce Momjian http://candle.pha.pa.us SRA OSS, Inc. http://www.sraoss.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: