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 "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2015/12/18 10:02:46 UTC

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

Tomek Rękawek created OAK-3807:
----------------------------------

             Summary: 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: Bug
          Components: rdbmk
    Affects Versions: 1.3.12, 1.0.25, 1.2.9
            Reporter: Tomek Rękawek
             Fix For: 1.4


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)