[teiid-issues] [JBoss JIRA] (TEIID-3062) Apply LIMIT 1 optimization for DISTINCT in UNION situations

Steven Hawkins (JIRA) issues at jboss.org
Tue Aug 5 17:06:29 EDT 2014


     [ https://issues.jboss.org/browse/TEIID-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins resolved TEIID-3062.
-----------------------------------

    Fix Version/s: 8.9
       Resolution: Done


I thought this would be aligned with the fix for TEIID-3063, but it turned out to be easier to just relax the logic related to the partitioned union optimization, such that we'll still decompose even when there are constants.

> Apply LIMIT 1 optimization for DISTINCT in UNION situations
> -----------------------------------------------------------
>
>                 Key: TEIID-3062
>                 URL: https://issues.jboss.org/browse/TEIID-3062
>             Project: Teiid
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Query Engine
>    Affects Versions: 8.1
>            Reporter: Mark Addleman
>            Assignee: Steven Hawkins
>             Fix For: 8.9
>
>
> The translator does not support select expressions.  Query:
> SELECT  DISTINCT  DATAMART_NAME AS c_9, '_constant_' AS c_10 FROM (SELECT datamart_name FROM
>   (
>       SELECT 'DATACOM Datamart' AS DATAMART_NAME FROM SECURITY_DM_DATACOM_DEV_R140_CA31_CMGRD1.VIEWOBJACCESS
>       UNION ALL
>      SELECT 'DB2 D91A Datamart' AS DATAMART_NAME FROM SECURITY_DM_DB2_D91APTIB_CMGRD1.VIEWOBJACCESS
>   ) AS t
> ) a
> Final part of plan:
> OPTIMIZATION COMPLETE:
> PROCESSOR PLAN:
> SortNode(0) output=[datamart_name AS c_9, '_constant_' AS c_10] [DUP_REMOVE]
>   ProjectNode(1) output=[datamart_name AS c_9, '_constant_' AS c_10] [datamart_name AS c_9, '_constant_' AS c_10]
>     UnionAllNode(2) output=[datamart_name]
>       AccessNode(3) output=['DATACOM Datamart' AS DATAMART_NAME] SELECT 'DATACOM Datamart' FROM SECURITY_DM_DATACOM_DEV_R140_CA31_CMGRD1.VIEWOBJACCESS AS g_0
>       AccessNode(4) output=['DB2 D91A Datamart' AS DATAMART_NAME] SELECT 'DB2 D91A Datamart' FROM SECURITY_DM_DB2_D91APTIB_CMGRD1.VIEWOBJACCESS AS g_0
> Expected LIMIT 1 in the access nodes.  Comment from Steven:  "More than likely we are not checking across a union for this optimization."
> See  https://community.jboss.org/message/883460 for more details and complete plan



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the teiid-issues mailing list