A malformed query is generated by Salesforce translator when a view
model made over Salesforce tables, which have primarykey-foreignkey relationship, is
queried with a where clause.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: TEIID-3478
URL:
https://issues.jboss.org/browse/TEIID-3478
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Reporter: Pranav K
Assignee: Steven Hawkins
A malformed query is generated by Salesforce translator when a view model made over
Salesforce tables, which have primarykey-foreignkey relationship, is queried with a where
clause. (See steps to reproduce)
Log:
Caused by: javax.resource.ResourceException: [MalformedQueryFault [ApiQueryFault
[ApiFault exceptionCode='MALFORMED_QUERY'
exceptionMessage='
FROM Case WHERE Case.AccountId != NULLAccount.Name = 'LYCEE AGRICOLE
^
ERROR at Row:1:Column:93
Bind variables only allowed in Apex code'
]
row='1'
column='93'
]
]
at
org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.query(SalesforceConnectionImpl.java:177)
~[connector-salesforce-8.10.0.Final-lib.jar:8.10.0.Final]
at
org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:138)
~[translator-salesforce-8.10.0.Final.jar:8.10.0.Final]
... 18 common frames omitted
Caused by: com.sforce.soap.partner.fault.MalformedQueryFault: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
~[na:1.7.0_60-ea]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
~[na:1.7.0_60-ea]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[na:1.7.0_60-ea]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_60-ea]
at java.lang.Class.newInstance(Class.java:374) ~[na:1.7.0_60-ea]
at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:627)
~[force-wsc-22.0.0.jar:na]
at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:504)
~[force-wsc-22.0.0.jar:na]
at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:229)
~[force-wsc-22.0.0.jar:na]
at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:203)
~[force-wsc-22.0.0.jar:na]
at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:149)
~[force-wsc-22.0.0.jar:na]
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:98)
~[force-wsc-22.0.0.jar:na]
at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1335)
~[force-partner-api-22.0.0.jar:na]
at
org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.query(SalesforceConnectionImpl.java:172)
~[connector-salesforce-8.10.0.Final-lib.jar:8.10.0.Final]