IBM Support

MQL: Using multiple EXISTS clauses not supported

Troubleshooting


Problem

The MQL grammar does not support multiple EXISTS clauses.

Symptom

If you attempt to use multiple exists clauses in an MQL statement, this may fail. For example, the following MQL statement:

select displayName from IIsWebService where exists (modules.name contains 'Underwriting_ipad') or exists (modules.name contains 'MOSMobile')

Fails with:
=======================
CTJOX0101E There is an API processing error: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: CTJOX0193E The application cannot get objects from the Topology Manager: java.rmi.RemoteException: CTJOX0193E The application cannot get objects from the Topology Manager: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.RemoteException: Error executing JDOQL query "SELECT subq.JDOCLASSX,subq.CMDBSOURCE_X,subq.DISPLAYNAME_X,subq.GUID_X,subq.NUC ORDER0,subq.JDOLOCKX FROM (SELECT row_number()over( ORDER BY THIS.PK_X ) rn,THIS.JDOCLASSX,THIS.CMDBSOURCE_X,THIS.DISPLAYNAME_X,THIS.GUID_X,THIS. PK_X AS NUCORDER0,THIS.JDOLOCKX FROM DB2INST1.APPSRVR THIS WHERE THIS.JDOCLASSX = ? AND (((EXISTS (SELECT 1 FROM
DB2INST1.APPSERVERJDO_MODULES_X THIS_MODULES__X1 , DB2INST1.SOFTMODL UNBOUND_X1 , DB2INST1.APPSERVERJDO_MODULES_X THIS_MODULES_ WHERE THIS_MODULES__X1.PK__JDOIDX = THIS.PK_X AND UNBOUND_X1.PK_X = THIS_MODULES__X1.PK__MODULES_X AND (UNBOUND_X1.NAME_X LIKE ? ESCAPE '\' ) AND THIS_MODULES_.PK__JDOIDX = THIS.PK_X)) OR (UNBOUND_X1.PK_X = THIS_MODULES_.PK__MODULES_X AND (UNBOUND_X1.NAME_X LIKE ? ESCAPE '\' )))) AND THIS.DELETED_X = 0 AND THIS.VERSION_X = ? ORDER BY NUCORDER0 ) subq WHERE subq.rn<=50" : DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=UNBOUND_X1.PK_X, DRIVER=3.63.75.; nested exception is: javax.jdo.JDODataStoreException: Error executing JDOQL query "SELECT
subq.JDOCLASSX,subq.CMDBSOURCE_X,subq.DISPLAYNAME_X,subq.GUID_X,subq.NUC ORDER0,subq.JDOLOCKX FROM (SELECT row_number()over( ORDER BY THIS.PK_X ) rn,THIS.JDOCLASSX,THIS.CMDBSOURCE_X,THIS.DISPLAYNAME_X,THIS.GUID_X,THIS. PK_X AS NUCORDER0,THIS.JDOLOCKX FROM DB2INST1.APPSRVR THIS WHERE THIS.JDOCLASSX = ? AND (((EXISTS (SELECT 1 FROM
DB2INST1.APPSERVERJDO_MODULES_X THIS_MODULES__X1 , DB2INST1.SOFTMODL UNBOUND_X1 , DB2INST1.APPSERVERJDO_MODULES_X THIS_MODULES_ WHERE THIS_MODULES__X1.PK__JDOIDX = THIS.PK_X AND UNBOUND_X1.PK_X = THIS_MODULES__X1.PK__MODULES_X AND (UNBOUND_X1.NAME_X LIKE ? ESCAPE '\' ) AND THIS_MODULES_.PK__JDOIDX = THIS.PK_X)) OR (UNBOUND_X1.PK_X = THIS_MODULES_.PK__MODULES_X AND (UNBOUND_X1.NAME_X LIKE ? ESCAPE '\' )))) AND THIS.DELETED_X = 0 AND THIS.VERSION_X = ? ORDER BY NUCORDER0 ) subq WHERE subq.rn<=50" : DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=UNBOUND_X1.PK_X, DRIVER=3.63.75.
NestedThrowables:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=UNBOUND_X1.PK_X, DRIVER=3.63.75...
=======================

[{"Product":{"code":"SSPLFC","label":"Tivoli Application Dependency Discovery Manager"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.2.1","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Document Information

Modified date:
17 June 2018

UID

swg21635982