IBM Support

ORA-01795: maximum number of expressions in a list is 1,000

Troubleshooting


Problem

When an attempt is made to commit a session after removing a number of application artifacts, ORA-01795 error occurs.

Symptom

When an attempt is made to commit a session after removing more than 1,000 application artifacts, the following error can occur:
0000000a LifeCycleComp E com.ibm.ws.lifecycle.runtime.component.LifeCycleComponentImpl cleanUpRepository ErrorCleaningUpOrphans
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT DISTINCT A0.obj_typ_cd, A0.subj_id FROM w_statement A0, w_statement A1, w_statement A2 WHERE A1.partition_id = A0.partition_id AND A2.partition_id = A0.partition_id AND A1.obj_id = A0.subj_id AND A0.pred_id = ? AND (A0.obj_id NOT IN (?, ?) AND A0.obj_typ_cd>=?) AND A2.subj_id = A1.subj_id AND A1.pred_id = ? AND A2.pred_id = ? AND A2.obj_id IN (?, ?, ......, ?, ?, ?) AND A0.partition_id = ? AND A0.version_to >= ? AND A0.version_to <= ? AND A1.partition_id = ? AND A1.obj_typ_cd = ? AND A2.partition_id = ? AND A2.obj_typ_cd = ?]; nested exception is java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000

Resolving The Problem

If the number of parameterized values for the IN/NOT IN clause exceeds 1000, the subquery should be divided into sets according to the maximum limit of 1000, joined by the OR/AND operator.

Upgrade to WebSphere Process Server 7.0.0.5

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Repository","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.0.0.2;7.0.0.1;7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21454480