[JBoss JIRA] (TEIID-4459) Convert project semi-joins to (dependent) join queries
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4459?page=com.atlassian.jira.plugin... ]
Steven Hawkins edited comment on TEIID-4459 at 9/26/16 4:29 PM:
----------------------------------------------------------------
Added the initial work that is hint driven or requires the use of the system property subqueryUnnestDefault=true. The odata logic was updated to automatically add the hint.
The hint is a leading mj (merge join):
{code}
select x, /*+ mj */ (select ...) as sub from ...
{code}
was (Author: shawkins):
Added the initial work that is hint driven or requires the use of the system property subqueryUnnestDefault=true. The odata logic was updated to automatically add the hint.
> Convert project semi-joins to (dependent) join queries
> ------------------------------------------------------
>
> Key: TEIID-4459
> URL: https://issues.jboss.org/browse/TEIID-4459
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.1
>
>
> In many situations subqueries in the where clause can be planned as semi-joins. The same logic should be updated to handle the select clause.
> This will also help ensure better performance with odata generated array_agg queries.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4459) Convert project semi-joins to (dependent) join queries
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4459?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4459.
-----------------------------------
Resolution: Done
Added the initial work that is hint driven or requires the use of the system property subqueryUnnestDefault=true. The odata logic was updated to automatically add the hint.
> Convert project semi-joins to (dependent) join queries
> ------------------------------------------------------
>
> Key: TEIID-4459
> URL: https://issues.jboss.org/browse/TEIID-4459
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.1
>
>
> In many situations subqueries in the where clause can be planned as semi-joins. The same logic should be updated to handle the select clause.
> This will also help ensure better performance with odata generated array_agg queries.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4469) Insert with query expression does not apply source hint to target
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4469?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4469.
-----------------------------------
Fix Version/s: 9.1
9.0.5
Resolution: Done
Added tracking of the source hint on the parent project node.
> Insert with query expression does not apply source hint to target
> -----------------------------------------------------------------
>
> Key: TEIID-4469
> URL: https://issues.jboss.org/browse/TEIID-4469
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7.1.6_2
> Reporter: Marc Shirley
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> "INSERT INTO ... SELECT ..." statements result in a ProjectIntoNode which seems to prevent any source hints from being passed down to the relevant source. These work correctly with an "INSERT INTO ... VALUES ..." statement. I've included example user and final query plan data below for the non-working [1] and working [2] insert statements.
> [1] source hint not applied to ProjectIntoNode:
> USER COMMAND:
> INSERT /*+sh test:'append' */ INTO test.TEST (ID, "VALUE") SELECT X.id AS ID, X."value" AS "VALUE" FROM (SELECT bqt.SMALLA.INTKEY AS id, bqt.SMALLA.INTNUM AS "value" FROM bqt.SMALLA WHERE bqt.SMALLA.INTKEY = 0) AS X
> ...
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> ProjectIntoNode(0) output=[Count] test.TEST
> AccessNode(1) output=[bqt.SMALLA.INTKEY AS ID, bqt.SMALLA.INTNUM AS "VALUE"] SELECT /*+sh test:'append' */ g_0.INTKEY, g_0.INTNUM FROM bqt.SMALLA AS g_0 WHERE g_0.INTKEY = 0
> [2] source hint applied to AccessNode:
> USER COMMAND:
> INSERT /*+sh test:'append' */ INTO test.TEST (ID, "VALUE") VALUES ('-1', '-1')
> ...
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> AccessNode(0) output=[Count] INSERT /*+sh test:'append' */ INTO test.TEST (ID, "VALUE") VALUES ('-1', '-1')
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4474) Re-license under a more permissive license
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4474:
-------------------------------------
Summary: Re-license under a more permissive license
Key: TEIID-4474
URL: https://issues.jboss.org/browse/TEIID-4474
Project: Teiid
Issue Type: Task
Reporter: Steven Hawkins
Assignee: Steven Hawkins
There has been some interest in Teiid re-licensing with a more permissive license, such as the ASL or MIT license. Beyond the obvious work of altering headers and license files, we need permission from the original copyright/copyleft holders to approve the change.
We'd likely want to use the ASL, but if there are any concerns about GPL compatibility we'll consider the MIT license.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months
[JBoss JIRA] (TEIID-4213) Cassandra translator: enable pushdown of aggregate functions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4213?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4213:
---------------------------------------
Since aggregate functions weren't added until 2.2, it would be best to have the support marked as conditional - or update the admin guide to state that it's our minimum expected server version.
It also looks like we're due for a client driver upgrade, as even our version detection logic wouldn't work in this case as we are using the 2.1 client.
> Cassandra translator: enable pushdown of aggregate functions
> ------------------------------------------------------------
>
> Key: TEIID-4213
> URL: https://issues.jboss.org/browse/TEIID-4213
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.12.x
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
> Priority: Minor
> Fix For: 9.1
>
>
> Cassandra supports basic aggregate functions:
> MIN(),MAX(),SUM() and AVG()
> Currently Teiid doesn't push such queries.
> NOTE:In case of AVG() there is difference between the values returned from Teiid vs. Cassandra for an integer column. Cassandra returns only whole part of the number as integer, Teiid returns bigdecimal.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 9 months