You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2015/12/29 16:31:49 UTC

[jira] [Resolved] (OAK-3807) Oracle DB doesn't support lists longer than 1000

     [ https://issues.apache.org/jira/browse/OAK-3807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Reschke resolved OAK-3807.
---------------------------------
    Resolution: Fixed

trunk: http://svn.apache.org/r1722141
1.2: http://svn.apache.org/r1722147
1.0: http://svn.apache.org/r1722148


> Oracle DB doesn't support lists longer than 1000
> ------------------------------------------------
>
>                 Key: OAK-3807
>                 URL: https://issues.apache.org/jira/browse/OAK-3807
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: rdbmk
>    Affects Versions: 1.2.9, 1.0.25, 1.3.12
>            Reporter: Tomek Rękawek
>            Assignee: Julian Reschke
>             Fix For: 1.3.13, 1.0.26, 1.2.10
>
>         Attachments: OAK-3807-test.patch
>
>
> There's the ORA-01795 error in Oracle. It's description is:
> {quote}
> ORA-01795 maximum number of expressions in a list is 1000 error
> {quote}
> We should review the RDBBlobStore and RDBDocumentStoreJDBC and split lists longer than 1000 elements to chunks.
> For instance, if the limit would be 3, then our lists can be split as follows:
> {code}
> ... XYZ in (?,?,?,?,?,?,?,?) // initial version
> ... (XYZ in (?,?,?) or XYZ in (?,?,?) or XYZ in (?,?)) // fixed version
> {code}
> In the patch for OAK-3637 there's {{RDBDocumentStoreJDBC#appendInCondition}} method that appends appropriate expression to the query. It should be used every time we have an {{in}} operator with variable number of placeholders.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)