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