You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Michael Bouschen (JIRA)" <ji...@apache.org> on 2014/10/30 21:17:35 UTC

[jira] [Comment Edited] (JDO-650) Support for conditional operator ? : in JDOQL

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

Michael Bouschen edited comment on JDO-650 at 10/30/14 8:17 PM:
----------------------------------------------------------------

I propose the following spec changes in B JDOQL BNF:

- Chapter B2 Single-String JDOQL

Range:
     range ExpressionNoIf , ExpressionNoIf

- Chapter B3 Filter Specification

Expression:
    ExpressionNoIf
    if ( ExpressionNoIf ) else Expression

ExpressionNoIf:
    UnaryExpression
    Expression InfixOp UnaryExpression

- Chapter B.8 Ordering Specification

OrderingSpec:
    ExpressionNoIf Ascending NullPositionopt
    ExpressionNoIf Descending NullPositionopt

- Chapter B.10 Grouping Specification

GroupingSpecs:
    ExpressionNoIf
    GroupingSpecs , ExpressionNoIf

HavingSpec:
    having ExpressionNoIf


was (Author: mbo):
I propose the following spec changes in chapter B JDOQL BNF:

B2 Single-String JDOQL

Range:
     range ExpressionNoIf , ExpressionNoIf

B3 Filter Specification

Expression:
    ExpressionNoIf
    if ( ExpressionNoIf ) else Expression

ExpressionNoIf:
    UnaryExpression
    Expression InfixOp UnaryExpression

B.8 Ordering Specification

OrderingSpec:
    ExpressionNoIf Ascending NullPositionopt
    ExpressionNoIf Descending NullPositionopt

B.10 Grouping Specification

GroupingSpecs:
    ExpressionNoIf
    GroupingSpecs , ExpressionNoIf

HavingSpec:
    having ExpressionNoIf

> Support for conditional operator ? : in JDOQL
> ---------------------------------------------
>
>                 Key: JDO-650
>                 URL: https://issues.apache.org/jira/browse/JDO-650
>             Project: JDO
>          Issue Type: New Feature
>          Components: specification, tck
>    Affects Versions: JDO 2 maintenance release 2 (2.2)
>            Reporter: Michael Bouschen
>            Assignee: Michael Bouschen
>             Fix For: JDO 3.1
>
>
> JDOQL should support the Java conditional operator ? :, e.g. salay >= 1000.0 ? salary : salary * 1.1
> The conditional operator can be mapped to the CASE-expression in SQL: CASE WHEN condition THEN thenExpr ELSE elseExpr END. Are there any issues with non-SQL datastores when supporting the conditional operator? 
> Another question: which part of a JDOQL query can include a conditional expression? I propose the query filter, the having clause and the result specification.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)