Maksim Myskov created IGNITE-21431: -------------------------------------- Summary: Datetime functions should return same value within transaction Key: IGNITE-21431 URL: https://issues.apache.org/jira/browse/IGNITE-21431 Project: Ignite Issue Type: New Feature Reporter: Maksim Myskov
It's guaranteed for datetime functions to be the same within a statement. >From SQL standard: {quote}The <datetime value function>s CURRENT_DATE, CURRENT_TIME, and CURRENT_TIMESTAMP respectively return the date, time, and timestamp from the current SQL-session context's statement times- tamp; the time and timestamp values are returned with time zone displacement equal to the current default time zone displacement of the SQL-session {quote} I believe it's an open question how to interpret the above, however, PostgreSQL, for example, states the following ([https://www.postgresql.org/docs/current/sql-createfunction.html|https://www.postgresql.org/docs/current/sql-createfunction.html:]): {quote}{{STABLE}} indicates that the function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values, but that its result could change across SQL statements. This is the appropriate selection for functions whose results depend on database lookups, parameter variables (such as the current time zone), etc. (It is inappropriate for {{AFTER}} triggers that wish to query rows modified by the current command.) *Also note that the {{current_timestamp}} family of functions qualify as stable, since their values do not change within a transaction.* {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)