[teiid-issues] [JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
Renat Eskenin (Jira)
issues at jboss.org
Fri Jun 26 12:44:43 EDT 2020
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14178459#comment-14178459 ]
Renat Eskenin commented on TEIIDSB-213:
---------------------------------------
We have bug with concrete request in concrete SObject [Regular_Articles__kav]:
This request *didn't work* in sf as need, because return 0 records.
It is BUG in Salesforce. Salesforce (because we have bug in it) do not return data for this request to Regular_Articles__kav with used aliases for this table.
{code}
SELECT a.ArticleNumber,a.Id,a.KnowledgeArticleId,a.Language FROM Regular_Articles__kav a WHERE a.Language = 'it' LIMIT 5
{code}
When we try to execute this as SQL in teiid we got this log:
{code}
[2020-06-26 17:42:07,488 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.BUFFER_MGR [workerPool-0]: Ecs7P/wl/YGs.0.0.0 Blocking on source query Ecs7P/wl/YGs.0.0.0
[2020-06-26 17:42:07,488 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.BUFFER_MGR [workerPool-0]: Ecs7P/wl/YGs.0 Blocking on source request(s).
[2020-06-26 17:42:07,488 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: Request Thread Ecs7P/wl/YGs.0 - processor blocked
[2020-06-26 17:42:07,488 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [Worker0_QueryProcessorQueue0]: Running task for parent thread workerPool-0
[2020-06-26 17:42:07,488 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Processing NEW request: SELECT g_0.ArticleNumber, g_0.Id, g_0.KnowledgeArticleId, g_0."Language" FROM salesforce.Regular_Articles__kav AS g_0 WHERE g_0."Language" = 'it' LIMIT 5
[2020-06-26 17:42:07,491 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Obtained execution
[2020-06-26 17:42:07,492 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.COMMAND_LOG.SOURCE [Worker0_QueryProcessorQueue0]: START DATA SRC COMMAND: startTime=2020-06-26 17:42:07.491 requestID=Ecs7P/wl/YGs.0 sourceCommandID=0 executionID=0 txID=null modelName=salesforce translatorName=mysalesforce sessionID=Ecs7P/wl/YGs principal=anonymous sql=SELECT g_0.ArticleNumber, g_0.Id, g_0.KnowledgeArticleId, g_0."Language" FROM salesforce.Regular_Articles__kav AS g_0 WHERE g_0."Language" = 'it' LIMIT 5
[2020-06-26 17:42:07,497 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: salesforce.Ecs7P/wl/YGs.Ecs7P/wl/YGs.0.0: Incoming Query: SELECT g_0.ArticleNumber, g_0.Id, g_0.KnowledgeArticleId, g_0.Language FROM Regular_Articles__kav AS g_0 WHERE g_0.Language = 'it' LIMIT 5
[2020-06-26 17:42:07,505 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: salesforce.Ecs7P/wl/YGs.Ecs7P/wl/YGs.0.0: Executing Query: SELECT Regular_Articles__kav.ArticleNumber, Regular_Articles__kav.Id, Regular_Articles__kav.KnowledgeArticleId, Regular_Articles__kav.Language FROM Regular_Articles__kav WHERE Regular_Articles__kav.Language = 'it' LIMIT 5
[2020-06-26 17:42:07,505 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.COMMAND_LOG.SOURCE [Worker0_QueryProcessorQueue0]: SOURCE SRC COMMAND: endTime=2020-06-26 17:42:07.505 requestID=Ecs7P/wl/YGs.0 sourceCommandID=0 executionID=0 txID=null modelName=salesforce translatorName=mysalesforce sessionID=Ecs7P/wl/YGs principal=anonymous sourceCommand=[SELECT Regular_Articles__kav.ArticleNumber, Regular_Articles__kav.Id, Regular_Articles__kav.KnowledgeArticleId, Regular_Articles__kav.Language FROM Regular_Articles__kav WHERE Regular_Articles__kav.Language = 'it' LIMIT 5]
[2020-06-26 17:42:10,412 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Executed command
[2020-06-26 17:42:10,412 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Processing MORE request
[2020-06-26 17:42:10,412 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Getting results from connector
[2020-06-26 17:42:10,414 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [Worker0_QueryProcessorQueue0]: Ecs7P/wl/YGs.0.0.0 Obtained last batch, total row count: 0
[2020-06-26 17:42:10,415 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: Request Thread Ecs7P/wl/YGs.0 with state PROCESSING
[2020-06-26 17:42:10,416 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [workerPool-0]: Ecs7P/wl/YGs.0.0.0 Remove State
[2020-06-26 17:42:10,416 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [workerPool-0]: Ecs7P/wl/YGs.0.0.0 Processing Close : SELECT g_0.ArticleNumber, g_0.Id, g_0.KnowledgeArticleId, g_0."Language" FROM salesforce.Regular_Articles__kav AS g_0 WHERE g_0."Language" = 'it' LIMIT 5
[2020-06-26 17:42:10,416 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [workerPool-0]: SynchQueryExecution.close() called
[2020-06-26 17:42:10,416 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [workerPool-0]: Ecs7P/wl/YGs.0.0.0 Closed execution
[2020-06-26 17:42:10,416 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.CONNECTOR [workerPool-0]: Ecs7P/wl/YGs.0.0.0 Closed connection
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.COMMAND_LOG.SOURCE [workerPool-0]: END SRC COMMAND: endTime=2020-06-26 17:42:10.417 requestID=Ecs7P/wl/YGs.0 sourceCommandID=0 executionID=0 txID=null modelName=salesforce translatorName=mysalesforce sessionID=Ecs7P/wl/YGs principal=anonymous finalRowCount=0 cpuTime(ns)=30057445
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: QueryProcessor: closing processor
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: Ecs7P/wl/YGs.0 Finished Processing
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: [RequestWorkItem.sendResultsIfNeeded] requestID: Ecs7P/wl/YGs.0 resultsID: 2 done: true
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.BUFFER_MGR [workerPool-0]: Ecs7P/wl/YGs.0 Blocking to allow asynch processing
[2020-06-26 17:42:10,417 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.PROCESSOR [workerPool-0]: Request Thread Ecs7P/wl/YGs.0 - processor blocked
[2020-06-26 17:42:10,418 CEST] DEBUG [salesforce-failover-facade,,,] org.teiid.jdbc [workerPool-0]: Successfully executed a query SELECT a.ArticleNumber,a.Id,a.KnowledgeArticleId,a.Language FROM Regular_Articles__kav a WHERE a.Language = 'it' LIMIT 5 and obtained results
{code}
And teiid do not return data too, of course.
Next variant of request *worked* in Salesforce (returned real number of rows, not 0). Because we do not used aliases for this table.
{code}
SELECT ArticleNumber,Id,KnowledgeArticleId,Language FROM Regular_Articles__kav WHERE Language = 'it' LIMIT 5
{code}
Whed we call this request in Teiid we get an exception:
{code}
Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT ArticleNumber,Id,KnowledgeArticleId,Language FROM Regular_Articles__kav WHERE Language = 'it' LIMIT 5]; SQL state [50000]; error code [0]; TEIID31100 Parsing error: Encountered ",KnowledgeArticleId,[*]Language[*] FROM Regular_Articles__kav" at line 1, column 44.
Was expecting: "char" | "date" | "time" | "timestamp" | "cast" | "convert" | "any" | "array" | "array_agg" | "case" ...; nested exception is org.teiid.jdbc.TeiidSQLException: TEIID31100 Parsing error: Encountered ",KnowledgeArticleId,[*]Language[*] FROM Regular_Articles__kav" at line 1, column 44.
Was expecting: "char" | "date" | "time" | "timestamp" | "cast" | "convert" | "any" | "array" | "array_agg" | "case" ...
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1442)
{code}
How we can call this request in teiid without aliases and exceptions?
> We have strange behavior with aliases
> -------------------------------------
>
> Key: TEIIDSB-213
> URL: https://issues.redhat.com/browse/TEIIDSB-213
> Project: Teiid Spring Boot
> Issue Type: Bug
> Components: datasource
> Reporter: Renat Eskenin
> Priority: Major
>
> We have two SOQL
> SELECT ArticleNumber,Id,KnowledgeArticleId,Language FROM Regular_Articles__kav WHERE Language = 'it' LIMIT 5
>
> SELECT a.ArticleNumber,a.Id,a.KnowledgeArticleId,a.Language FROM Regular_Articles__kav a WHERE a.Language = 'it' LIMIT 5
> This SOQL requests get different responses from SF because in second request we have alias for table.
> It is mystics from SF (we made bug in sf)
> How we can call
> SELECT ArticleNumber,Id,KnowledgeArticleId,Language FROM Regular_Articles__kav WHERE Language = 'it' LIMIT 5
> in Teiid without aliases?
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the teiid-issues
mailing list