[
https://issues.apache.org/jira/browse/LENS-847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rajat Khandelwal updated LENS-847:
----------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
> 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.4, 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)