Peter Eisentraut <peter_e@gmx.net> writes:
> Tom Lane writes:
>> That is what now() is defined to return: transaction start time.
> Then CURRENT_TIMESTAMP is in violation of SQL.
Au contraire, if it did not behave that way it would violate the spec.
See SQL92 6.8 general rule 3:
3) If an SQL-statement generally contains more than one reference to one or more <datetime value
function>s,then all such ref- erences are effectively evaluated simultaneously. The time of
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of the <datetime value function> during the execution
of the SQL-statement is implementation-dependent.
regards, tom lane