[teiid-issues] [JBoss JIRA] (TEIID-4113) Impala translator - Incorrect aggregate replacement in query

Don Krapohl (JIRA) issues at jboss.org
Fri Apr 1 14:23:00 EDT 2016


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

Don Krapohl updated TEIID-4113:
-------------------------------
    Description: 
When PARSETIMESTAMP is included in a query aggregates in other columns may not be written correctly.  Example is  as below, sum(first_metric) is rewritten to anon_grp0.agg0 in the query sent to Impala.

Given the schema:
//source
SourceTable
the_attribute string(255),
first_metric long,
second_metric bigdecimal
another_attribute String(255)

//view
VirtualTable
the_attribute string(255),
first_metric long,
second_metric bigdecimal
another_attribute String(255)


//  Teiid query
SELECT the_attribute,
cast(
  sum(
    first_metric
  ) 
  / 
  count(
    distinct case when  second_metric >= 0 then second_metric end
  ) as double
)  as some_alias,
PARSETIMESTAMP(another_attribute, 'yyyy-MM-dd') as somedate
FROM VirtualTable 
WHERE a_filter_val=111 
GROUP BY the_attribute, another_attribute


//Query sent to impala
SELECT g_0.the_attribute AS c_0, 
cast(
  (
    anon_grp0.agg0 
    / 
    cast(
    anon_grp0.agg1 AS bigint
    )
  ) AS double
) AS c_1, 
g_0.another_attribute AS c_2 
FROM VirtualTable
WHERE a_filter_val=111
GROUP BY g_0.the_attribute, g_0.another_attribute



  was:
When PARSETIMESTAMP is included in a query aggregates in other columns may not be written correctly.  Example is  as below, sum(first_metric) is rewritten to anon_grp0.agg0 in the query sent to Impala.

Given the schema:
//source
SourceTable
the_attribute string(255),
first_metric long,
second_metric bigdecimal
another_attribute String(255)

//view
VirtualTable
the_attribute string(255),
first_metric long,
second_metric bigdecimal
another_attribute String(255)


//  Teiid query
SELECT the_attribute,
cast(
  sum(
    first_metric
  ) 
  / 
  count(
    distinct case when  second_metric >= 0 then second_metric end
  ) as double
)  as some_alias,
PARSETIMESTAMP(another_attribute, 'yyyy-MM-dd') as somedate
FROM VirtualTable 
WHERE a_filter_val=111 
GROUP BY the_attribute, another_attribute


//Query sent to impala
SELECT g_0.the_attribute AS c_0, 
cast(
  (
    anon_grp0.agg0 
    / 
    cast(
    anon_grp0.agg1 AS bigint
    )
  ) AS double
) AS c_1, 
g_0.another_attribute AS c_2 
FROM VirtualTable
WHERE a_filter_val=111
GROUP BY g_0.the_attribute, g_0.date_key





> Impala translator - Incorrect aggregate replacement in query
> ------------------------------------------------------------
>
>                 Key: TEIID-4113
>                 URL: https://issues.jboss.org/browse/TEIID-4113
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDBC Connector
>    Affects Versions: 8.13.3
>         Environment: Ubuntu Trusty
>            Reporter: Don Krapohl
>            Assignee: Steven Hawkins
>              Labels: Impala_Translator
>
> When PARSETIMESTAMP is included in a query aggregates in other columns may not be written correctly.  Example is  as below, sum(first_metric) is rewritten to anon_grp0.agg0 in the query sent to Impala.
> Given the schema:
> //source
> SourceTable
> the_attribute string(255),
> first_metric long,
> second_metric bigdecimal
> another_attribute String(255)
> //view
> VirtualTable
> the_attribute string(255),
> first_metric long,
> second_metric bigdecimal
> another_attribute String(255)
> //  Teiid query
> SELECT the_attribute,
> cast(
>   sum(
>     first_metric
>   ) 
>   / 
>   count(
>     distinct case when  second_metric >= 0 then second_metric end
>   ) as double
> )  as some_alias,
> PARSETIMESTAMP(another_attribute, 'yyyy-MM-dd') as somedate
> FROM VirtualTable 
> WHERE a_filter_val=111 
> GROUP BY the_attribute, another_attribute
> //Query sent to impala
> SELECT g_0.the_attribute AS c_0, 
> cast(
>   (
>     anon_grp0.agg0 
>     / 
>     cast(
>     anon_grp0.agg1 AS bigint
>     )
>   ) AS double
> ) AS c_1, 
> g_0.another_attribute AS c_2 
> FROM VirtualTable
> WHERE a_filter_val=111
> GROUP BY g_0.the_attribute, g_0.another_attribute



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the teiid-issues mailing list