Hi,
> Attendees: Michael Bouschen, Craig Russell
>
> Note: There will be no meeting the day after Thanksgiving. Next meeting is 
> December 5.
>
> Agenda:
>
> 1. JIRA "Support for conditional operator ? : in JDOQL": 
> https://issues.apache.org/jira/browse/JDO-650
>
> During tck test development, if-else seems to work in the result clause but 
> not in the filter.

More details on using IF/ELSE in the filter.

I'm using version 4.0.4 of datanucleus-core and 4.0.5 of datanucleus-rdbms.

Here is the filter expression: IF (this.department.name ==
'Development') this.salary > 15000 ELSE this.salary > 25000
and this is the exception:
   java.lang.ClassCastException:
org.datanucleus.store.rdbms.sql.expression.CaseExpression cannot be cast
to org.datanucleus.store.rdbms.sql.expression.BooleanExpression
        at
org.datanucleus.store.rdbms.query.QueryToSQLMapper.compileFilter(QueryToSQLMapper.java:465)
        at
org.datanucleus.store.rdbms.query.QueryToSQLMapper.compile(QueryToSQLMapper.java:385)
        at
org.datanucleus.store.rdbms.query.JDOQLQuery.compileQueryFull(JDOQLQuery.java:921)

I get a similar exception when using the IF/ELSE as right had side of an
comparison
Filter expression: this.salary > (IF (this.department.name ==
'Development') 15000 ELSE 25000)
   javax.jdo.JDOUserException: Cannot perform operation ">" on
org.datanucleus.store.rdbms.sql.expression.NumericExpression@3797d67 and
org.datanucleus.store.rdbms.sql.expression.CaseExpression@1d17f6f9
        at
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:639)
        at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:232)

Is the anything wrong with the above filter expressions?

Would it help if I check in the TCK test case with the filter as shown
above?

Thanks!

Regards Michael

>
> Proposed specification update for Chapter 14:
>
> If-expressions are allowed in the filter. If-expressions have the form if 
> (expressionB) expression1 else expression2. See Appendix B3 for details. The 
> expressionB must be a boolean expression.
>
> If-expressions are allowed in the result. If-expressions have the form if 
> (expressionB) expression1 else expression2. See Appendix B3 for details. The 
> expressionB must be a boolean expression.
>
> 2. JIRA "Modify specification to address NoSQL datastores": 
> https://issues.apache.org/jira/browse/JDO-651
>
> no change.
>
> 3. JIRA "Allow makePersistent outside a transaction": 
> https://issues.apache.org/jira/browse/JDO-589
>
> no change.
>
> 4. Other issues
>
> Action Items from weeks past:
> [Oct 17 2014] AI Matthew any updates for "Modify specification to address 
> NoSQL datastores": https://issues.apache.org/jira/browse/JDO-651?
> [Feb 28 2014] AI Everyone: take a look at 
> https://issues.apache.org/jira/browse/JDO-712
> [Feb 28 2014] AI Everyone: take a look at 
> https://issues.apache.org/jira/browse/JDO-625
> [Dec 13 2013] AI Craig file a JIRA for java.sql.Blob and java.sql.Clob as 
> persistent field types
> [May 10 2013] AI Everyone take a look Apache ISIS and maybe subscribe to ISIS 
> mail lists.
> [Aug 24 2012] AI Craig update the JIRAs JDO-689 JDO-690 and JDO-692 about 
> JDOHelper methods. In process.
>
> -- Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:[email protected]
> P.S. A good JDO? O, Gasp!
>


-- 
*Michael Bouschen*
*Prokurist*

akquinet tech@spree GmbH
Bülowstr. 66, D-10783 Berlin

Fon:   +49 30 235 520-33
Fax:   +49 30 217 520-12
Email: [email protected]
Web:   www.akquinet.de <http://www.akquinet.de>

akquinet tech@spree GmbH, Berlin
Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin-Charlottenburg HRB 86780 B
USt.-Id. Nr.: DE 225 964 680

Reply via email to