You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Fay Wang (JIRA)" <ji...@apache.org> on 2008/12/19 19:51:44 UTC

[jira] Created: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

fix parameter setting problem when QuerySQLCache is on
------------------------------------------------------

                 Key: OPENJPA-838
                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
             Project: OpenJPA
          Issue Type: Bug
          Components: jdbc
    Affects Versions: 1.2.0
            Reporter: Fay Wang
             Fix For: 1.2.1, 1.3.0, 2.0.0


java.lang.IndexOutOfBoundsException
    at java.util.ArrayList.get(Unknown Source)
    at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
    at
org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
    at
org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
    at
org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
    at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
    at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
    at
org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
    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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
    at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
    at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
    at
org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
    at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
    at
org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
    at
org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
    at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)


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


[jira] Reopened: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

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

Michael Dick reopened OPENJPA-838:
----------------------------------

      Assignee: Fay Wang

We need a testcase for this issue to prevent future regressions. I'm reopening the issue and assigning to Fay. 

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>            Assignee: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Closed: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

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

Fay Wang closed OPENJPA-838.
----------------------------


> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Commented: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

Posted by "Fay Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENJPA-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12667718#action_12667718 ] 

Fay Wang commented on OPENJPA-838:
----------------------------------

Test cases are checked in openjpa 1.2.x (r-738137) and openjpa 1.3.x (r-738136). The test case will be checked into the trunk once Jeremy give a green light.

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>            Assignee: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Commented: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

Posted by "Fay Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENJPA-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658155#action_12658155 ] 

Fay Wang commented on OPENJPA-838:
----------------------------------

The problem of parameter setting when cache is on is a result of how OpenJPA processes parameters.  There is no distinction between literal vs. user-specified parameters and there is no clear-cut way to separate parameter setting logic from the logic to reconstruct SQLBuffer within SelectImpl, making re-using SQLBuffer within SelectImpl impossible, 

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Resolved: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

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

Fay Wang resolved OPENJPA-838.
------------------------------

    Resolution: Fixed

change is committed to openjpa 1.2.x r728758, 1.3.x r728753, trunk r728750

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Commented: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

Posted by "Fay Wang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENJPA-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668511#action_12668511 ] 

Fay Wang commented on OPENJPA-838:
----------------------------------

Test case is checked into trunk r-738918.

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>            Assignee: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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


[jira] Resolved: (OPENJPA-838) fix parameter setting problem when QuerySQLCache is on

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

Fay Wang resolved OPENJPA-838.
------------------------------

    Resolution: Fixed

> fix parameter setting problem when QuerySQLCache is on
> ------------------------------------------------------
>
>                 Key: OPENJPA-838
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-838
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Fay Wang
>            Assignee: Fay Wang
>             Fix For: 1.2.1, 1.3.0, 2.0.0
>
>
> java.lang.IndexOutOfBoundsException
>     at java.util.ArrayList.get(Unknown Source)
>     at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.java:629)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:529)
>     at
> org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer.java:485)
>     at
> org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectImpl.java:463)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:379)
>     at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>     at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>     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.meta.strats.StoreCollectionFieldStrategy.load(StoreCollectionFieldStrategy.java:629)
>     at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:822)
>     at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:682)
>     at
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:116)
>     at org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:2924)
>     at
> org.apache.openjpa.kernel.StateManagerImpl.load(StateManagerImpl.java:379)
>     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:864)

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