[teiid-issues] [JBoss JIRA] (TEIID-5290) NOW() function returns the same value for each call in BEGIN...END block
dalex dalex (JIRA)
issues at jboss.org
Mon Mar 19 12:36:00 EDT 2018
[ https://issues.jboss.org/browse/TEIID-5290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547995#comment-13547995 ]
dalex dalex commented on TEIID-5290:
------------------------------------
> Have you found other pl/sql languages that behave differently?
{code:sql}
BEGIN
DECLARE @c integer = 20000;
Declare @tem table (ts datetime);
WHILE (@c > 0)
BEGIN
INSERT INTO @tem VALUES((select getdate()));
Set @c= @c-1;
END
select min(ts), max(ts) from @tem;
END ;;
{code}
on MSSQL the now() function is treated as a non-deterministic value showing the following results:
{code:noformat}
2018-03-19 17:18:42.547 2018-03-19 17:18:43.413
{code}
> NOW() function returns the same value for each call in BEGIN...END block
> ------------------------------------------------------------------------
>
> Key: TEIID-5290
> URL: https://issues.jboss.org/browse/TEIID-5290
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Priority: Blocker
>
> Run the following queries:
> {code:sql}
> BEGIN
> declare timestamp ts1 = select now();
> DECLARE integer c = 20000;
> WHILE (c > 0)
> BEGIN
> c= c-1;
> END
> declare timestamp ts2 = select now();
> select ts1, ts2;
> END ;;
> {code}
> and
> {code:sql}
> BEGIN
> DECLARE integer c = 20000;
> create local temporary table #tem(ts timestamp);
> WHILE (c > 0)
> BEGIN
> INSERT INTO #tem VALUES((select NOW()));
> c= c-1;
> END
> select * from #tem;
> END ;;
> {code}
> NOW() function returns the same value for each call in BEGIN...END block and it doesn't matter if it is atomic or not.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the teiid-issues
mailing list