Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-3478

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.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • Salesforce Connector
    • None
    • Hide

      -Create a salesforce source model with table Account and Case
      -Create a view model on this by selecting some columns (Name, City etc) from both tables
      -Add a criteria for the view -> WHERE Case.AccountId = Account.Id
      After deploying this in a VDB, run the following query> Select * from <viewTable> where Name = 'abc' (say).

      • A malformed query exception comes up as shown in the description
      Show
      -Create a salesforce source model with table Account and Case -Create a view model on this by selecting some columns (Name, City etc) from both tables -Add a criteria for the view -> WHERE Case.AccountId = Account.Id After deploying this in a VDB, run the following query > Select * from <viewTable> where Name = 'abc' (say). A malformed query exception comes up as shown in the description

      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]

              rhn-engineering-shawkins Steven Hawkins
              pranavk Pranav K (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: