[
https://issues.redhat.com/browse/TEIID-5941?page=com.atlassian.jira.plugi...
]
Steven Hawkins resolved TEIID-5941.
-----------------------------------
Fix Version/s: 14.0
13.1.1
Resolution: Done
The existing logic was using .toString in several places on expressions, which results in
the default translation not the salesforce expected. So things would fail with like when
the table alias was pushed.
Regression in salesforce translator when using LIKE query with
wildcard
-----------------------------------------------------------------------
Key: TEIID-5941
URL:
https://issues.redhat.com/browse/TEIID-5941
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Affects Versions: 13.1
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Priority: Critical
Labels: regression
Fix For: 14.0, 13.1.1
Original Estimate: 2 hours
Remaining Estimate: 2 hours
Running any query with a LIKE and wildcard such as
{code:sql}
select Name from Account where Name like 'gene%'
{code}
results in
{code}
SQL Error [30504] [50000]: TEIID30504 Remote org.teiid.core.TeiidProcessingException:
TEIID30504 bqt: null
{code}
In the client.
The exception in the vdb pod is
{code}
org.teiid.translator.TranslatorException: null
at
org.teiid.spring.data.salesforce.SalesforceConnectionImpl.query(SalesforceConnectionImpl.java:247)
~[spring-data-salesforce-1.4.1.fuse-jdk11-800014-redhat-00001.jar!/:1.4.1.fuse-jdk11-800014-redhat-00001]
at
org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:249)
~[translator-salesforce-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:402)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at jdk.internal.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) ~[na:na]
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:228)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at com.sun.proxy.$Proxy121.execute(Unknown Source) ~[na:na]
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:302)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:104)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:59)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:281)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:124)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$2.run(ThreadReuseExecutor.java:212)
~[teiid-engine-13.1.1.fuse-jdk11-800017-redhat-00001.jar!/:13.1.1.fuse-jdk11-800017-redhat-00001]
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[na:na]
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: com.sforce.soap.partner.fault.InvalidFieldFault: null
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) ~[na:na]
at
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
~[na:na]
at
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
at java.base/java.lang.Class.newInstance(Class.java:584) ~[na:na]
at com.sforce.ws.bind.TypeMapper.readSingle(TypeMapper.java:673)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.ws.bind.TypeMapper.readObject(TypeMapper.java:556)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.ws.transport.SoapConnection.parseDetail(SoapConnection.java:236)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.ws.transport.SoapConnection.createException(SoapConnection.java:210)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.ws.transport.SoapConnection.receive(SoapConnection.java:156)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:99)
~[force-wsc-45.1.0.jar!/:na]
at com.sforce.soap.partner.PartnerConnection.query(PartnerConnection.java:1197)
~[force-partner-api-45.1.0.jar!/:na]
at
org.teiid.spring.data.salesforce.SalesforceConnectionImpl.query(SalesforceConnectionImpl.java:244)
~[spring-data-salesforce-1.4.1.fuse-jdk11-800014-redhat-00001.jar!/:1.4.1.fuse-jdk11-800014-redhat-00001]
... 18 common frames omitted
2020-04-20 13:11:21.198 WARN 1 --- [ocessorQueue310] org.teiid.PROCESSOR
: TEIID30020 Processing exception for request 9oUsxRHqO3g6.35 'TEIID30504 bqt:
null'. Originally TeiidProcessingException
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method).
Enable more detailed logging to see the entire stacktrace.
{code}
When not using a wildcard, the query passes.
This used to work correctly in 7.6
--
This message was sent by Atlassian Jira
(v7.13.8#713008)