[
https://issues.jboss.org/browse/TEIID-5846?page=com.atlassian.jira.plugin...
]
Renat Eskenin edited comment on TEIID-5846 at 11/15/19 3:13 AM:
----------------------------------------------------------------
Ok, i did try to use vdb
{code:sql}
CREATE DATABASE db;
USE DATABASE db;
CREATE FOREIGN DATA WRAPPER salesforce;
CREATE SERVER salesforce FOREIGN DATA WRAPPER salesforce OPTIONS
("resource-name" 'salesforce', supportsOrderBy true);
CREATE SCHEMA sf SERVER salesforce;
IMPORT FROM SERVER salesforce INTO sf OPTIONS("importer.useFullSchemaName"
'false');
{code}
odata request is:
http://localhost:8080/odata/sf/Period?%24top=1
Debug Logs from ODATA
{code}
[2019-11-15 11:02:11,902 MSK] DEBUG
[salesforce-odata-facade,458605527be75221,458605527be75221,false] org.teiid.ODATA
[http-nio-8080-exec-2]: Teiid-Query: /*+
cache(ttl:300000 scope:USER) */ SELECT g0.Id, g0.FiscalYearSettingsId, g0.Type,
g0.StartDate, g0.EndDate, g0.IsForecastPeriod, g0.QuarterLabel, g0.PeriodLabel, g0.Number,
g0.FullyQualifiedLabel FROM sf.Period AS g0 ORDER BY g0.Id LIMIT ?, ? /* eqIITzWcC3iJ */
{code}
Debug Logs from PROCESSOR
{code}
[2019-11-15 11:02:11,903 MSK] DEBUG
[salesforce-odata-facade,458605527be75221,458605527be75221,false] org.teiid.PROCESSOR
[http-nio-8080-exec-2]: eqIITzWcC3iJ.0 executing
prepared /*+ cache(ttl:300000 scope:USER) */ SELECT g0.Id, g0.FiscalYearSettingsId,
g0.Type, g0.StartDate, g0.EndDate, g0.IsForecastPeriod, g0.QuarterLabel, g0.PeriodLabel,
g0.Number, g0.FullyQualifiedLabel FROM sf.Period AS g0 ORDER BY g0.Id LIMIT ?, ? /*
eqIITzWcC3iJ */
{code}
Debug Logs from CONNECTOR without LIMIT
{code}
[2019-11-15 11:02:11,935 MSK] DEBUG [salesforce-odata-facade,,,] org.teiid.CONNECTOR
[Worker0_QueryProcessorQueue0]: eqIITzWcC3iJ.0.2.0
Processing NEW request: SELECT sf.Period.Id, sf.Period.FiscalYearSettingsId,
sf.Period.Type, sf.Period.StartDate, sf.Period.EndDate, sf.Period.IsForecastPeriod,
sf.Period.QuarterLabel, sf.Period.PeriodLabel, sf.Period.Number,
sf.Period.FullyQualifiedLabel FROM sf.Period
{code}
{code}
[2019-11-15 11:02:15,612 MSK] DEBUG [salesforce-odata-facade,,,] org.teiid.CONNECTOR
[Worker0_QueryProcessorQueue0]: eqIITzWcC3iJ.0.2.0
Obtained results from connector, current row count: 512
{code}
What wrong in my example?
was (Author: i3draven):
Ok, i did try to use vdb
{code:sql}
CREATE DATABASE db;
USE DATABASE db;
CREATE FOREIGN DATA WRAPPER salesforce;
CREATE SERVER salesforce FOREIGN DATA WRAPPER salesforce OPTIONS
("resource-name" 'salesforce', supportsOrderBy true);
CREATE SCHEMA sf SERVER salesforce;
IMPORT FROM SERVER salesforce INTO sf OPTIONS("importer.useFullSchemaName"
'false');
{code}
odata request is:
http://localhost:8080/odata/sf/Period?%24top=1
Debug Logs from ODATA
{code}
[2019-11-15 11:02:11,902 MSK] DEBUG
[salesforce-odata-facade,458605527be75221,458605527be75221,false] org.teiid.ODATA
[http-nio-8080-exec-2]: Teiid-Query: /*+
cache(ttl:300000 scope:USER) */ SELECT g0.Id, g0.FiscalYearSettingsId, g0.Type,
g0.StartDate, g0.EndDate, g0.IsForecastPeriod, g0.QuarterLabel, g0.PeriodLabel, g0.Number,
g0.FullyQualifiedLabel FROM sf.Period AS g0 ORDER BY g0.Id LIMIT ?, ? /* eqIITzWcC3iJ */
{code}
Debug Logs from PROCESSOR
{code}
[2019-11-15 11:02:11,903 MSK] DEBUG
[salesforce-odata-facade,458605527be75221,458605527be75221,false] org.teiid.PROCESSOR
[http-nio-8080-exec-2]: eqIITzWcC3iJ.0 executing
prepared /*+ cache(ttl:300000 scope:USER) */ SELECT g0.Id, g0.FiscalYearSettingsId,
g0.Type, g0.StartDate, g0.EndDate, g0.IsForecastPeriod, g0.QuarterLabel, g0.PeriodLabel,
g0.Number, g0.FullyQualifiedLabel FROM sf.Period AS g0 ORDER BY g0.Id LIMIT ?, ? /*
eqIITzWcC3iJ */
{code}
Debug Logs from CONNECTOR without LIMIT
{code}
[2019-11-15 11:02:11,935 MSK] DEBUG [salesforce-odata-facade,,,] org.teiid.CONNECTOR
[Worker0_QueryProcessorQueue0]: eqIITzWcC3iJ.0.2.0
Processing NEW request: SELECT sf.Period.Id, sf.Period.FiscalYearSettingsId,
sf.Period.Type, sf.Period.StartDate, sf.Period.EndDate, sf.Period.IsForecastPeriod,
sf.Period.QuarterLabel, sf.Period.PeriodLabel, sf.Period.Number,
sf.Period.FullyQualifiedLabel FROM sf.Period
{code}
What wrong in my example?
top in odata query is not working
---------------------------------
Key: TEIID-5846
URL:
https://issues.jboss.org/browse/TEIID-5846
Project: Teiid
Issue Type: Bug
Components: OData, Salesforce Connector
Environment: teiid-spring-boot+spring-odata teiid+spring-data-salesforce
Reporter: Renat Eskenin
Priority: Major
Fix For: 13.1
When we call simple request as
salesforce-odata-facade/odata/salesforce/Product_License__c?$top=1&$select=Id
request processing time is 1min. But this request processing by simple SOAP SOQL request
is ~150ms.
I think this do because teiid select all objects by ignoring top in request.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)