Georg Kallidis commented on TORQUE-363:

You're right - it should be possible using this simple constructor for an "is 
null" check, as this is just an SqlEnum. Internally though an comparison object 
is used, which as the javadoc comment for this constructor says is set to 
SqlEnum.EQUALS. That is, if using _another_ constructor this succeeds:
Criterion criterion1 = new Criterion(
         new ColumnImpl("myTable", "myColumn"), null, Criteria.ISNULL);
        assertEquals("myTable.myColumn IS NULL",
This is of course not as intuitive as it should be - a user expects to use 
SQLEnum.ISNULL like any other SQLEnum as a right value. 
Unfortunately the code in org.apache.torque.criteria.Criterion is not very 
easily changed without becoming quite unreadable.

We try to find a (simple) solution .. any ideas if course always appreciated! 
I'll add a test in
CriterionTest at least soon.{color}

> Criterion handles "IS NULL" incorrectly
> ---------------------------------------
>                 Key: TORQUE-363
>                 URL: https://issues.apache.org/jira/browse/TORQUE-363
>             Project: Torque
>          Issue Type: Bug
>          Components: Runtime
>    Affects Versions: 5.0, 5.1
>            Reporter: Max Philipp Wriedt
>            Priority: Critical
>              Labels: criteria_api, criterion
> When using Criterion and want to use ISNULL (and maybe also applicable to 
> {code:java}
> Criterion criterion1 = new Criterion(ID, Criteria.ISNULL); {code}
> The generated Code adds an equal-sign (=). In a Criteria this is not the case.

This message was sent by Atlassian Jira

To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org
For additional commands, e-mail: torque-dev-h...@db.apache.org

Reply via email to