You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2009/07/31 15:52:14 UTC

[jira] Created: (OPENJPA-1217) Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)

Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)
---------------------------------------------------------------------------------------

                 Key: OPENJPA-1217
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1217
             Project: OpenJPA
          Issue Type: Bug
          Components: jdbc
         Environment: Derby Embedded
            Reporter: Michael Dick


The problem appears to be Derby specific and can be seen by running o.a.o.p.c.TestTypesafeCriteria.testTrue() and testFalse(). 

It's not related to criteria - the problem exists in the JPQL query. I believe I've seen this issue before but couldn't find it in JIRA. The relevant stack traces follow: 

Caused by: <openjpa-2.0.0-SNAPSHOT-r422266:799520 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4554)
	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4507)
	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
	at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1232)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:993)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:849)
	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:780)
	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:287)
	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:299)
	at org.apache.openjpa.persistence.criteria.CriteriaTest.executeQueryAndCollectSQL(CriteriaTest.java:379)
	... 23 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:245)
	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:69)
	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:279)
	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
	at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:156)
	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$RefCountConnection.prepareStatement(JDBCStoreManager.java:1519)
	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:177)
	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:530)
	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:510)
	at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:450)
	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363)
	at org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
	... 31 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (OPENJPA-1217) Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Donald Woods updated OPENJPA-1217:
----------------------------------

    Affects Version/s: 2.0.0-M2
        Fix Version/s:     (was: 2.0.0-M4)
                           (was: 2.0.0)

> Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)
> ---------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1217
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1217
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 2.0.0-M2
>         Environment: Derby Embedded
>            Reporter: Michael Dick
>            Assignee: Pinaki Poddar
>             Fix For: 2.0.0-M3
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> The problem appears to be Derby specific and can be seen by running o.a.o.p.c.TestTypesafeCriteria.testTrue() and testFalse(). 
> It's not related to criteria - the problem exists in the JPQL query. I believe I've seen this issue before but couldn't find it in JIRA. The relevant stack traces follow: 
> Caused by: <openjpa-2.0.0-SNAPSHOT-r422266:799520 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4554)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4507)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
> 	at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1232)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:993)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:849)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:780)
> 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
> 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:287)
> 	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:299)
> 	at org.apache.openjpa.persistence.criteria.CriteriaTest.executeQueryAndCollectSQL(CriteriaTest.java:379)
> 	... 23 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:245)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:69)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:279)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:156)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$RefCountConnection.prepareStatement(JDBCStoreManager.java:1519)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:177)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:530)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:510)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:450)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
> 	... 31 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (OPENJPA-1217) Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)

Posted by "Pinaki Poddar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pinaki Poddar reassigned OPENJPA-1217:
--------------------------------------

    Assignee: Pinaki Poddar

> Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)
> ---------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1217
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1217
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>         Environment: Derby Embedded
>            Reporter: Michael Dick
>            Assignee: Pinaki Poddar
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> The problem appears to be Derby specific and can be seen by running o.a.o.p.c.TestTypesafeCriteria.testTrue() and testFalse(). 
> It's not related to criteria - the problem exists in the JPQL query. I believe I've seen this issue before but couldn't find it in JIRA. The relevant stack traces follow: 
> Caused by: <openjpa-2.0.0-SNAPSHOT-r422266:799520 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4554)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4507)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
> 	at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1232)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:993)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:849)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:780)
> 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
> 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:287)
> 	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:299)
> 	at org.apache.openjpa.persistence.criteria.CriteriaTest.executeQueryAndCollectSQL(CriteriaTest.java:379)
> 	... 23 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:245)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:69)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:279)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:156)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$RefCountConnection.prepareStatement(JDBCStoreManager.java:1519)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:177)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:530)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:510)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:450)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
> 	... 31 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (OPENJPA-1217) Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)

Posted by "Pinaki Poddar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pinaki Poddar closed OPENJPA-1217.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0
                   2.0.0-M4
                   2.0.0-M3

See OPENJPA-1013

> Ensure comparisons do not contain two parameters with Derby (ie SELECT ... WHERE ? = ?)
> ---------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1217
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1217
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>         Environment: Derby Embedded
>            Reporter: Michael Dick
>            Assignee: Pinaki Poddar
>             Fix For: 2.0.0-M3, 2.0.0-M4, 2.0.0
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> The problem appears to be Derby specific and can be seen by running o.a.o.p.c.TestTypesafeCriteria.testTrue() and testFalse(). 
> It's not related to criteria - the problem exists in the JPQL query. I believe I've seen this issue before but couldn't find it in JIRA. The relevant stack traces follow: 
> Caused by: <openjpa-2.0.0-SNAPSHOT-r422266:799520 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4554)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4507)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
> 	at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.handleCheckedException(SelectResultObjectProvider.java:155)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:40)
> 	at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1232)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:993)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:849)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:780)
> 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
> 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:287)
> 	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:299)
> 	at org.apache.openjpa.persistence.criteria.CriteriaTest.executeQueryAndCollectSQL(CriteriaTest.java:379)
> 	... 23 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: It is not allowed for both operands of '=' to be ? parameters. {SELECT t0.id, t0.DTYPE, t0.name FROM CR_PSN t0 WHERE (? = ?)} [code=30000, state=42X35]
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:245)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:69)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:279)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.prepareStatement(ConfiguringConnectionDecorator.java:156)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:188)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$RefCountConnection.prepareStatement(JDBCStoreManager.java:1519)
> 	at org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:177)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:530)
> 	at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:510)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:450)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
> 	at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:363)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
> 	at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
> 	at org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
> 	at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
> 	... 31 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.