Reject non-constant date/time/timestamp literals
------------------------------------------------

                 Key: CORE-5717
                 URL: http://tracker.firebirdsql.org/browse/CORE-5717
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
            Reporter: Adriano dos Santos Fernandes


There is date, time and timestamp literals with this syntax:

DATE '2018-01-01'
TIME '10:00:00'
TIMESTAMP '2018-01-01 10:00:00'

They are parsed at compile time.

However, there are weird situation with some literals.

We may use things as DATE 'TODAY', DATE 'TOMORROW', DATE 'YESTERDAY', TIME 
'NOW' and TIMESTAMP 'NOW'.

And different than these strings used in CAST, these are literais
(evaluated at compile time).

So if you create a procedure/function with them, they value are
refreshed every time you recompile (from SQL) the routine, but never
refreshed when you run it.

Also imagine a compiled statement cache (implementation detail), a
"select timestamp 'now' from rdb$database" will give stalled results.

These strings will not be accepted with the literals syntax anymore.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to