[ 
https://issues.apache.org/jira/browse/LENS-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Srikanth Sundarrajan updated LENS-847:
--------------------------------------
    Attachment: LEN-847-V1.patch

> Columnar JDBC Rewriter in incorrectly pushing filter against wrong alias when 
> fact columns map to a single dimension
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: LENS-847
>                 URL: https://issues.apache.org/jira/browse/LENS-847
>             Project: Apache Lens
>          Issue Type: Bug
>          Components: driver-jdbc
>    Affects Versions: 2.3, 2.4, 2.5
>            Reporter: Srikanth Sundarrajan
>            Assignee: Srikanth Sundarrajan
>             Fix For: 2.5
>
>         Attachments: LEN-847-V1.patch, LEN-847.patch
>
>
> Columnar JDBC Rewriter in incorrectly pushing filter against wrong alias when 
> fact columns map to a single dimension.
> Ex:
> select fact.time_key, time_dim.day_of_week, location_dim_a.location_name, 
> other_location_dim.location_name, sum(fact.dollars_sold) from sales_fact fact 
> inner join time_dim time_dim on fact.time_key = time_dim.time_key inner join 
> location_dim location_dim_a on fact.location_key = 
> location_dim_a.location_key inner join location_dim other_location_dim on 
> fact.other_location_key = other_location_dim.location_key where 
> time_dim.time_key between '2013-01-01' and '2013-01-31' and 
> location_dim_a.location_key = 'some-loc' group by fact.time_key, 
> location_dim_a.location_key, other_location_dim.location_key
> is being rewritten to 
> select ( sales_fact___fact . time_key ), ( time_dim___time_dim . day_of_week 
> ), ( location_dim___location_dim_a . location_name ), ( 
> location_dim___other_location_dim . location_name ), sum(alias1) from  
> (select sales_fact___fact.time_key, sales_fact___fact.location_key, 
> sales_fact___fact.other_location_key,sum(( sales_fact___fact . dollars_sold 
> )) as alias1 from sales_fact sales_fact___fact where 
> sales_fact___fact.time_key in  (  select time_dim .time_key from time_dim 
> where ( time_dim. time_key ) between  '2013-01-01'  and  '2013-01-31'  ) and 
> sales_fact___fact.location_key in  (  select location_dim .location_key from 
> location_dim where (( location_dim. location_key ) =  'some-loc' ) ) and 
> {{sales_fact___fact.other_location_key in  (  select location_dim 
> .location_key from location_dim where (( location_dim. location_key ) =  
> 'some-loc' ) )}}  group by sales_fact___fact.time_key, 
> sales_fact___fact.location_key, sales_fact___fact.other_location_key) 
> sales_fact___fact  inner join (select time_key,day_of_week from time_dim) 
> time_dim___time_dim on (( sales_fact___fact . time_key ) = ( 
> time_dim___time_dim . time_key ))  inner join (select 
> location_key,location_name from location_dim) location_dim___location_dim_a 
> on (( sales_fact___fact . location_key ) = ( location_dim___location_dim_a . 
> location_key ))  inner join (select location_key,location_name from 
> location_dim) location_dim___other_location_dim on (( sales_fact___fact . 
> other_location_key ) = ( location_dim___other_location_dim . location_key ))  
> where (( time_dim___time_dim . time_key ) between  '2013-01-01'  and  
> '2013-01-31'  and (( location_dim___location_dim_a . location_key ) =  
> 'some-loc' )) group by ( sales_fact___fact . time_key ), ( 
> location_dim___location_dim_a . location_key ), ( 
> location_dim___other_location_dim . location_key )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to