Re: Additional current timestamp values

Поиск
Список
Период
Сортировка
От Neil Conway
Тема Re: Additional current timestamp values
Дата
Msg-id 441F351E.8030203@samurai.com
обсуждение исходный текст
Ответ на Additional current timestamp values  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Additional current timestamp values  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Additional current timestamp values  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
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().

> 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.

> 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?

-Neil

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Removal of backward-compatibility docs mentions
Следующее
От: Neil Conway
Дата:
Сообщение: Re: Additional current timestamp values