1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Doc: clarify description of current-date/time functions.

Minor wordsmithing of the func.sgml paragraph describing
statement_timestamp() and allied functions: don't switch between
"statement" and "command" when those are being used to mean about
the same thing.

Also, add some text to protocol.sgml describing the perhaps-surprising
behavior these functions have in a multi-statement Query message.

Reported-by: P M <petermittere@gmail.com>
Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at>
Reviewed-by: David G. Johnston <david.g.johnston@gmail.com>
Discussion: https://postgr.es/m/175223006802.3157505.14764328206246105568@wrigleys.postgresql.org
Backpatch-through: 13
This commit is contained in:
Tom Lane
2025-07-15 16:35:42 -04:00
parent ff0bcb248e
commit 8ffd9ac3b2
2 changed files with 13 additions and 3 deletions

View File

@ -11247,10 +11247,10 @@ now()
statement (more specifically, the time of receipt of the latest command
message from the client).
<function>statement_timestamp()</function> and <function>transaction_timestamp()</function>
return the same value during the first command of a transaction, but might
differ during subsequent commands.
return the same value during the first statement of a transaction, but might
differ during subsequent statements.
<function>clock_timestamp()</function> returns the actual current time, and
therefore its value changes even within a single SQL command.
therefore its value changes even within a single SQL statement.
<function>timeofday()</function> is a historical
<productname>PostgreSQL</productname> function. Like
<function>clock_timestamp()</function>, it returns the actual current time,

View File

@ -886,6 +886,16 @@ SELCT 1/0;<!-- this typo is intentional -->
Errors detected at semantic analysis or later, such as a misspelled
table or column name, do not have this effect.
</para>
<para>
Lastly, note that all the statements within the Query message will
observe the same value of <function>statement_timestamp()</function>,
since that timestamp is updated only upon receipt of the Query
message. This will result in them all observing the same
value of <function>transaction_timestamp()</function> as well,
except in cases where the query string ends a previously-started
transaction and begins a new one.
</para>
</sect3>
</sect2>