You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by "Georg Kallidis (Jira)" <ji...@apache.org> on 2023/03/31 08:20:00 UTC

[jira] [Commented] (TORQUE-363) Criterion handles "IS NULL" incorrectly

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

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:
{code:java}
Criterion criterion1 = new Criterion(
         new ColumnImpl("myTable", "myColumn"), null, Criteria.ISNULL);
        assertEquals("myTable.myColumn IS NULL",
                criterion1.toString());
{code}
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 ISNOTNULL)
> {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
(v8.20.10#820010)

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