[JBoss JIRA] (TEIID-4444) Add a built-in delegating translator that allows overriding all supports
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4444?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4444:
---------------------------------------
It would need to look use a default of a null value, so that it would only override the support if set. We may also want to offer special handling for the supported function list - so that functions can be added, or removed, without redefining the whole list.
> Add a built-in delegating translator that allows overriding all supports
> ------------------------------------------------------------------------
>
> Key: TEIID-4444
> URL: https://issues.jboss.org/browse/TEIID-4444
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Reporter: Steven Hawkins
> Fix For: Open To Community, 9.1
>
>
> To assist in toggling specific capabilities without a patch, we should provide a built-in delegating translator that can selective toggle capabilities.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4444) Add a built-in delegating translator that allows overriding all supports
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4444?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4444:
---------------------------------------
> Are you saying to create DelegateExecutionFactory with all the setter methods for every "supports"?
Yes so that if a situation arises that can be addressed by toggling a support, then we'll have a defined way of doing that.
> Why not add to ExecutionFactory so that we can support this ground up?
Because I'm not sure that we want to introduce this as a built-in feature of every translator.
> Add a built-in delegating translator that allows overriding all supports
> ------------------------------------------------------------------------
>
> Key: TEIID-4444
> URL: https://issues.jboss.org/browse/TEIID-4444
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Reporter: Steven Hawkins
> Fix For: Open To Community, 9.1
>
>
> To assist in toggling specific capabilities without a patch, we should provide a built-in delegating translator that can selective toggle capabilities.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4461) Salesforce translator - foreign tables does not support query statements by default
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-4461?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-4461:
-------------------------------------------
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1378397
Bugzilla Update: Perform
> Salesforce translator - foreign tables does not support query statements by default
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4461
> URL: https://issues.jboss.org/browse/TEIID-4461
> Project: Teiid
> Issue Type: Quality Risk
> Components: Salesforce Connector
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 9.1
>
>
> If salesforce objects are modeled in VDB using DDL metadata (CREATE FOREIGN TABLE...), user cannot select data from them by default. See VDB \[1\], RA definition \[2\] and exception \[3\].
> *SELECT * FROM sfSourceProp.Pricebook2* -> OK
> *SELECT * FROM sfSourceNative.Pricebook2* -> OK
> *SELECT * FROM sfSource.Pricebook2* ->fail \[3\]
> {code:xml|title=\[1\] VDB}
> <vdb name="salesforce-test" version="1">
> <model name="sfSourceNative" type="PHYSICAL">
> <source name="sfnative" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="NATIVE"/>
> </model>
> <model name="sfSource" type="PHYSICAL">
> <source name="sf" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE');]]>
> </metadata>
> </model>
> <model name="sfSourceProp" type="PHYSICAL">
> <source name="sfprop" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE', "{http://www.teiid.org/translator/salesforce/2012}Supports Query" 'TRUE');]]>
> </metadata>
> </model>
> </vdb>
> {code}
> {code:xml|title=\[2\] Resource adapter}
> <resource-adapter id="salesforce-ds">
> <module slot="main" id="org.jboss.teiid.resource-adapter.salesforce-34"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.salesforce.SalesForceManagedConnectionFactory" jndi-name="java:/salesforce" enabled="true" use-java-context="true" pool-name="salesforce-ds">
> <config-property name="password">
> secretplustoken
> </config-property>
> <config-property name="URL">
> https://www.salesforce.com/services/Soap/u/34.0
> </config-property>
> <config-property name="username">
> user(a)example.com
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
> {code}
> {code:plain|title=\[3\] Exception}
> 12:33:22,178 WARN [org.teiid.PROCESSOR] (Worker6_QueryProcessorQueue85) TEIID30020 Processing exception for request EmUpFy4HxjNz.0 'TEIID30504 sf: Pricebook2 does not support the query statement.'. Originally TeiidProcessingException SelectVisitor.java:129.: org.teiid.core.TeiidProcessingException: TEIID30504 sf: Pricebook2 does not support the query statement.
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: org.teiid.translator.TranslatorException: Pricebook2 does not support the query statement.
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:129)
> at org.teiid.language.NamedTable.acceptVisitor(NamedTable.java:66) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNodes(AbstractLanguageVisitor.java:63) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:58)
> at org.teiid.language.Select.acceptVisitor(Select.java:110) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:138)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at com.sun.proxy.$Proxy48.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 6 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4460) A view field defined as clob, on a google spreadsheeet model, returns data truncated to string type length
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4460?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4460.
-----------------------------------
Resolution: Done
Updated the importValue logic to make sure that the truncation is applied only when bring in something typed as string, not just an object value.
> A view field defined as clob, on a google spreadsheeet model, returns data truncated to string type length
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4460
> URL: https://issues.jboss.org/browse/TEIID-4460
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.4
> Reporter: Marco Ardito
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> A google spreadsheet model text cell can contain way more data than the string type, and even if it is identified by teiid as string (4000 chars), the returned data is the whole original text, ie: it could be more than 4000 chars.
> A view that selects from the "native" method of the model, and defines the field as clob, though, returns only first 4000 chars, so it appears to be truncated.
> As you can find in the forum reference, where you'll find more descriptive infos, examples and pictures, it seems that "It looks like the issue is that the implicit array_get operation is truncating the string - but it should not be"
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4460) A view field defined as clob, on a google spreadsheeet model, returns data truncated to string type length
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4460?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4460:
----------------------------------
Component/s: Query Engine
Fix Version/s: 9.1
9.0.5
Affects Version/s: 8.4
> A view field defined as clob, on a google spreadsheeet model, returns data truncated to string type length
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4460
> URL: https://issues.jboss.org/browse/TEIID-4460
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.4
> Reporter: Marco Ardito
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> A google spreadsheet model text cell can contain way more data than the string type, and even if it is identified by teiid as string (4000 chars), the returned data is the whole original text, ie: it could be more than 4000 chars.
> A view that selects from the "native" method of the model, and defines the field as clob, though, returns only first 4000 chars, so it appears to be truncated.
> As you can find in the forum reference, where you'll find more descriptive infos, examples and pictures, it seems that "It looks like the issue is that the implicit array_get operation is truncating the string - but it should not be"
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4461) Salesforce translator - foreign tables does not support query statements by default
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4461?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4461.
-----------------------------------
Resolution: Done
Changed the default behavior to only prevent the query if the property is false.
> Salesforce translator - foreign tables does not support query statements by default
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4461
> URL: https://issues.jboss.org/browse/TEIID-4461
> Project: Teiid
> Issue Type: Quality Risk
> Components: Salesforce Connector
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 9.1
>
>
> If salesforce objects are modeled in VDB using DDL metadata (CREATE FOREIGN TABLE...), user cannot select data from them by default. See VDB \[1\], RA definition \[2\] and exception \[3\].
> *SELECT * FROM sfSourceProp.Pricebook2* -> OK
> *SELECT * FROM sfSourceNative.Pricebook2* -> OK
> *SELECT * FROM sfSource.Pricebook2* ->fail \[3\]
> {code:xml|title=\[1\] VDB}
> <vdb name="salesforce-test" version="1">
> <model name="sfSourceNative" type="PHYSICAL">
> <source name="sfnative" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="NATIVE"/>
> </model>
> <model name="sfSource" type="PHYSICAL">
> <source name="sf" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE');]]>
> </metadata>
> </model>
> <model name="sfSourceProp" type="PHYSICAL">
> <source name="sfprop" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE', "{http://www.teiid.org/translator/salesforce/2012}Supports Query" 'TRUE');]]>
> </metadata>
> </model>
> </vdb>
> {code}
> {code:xml|title=\[2\] Resource adapter}
> <resource-adapter id="salesforce-ds">
> <module slot="main" id="org.jboss.teiid.resource-adapter.salesforce-34"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.salesforce.SalesForceManagedConnectionFactory" jndi-name="java:/salesforce" enabled="true" use-java-context="true" pool-name="salesforce-ds">
> <config-property name="password">
> secretplustoken
> </config-property>
> <config-property name="URL">
> https://www.salesforce.com/services/Soap/u/34.0
> </config-property>
> <config-property name="username">
> user(a)example.com
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
> {code}
> {code:plain|title=\[3\] Exception}
> 12:33:22,178 WARN [org.teiid.PROCESSOR] (Worker6_QueryProcessorQueue85) TEIID30020 Processing exception for request EmUpFy4HxjNz.0 'TEIID30504 sf: Pricebook2 does not support the query statement.'. Originally TeiidProcessingException SelectVisitor.java:129.: org.teiid.core.TeiidProcessingException: TEIID30504 sf: Pricebook2 does not support the query statement.
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: org.teiid.translator.TranslatorException: Pricebook2 does not support the query statement.
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:129)
> at org.teiid.language.NamedTable.acceptVisitor(NamedTable.java:66) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNodes(AbstractLanguageVisitor.java:63) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:58)
> at org.teiid.language.Select.acceptVisitor(Select.java:110) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:138)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at com.sun.proxy.$Proxy48.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 6 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4462) Document Salesforce extension metadata
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4462:
-------------------------------------
Summary: Document Salesforce extension metadata
Key: TEIID-4462
URL: https://issues.jboss.org/browse/TEIID-4462
Project: Teiid
Issue Type: Task
Components: Documentation
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.1
Under the translator docs, the possible salesforce extension metadata properties should be documented.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4461) Salesforce translator - foreign tables does not support query statements by default
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4461?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4461:
----------------------------------
Issue Type: Quality Risk (was: Bug)
Component/s: Salesforce Connector
Fix Version/s: 9.1
Priority: Minor (was: Major)
Requiring the extension metadata has been the expected behavior for a while now, so changing this to a minor quality issue.
I'd be fine with changing the default to supports query as true - at best this property is just preventing us from sending a query that will then fail.
> Salesforce translator - foreign tables does not support query statements by default
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4461
> URL: https://issues.jboss.org/browse/TEIID-4461
> Project: Teiid
> Issue Type: Quality Risk
> Components: Salesforce Connector
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 9.1
>
>
> If salesforce objects are modeled in VDB using DDL metadata (CREATE FOREIGN TABLE...), user cannot select data from them by default. See VDB \[1\], RA definition \[2\] and exception \[3\].
> *SELECT * FROM sfSourceProp.Pricebook2* -> OK
> *SELECT * FROM sfSourceNative.Pricebook2* -> OK
> *SELECT * FROM sfSource.Pricebook2* ->fail \[3\]
> {code:xml|title=\[1\] VDB}
> <vdb name="salesforce-test" version="1">
> <model name="sfSourceNative" type="PHYSICAL">
> <source name="sfnative" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="NATIVE"/>
> </model>
> <model name="sfSource" type="PHYSICAL">
> <source name="sf" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE');]]>
> </metadata>
> </model>
> <model name="sfSourceProp" type="PHYSICAL">
> <source name="sfprop" translator-name="salesforce-34" connection-jndi-name="java:/salesforce"/>
> <metadata type="DDL"><![CDATA[CREATE FOREIGN TABLE Pricebook2 (Id string, Name string, IsActive boolean, IsStandard boolean, Description string, IsDeleted boolean) OPTIONS (UPDATABLE 'TRUE', "{http://www.teiid.org/translator/salesforce/2012}Supports Query" 'TRUE');]]>
> </metadata>
> </model>
> </vdb>
> {code}
> {code:xml|title=\[2\] Resource adapter}
> <resource-adapter id="salesforce-ds">
> <module slot="main" id="org.jboss.teiid.resource-adapter.salesforce-34"/>
> <transaction-support>NoTransaction</transaction-support>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.salesforce.SalesForceManagedConnectionFactory" jndi-name="java:/salesforce" enabled="true" use-java-context="true" pool-name="salesforce-ds">
> <config-property name="password">
> secretplustoken
> </config-property>
> <config-property name="URL">
> https://www.salesforce.com/services/Soap/u/34.0
> </config-property>
> <config-property name="username">
> user(a)example.com
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
> {code}
> {code:plain|title=\[3\] Exception}
> 12:33:22,178 WARN [org.teiid.PROCESSOR] (Worker6_QueryProcessorQueue85) TEIID30020 Processing exception for request EmUpFy4HxjNz.0 'TEIID30504 sf: Pricebook2 does not support the query statement.'. Originally TeiidProcessingException SelectVisitor.java:129.: org.teiid.core.TeiidProcessingException: TEIID30504 sf: Pricebook2 does not support the query statement.
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: org.teiid.translator.TranslatorException: Pricebook2 does not support the query statement.
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:129)
> at org.teiid.language.NamedTable.acceptVisitor(NamedTable.java:66) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNodes(AbstractLanguageVisitor.java:63) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.visit(SelectVisitor.java:58)
> at org.teiid.language.Select.acceptVisitor(Select.java:110) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.language.visitor.AbstractLanguageVisitor.visitNode(AbstractLanguageVisitor.java:51) [teiid-api-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:138)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at com.sun.proxy.$Proxy48.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 6 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months