[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16985402#comment-16985402 ] Bernard commented on DERBY-5728: Richard I appreciate your comments where you highlight the dilemma. Non-native JPQL does not have a CAST because it aims to be platform agnostic. Consequently, in pure JPQL, without using the criteria API, a programmer would need to write different queries depending on the value of a parameter. This leads to a high number of combinations of queries to write and maintain, depending on the number of parameters. To maintain such an incredibly costly approach clearly defeats the purpose of programming. Therefore, it is not practical to do. Because static JPQL as described works with other databases, e.g. with SQL Server, a competitor, I would think that it is worth our consideration to implement a solution, even while it could be in conflict with the pure SQL grammar definitions as you describe. I would not want Derby to lag behind. The solution would allow us to write a single static JPQL query that serves an extremely common use case. Consider a database search entry form with multiple optional text fields. I cannot remember many applications that do not have at least one of these. So if you have the opportunity to resolve this as requested, I am sure that you would do the programmer community, and Derby a great service. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: Bug5728.java, NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16985388#comment-16985388 ] Richard N. Hillegas commented on DERBY-5728: I don't see the problem as a JBDC issue. The problem is that the ORM layer is generating illegal SQL. In Standard SQL, there is no such thing as an untyped NULL. The left side of an IS NULL predicate must have a known type at compile time (JDBC prepareStatement() time). The phrase {noformat} NULL IS NULL {noformat} has no meaning in Standard SQL. The phrase {noformat} $something IS NULL {noformat} has meaning only if the compiler can determine the type of $something. The type can be determined in the following circumstances: 1) $something is an identifier (e.g., a column reference). Column types are known. 2) $something is a literal. Literals have types. 3) $something is an expression built up out of typed components. But in the following phrase {noformat} ? IS NULL {noformat} the IS NULL predicate is being applied to an untyped value. This is a syntax error. I understand that this explanation doesn't help you. At the end of the day 1) The Derby guy is telling you that the ORM layer is generating illegal SQL and that JPQL needs to support the CAST statement. The Derby guy is telling you that the problem is in JPQL. 2) The ORM guys are telling you that other databases handle untyped NULL on the left side of an IS NULL predicate, in a way which makes this JPQL statement compile and behave reasonably. The ORM guys are telling you that the problem is in Derby. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: Bug5728.java, NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16985289#comment-16985289 ] Bernard commented on DERBY-5728: Please let me add some context. It might be helpful, or even encouraging. I am not an expert on the JDBC spec. However, during research, I found that from the very start, the JDBC setNull with sql type parameter is a fallback for legacy JDBC drivers that do not pass the JDBC Driver Test Suite. This was many years ago, but it is still relevant for the very few databases that are still in this fallback situation. Meanwhile we have moved on and high popularity of abstractions like JPA make it difficult to figure out where the origin of some of these the problem is. This issue is only one manifestation of it. If this issue gets fixed, then automatically some other legacy / maintenance issues will go away. It is a hard pill to swallow that a type parameter must be passed alongside with null. JPQL does not even have a concept for that. This is such a good example where we should follow the trend as technology has clearly moved on, leaving the legacy behind. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: Bug5728.java, NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16971260#comment-16971260 ] Bernard commented on DERBY-5728: Richard, Thanks for experimenting. Unfortunately, the suggested workaround is not a solution. It uses a native query. The JPQL language specification does not include casting. I have researched the subject sufficiently about seven years ago, and nothing has changed since then. ORM is such a complex issue to deal with on the application programming side. JPQL and other abstractions have been invented for a reason, to make life easier for application programmers. This bug is ugly in that context. It defeats the purpose of writing cross-platform JPQL because it is not possible in this basic, general case. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: Bug5728.java, NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16971152#comment-16971152 ] Richard N. Hillegas commented on DERBY-5728: Attaching Bug5728.java. This program demonstrates that you can achieve what you want if you slightly change your syntax to: {noformat} CAST(:LASTNAME AS VARCHAR(128)) IS NULL {noformat} I'm assuming that JPQL turns :LASTNAME into a ? parameter. The other databases should all support that syntax. Hope this helps. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: Bug5728.java, NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16971024#comment-16971024 ] Bernard commented on DERBY-5728: Is there a chance to develop this? It's a feature parity issue, perhaps can even be considered a bug as well because most other database engines have the expected behavior. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16890625#comment-16890625 ] Bernard commented on DERBY-5728: >From what I can remember, it goes like this: Imagine we have a client form with multiple field entries, each tied to a JPQL fragment for that field. Let's start with one field: SELECT a FROM Author a WHERE :lastName IS NULL OR a.lastName = :lastName Then take two fields: SELECT a FROM Author a WHERE :lastName IS NULL OR a.lastName = :lastName and :firstName IS NULL OR a.firstName = :firstName If we can do this, then effectively the database ensures that, if an entry is missing, that the corresponding fragment can be ignored because it returns true. This is how programmers want the computer to behave. If we can't do this, and this issue prevents this from working, then things get really complicated in comparison. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16890576#comment-16890576 ] Rick Hillegas commented on DERBY-5728: -- Hi Bernard. Can you help me understand what the JPQL query is trying to achieve? What does it mean? Thanks. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16890532#comment-16890532 ] Bernard commented on DERBY-5728: Hi, I am the original requester. I do not want comment on the illegal statements. But it would be absolutely fantastic if the changes meeting the original request would be implemented. These changes would let us write incredibly powerful and simple JPQL without the cumbersome criteria API. Works with most other databases like SQL Server, Oracle, HSQL, DB2. This is so old but still relevant. > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16890522#comment-16890522 ] Rick Hillegas commented on DERBY-5728: -- Neither of those statements is valid SQL. Did you mean to type the final statement in the following batch? {noformat} connect 'jdbc:derby:memory:db;create=true'; CREATE TABLE vocab (name VARCHAR(50)); -- raises Syntax error: Encountered "NULL" at line 1, column 21. SELECT * FROM vocab NULL IS NULL; -- raises Syntax error: Encountered "NULL" at line 1, column 27. SELECT * FROM vocab WHERE NULL IS NULL; -- succeeds SELECT * FROM vocab WHERE name IS NULL; {noformat} If not, what are you trying to achieve with those two, illegal statements? > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16890438#comment-16890438 ] Loc Ha commented on DERBY-5728: --- Please fix this issue. This issue is Not relating to JPA framework. The below query failed (NATIVE Query): SELECT * FROM Vocab NULL IS NULL; /// FAILED // An error occurred when executing the SQL command: SELECT * FROM VOCAB WHERE NULL IS NULL Syntax error: Encountered "NULL" at line 1, column 27. SELECT * FROM VOCAB WHERE NULL IS NULL ^ 1 statement failed. Execution time: 0s > Add Support for NULL IS NULL > > > Key: DERBY-5728 > URL: https://issues.apache.org/jira/browse/DERBY-5728 > Project: Derby > Issue Type: Improvement > Components: SQL >Affects Versions: 10.8.2.2 > Environment: Windows XP > java version "1.6.0_31" > Java(TM) SE Runtime Environment (build 1.6.0_31-b05) > Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) >Reporter: bernard >Priority: Critical > Labels: derby_triage10_10 > Attachments: NullParameterEclipseLinkDerbyMaven.zip, > NullParameterHibernateDerbyMaven.zip > > > The following query fails: > SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) > Why this is an issue? > At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues > with generating SQL for trivial JPQL queries such as: > select object(c) from Customer c where ((name: is null) or (c.name = name:)) > where name: is a parameter > For why this is a fundamental issue, please see a minimalistic JPQL query at > http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples > Part of this has already been resolved by issue "Add support for > setObject(, null)" > https://issues.apache.org/jira/browse/DERBY-1938 > Please see EclipseLink and Hibernate test cases for verification. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13262122#comment-13262122 ] Knut Anders Hatlen commented on DERBY-5728: --- Hi Bernard, Is this problem different from the one you reported in DERBY-5629? Add Support for NULL IS NULL Key: DERBY-5728 URL: https://issues.apache.org/jira/browse/DERBY-5728 Project: Derby Issue Type: Improvement Components: SQL Affects Versions: 10.8.2.2 Environment: Windows XP java version 1.6.0_31 Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) Reporter: bernard Priority: Critical Attachments: NullParameterEclipseLinkDerbyMaven.zip, NullParameterHibernateDerbyMaven.zip The following query fails: SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) Why this is an issue? At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues with generating SQL for trivial JPQL queries such as: select object(c) from Customer c where ((name: is null) or (c.name = name:)) where name: is a parameter For why this is a fundamental issue, please see a minimalistic JPQL query at http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples Part of this has already been resolved by issue Add support for setObject(arg, null) https://issues.apache.org/jira/browse/DERBY-1938 Please see EclipseLink and Hibernate test cases for verification. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (DERBY-5728) Add Support for NULL IS NULL
[ https://issues.apache.org/jira/browse/DERBY-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13262224#comment-13262224 ] bernard commented on DERBY-5728: I think it it is different because it is more narrow in scope, it is an enhancement not a bug and does not leave open the question whether it might be an ORM bug that needs to be resolved. I hope this issue is easier to resolve. Add Support for NULL IS NULL Key: DERBY-5728 URL: https://issues.apache.org/jira/browse/DERBY-5728 Project: Derby Issue Type: Improvement Components: SQL Affects Versions: 10.8.2.2 Environment: Windows XP java version 1.6.0_31 Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) Reporter: bernard Priority: Critical Attachments: NullParameterEclipseLinkDerbyMaven.zip, NullParameterHibernateDerbyMaven.zip The following query fails: SELECT ID FROM CUSTOMER WHERE ((NULL IS NULL) OR (NAME = NULL)) Why this is an issue? At least two major Java ORMs, Hibernate JPA and EclipseLink JPA have isues with generating SQL for trivial JPQL queries such as: select object(c) from Customer c where ((name: is null) or (c.name = name:)) where name: is a parameter For why this is a fundamental issue, please see a minimalistic JPQL query at http://en.wikipedia.org/wiki/Java_Persistence_Query_Language#Examples Part of this has already been resolved by issue Add support for setObject(arg, null) https://issues.apache.org/jira/browse/DERBY-1938 Please see EclipseLink and Hibernate test cases for verification. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira