[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Steven Hawkins commented on TEIIDSB-213:
----------------------------------------
> 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.
I don't quite understand that conclusion yet. There may be some confusion here between the Teiid and source queries.
In the no rows case you issued the Teiid query: "SELECT a.ArticleNumber,a.Id,a.KnowledgeArticleId,a.Language FROM Regular_Articles__kav a WHERE a.Language = 'it' LIMIT 5"
>From the log you see the source query (SOQL) issued is: "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"
There are no aliases used in the source query. In fact user level query aliasing is never used in the source SOQL by Teiid, it is only pushed to determine the proper form of self join queries and then discarded.
> 1. Teiid got an exception in request without aliases because "Language" is reserved word as I known.
That is not a problem, it is expected behavior.
> 2. Salesforce have a BUG with aliases for concrete SObject (in other objects all working fine).
Again, you should not be looking at the Teiid query, but the source SOQL query that is being generated.
> Because Teiid converted this request to form with full qualified names as
That is not the SOQL, but the pushdown query from the query plan. The user query is converted to a query plan that contains pushdown queries you can see those in the processor plan or in the log as DATA SOURCE COMMAND to the relevant sources. Those pushdown queries are expressed in Teiid SQL. At runtime when those pushdown queries are processed it's the job of the translator to covert that into source SQL, DSL, API calls of whatever the source supports - in the log as SOURCE SRC COMMAND. In this case you can see logs similar to:
[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]
In other words it doesn't matter what quoting, aliases, etc. you have aliases in your user query the source SOQL will be the same.
If you are getting an unexpected row count, I would suggest not using the limit and/or where predicate to see if you do get expected results otherwise.
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Renat Eskenin commented on TEIIDSB-213:
---------------------------------------
A, this variants do not working too
{code}
SELECT ArticleNumber,Id,KnowledgeArticleId,"Language" FROM Regular_Articles__kav WHERE "Language" = 'it' LIMIT 5
{code}
{code}
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
{code}
Because Teiid converted this request to form with full qualified names as
{code}
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
{code}
As I understand.
This is effect of "interference systems".
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Renat Eskenin commented on TEIIDSB-213:
---------------------------------------
So. We have a problem
1. Teiid got an exception in request without aliases because "Language" is reserved word as I known.
2. Salesforce have a BUG with aliases for concrete SObject (in other objects all working fine).
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Renat Eskenin edited comment on TEIIDSB-213 at 6/26/20 12:55 PM:
-----------------------------------------------------------------
So. We have a problem
1. Teiid got an exception in request without aliases because "Language" is reserved word as I known.
2. Salesforce have a BUG with aliases for concrete SObject (in other objects all working fine).
And as finish - we can't call this request in Teiid for get real data.
was (Author: i3draven):
So. We have a problem
1. Teiid got an exception in request without aliases because "Language" is reserved word as I known.
2. Salesforce have a BUG with aliases for concrete SObject (in other objects all working fine).
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Renat Eskenin commented on TEIIDSB-213:
---------------------------------------
In attached images you can look at number of returned records when we call this request in Salesforce Workbench.
This is semantically identical SOQL with and without aliases.
!Снимок экрана от 2020-06-26 12-38-04.png|thumbnail! !Снимок экрана от 2020-06-26 12-37-40.png|thumbnail!
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Renat Eskenin updated TEIIDSB-213:
----------------------------------
Attachment: Снимок экрана от 2020-06-26 12-38-04.png
Снимок экрана от 2020-06-26 12-37-40.png
> 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
> Attachments: Снимок экрана от 2020-06-26 12-37-40.png, Снимок экрана от 2020-06-26 12-38-04.png
>
>
> 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)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Renat Eskenin (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
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)
3 years, 11 months
[JBoss JIRA] (TEIID-4594) Add ability to read Parquet Files
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIID-4594?page=com.atlassian.jira.plugi... ]
Steven Hawkins commented on TEIID-4594:
---------------------------------------
We should probably look to use the apache project https://parquet.apache.org/ - the same dependency supports both avro and parquet.
There is also arrow https://arrow.apache.org/docs/index.html - that supports reading parquet and provides an in-memory layer over which to process.
The translator will have several responsibilities:
- metadata: Using the metadata facilities provided by the parquet library it should be possible to automatically create a table representation for a set of parquet files. There appears to both be an external metadata specification (generally used by spark) and metadata in each parquet file. For reference we would see the common representations possible in the Hive metastore. Presumably a file single source can define a number of parquet tables. If it seems too complex for us to automate the import, then we should focus on the set of options needed to define the foreign table: create foreign table my_parquet_table (...) OPTIONS (PATH '...' PARTITION_COLUMN '...' ...) - with the expectation that the user will manually add these statements to their ddl. I am not familiar enough with all of the possible options and partitioning schemes to fully specify what is needed.
- pushdown: controlled by the ExecutionFactory capabilities methods we need to determine what is possible for pushdown. Since a set of files will generally define the same logical table the most fundamental pushdown would be around a partitioning column such that at least an equality predicate can be used to specify a specific partition/file. Since it's a columnar format the most benefit from other pushdowns is allowing further projection minimization.
- processing: utilizing one of the libraries from above the Teiid source query will need a ResultSetExecution providing the implementation. There are quite a few examples to draw from that translate from our SQL language objects to either another query or api.
> Add ability to read Parquet Files
> ---------------------------------
>
> Key: TEIID-4594
> URL: https://issues.redhat.com/browse/TEIID-4594
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 9.2
> Reporter: Van Halbert
> Priority: Major
> Fix For: 15.0
>
>
> Integration with Parquet files on Gluster is an important requirement. RADAnalytics will be accessing data from Parquet which is a common file format for Spark.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 11 months
[JBoss JIRA] (TEIIDSB-213) We have strange behavior with aliases
by Steven Hawkins (Jira)
[ https://issues.redhat.com/browse/TEIIDSB-213?page=com.atlassian.jira.plug... ]
Steven Hawkins commented on TEIIDSB-213:
----------------------------------------
I don't quite follow what is happening here.
Is the query with aliases the Teiid query you are issuing?
What is the source SOQL query that you are seeing as a result?
What is the nature of the problem with the salesforce response to that?
What version of Teiid Spring Boot is this?
If I for example on Teiid/Teiid Spring Boot master issue the Teiid query: "SELECT a.id FROM Opportunity as a where a.amount > 100000000 LIMIT 5"
The SOQL issued is actually: "SELECT Opportunity.Id FROM Opportunity WHERE Opportunity.Amount > 100000000 LIMIT 5" -- the user query alias does not appear.
> 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)
3 years, 11 months