db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6569) NULLIF may return incorrect results if first operand calls non-deterministic function
Date Fri, 16 May 2014 10:53:13 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13999052#comment-13999052
] 

Dag H. Wanvik commented on DERBY-6569:
--------------------------------------

I thought this would clearly be a bug since the standard requires non-deterministic value
for <value_expression> contained in the <case abbreviation> ? [6.12 SR 1a, 1c]


> NULLIF may return incorrect results if first operand calls non-deterministic function
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-6569
>                 URL: https://issues.apache.org/jira/browse/DERBY-6569
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.10.2.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d6569-1a.diff
>
>
> The SQL standard doesn't allow non-deterministic function calls in the operands of NULLIF.
Derby does however allow such calls, but the results may not be as one might expect.
> Take an expression such as NULLIF(expr, 1). It shouldn't ever return 1. If expr is 1,
it should return NULL, and if expr is not 1, it should return expr.
> If expr contains a call to a non-deterministic function, it may actually end up returning
1 sometimes:
> {noformat}
> ij> SELECT NULLIF(INT(RANDOM()*2), 1) FROM SYS.SYSTABLES;
> 1          
> -----------
> 1          
> 1          
> 1          
> NULL       
> NULL       
> NULL       
> NULL       
> 0          
> 1          
> NULL       
> NULL       
> 0          
> 0          
> NULL       
> 0          
> 1          
> 0          
> NULL       
> 1          
> 0          
> NULL       
> NULL       
> NULL       
> 23 rows selected
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message