[jira] [Updated] (CARBONDATA-3403) MV is not working for like and filter AND and OR queries

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (CARBONDATA-3403) MV is not working for like and filter AND and OR queries

Akash R Nilugal (Jira)

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

Akash R Nilugal updated CARBONDATA-3403:
----------------------------------------
    Description:
MV is not working for like and filter AND and OR queries

 

Steps:

create table brinjal (imei string,AMSize string,channelsId string,ActiveCountry string, Activecity string,gamePointId double,deviceInformationId double,productionDate Timestamp,deliveryDate timestamp,deliverycharge double) STORED BY 'org.apache.carbondata.format' ;

 

create datamap brinjal_mv_tab_nlz_aa016 on table brinjal using 'mv' as select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId;


create datamap brinjal_mv_tab_nlz_aa018 on table brinjal using 'mv' as select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;

 

then 

select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId; and 

  select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;

are not hitting the datamap cretaed



 def updatePlan(plan: ModularPlan): ModularPlan = {
    // get all the outputlist from relation
    val dmOutputList = plan.collect {
      case [hidden email](_, _, _, _, _, children, _, _, _, _) if children
        .forall(_.isInstanceOf[modular.LeafNode]) =>
        s.outputList
    }.flatten
    val newPlan = plan.transform {
      case plan =>
        plan.transformExpressions {
          case attr: Attribute =>
            val existingCol = dmOutputList.find(_.exprId.equals(attr.exprId))
            if (existingCol.isDefined) {
              AttributeReference(existingCol.get.name, attr.dataType)(exprId = attr.exprId,
                qualifier = attr.qualifier)
            } else {
              attr
            }
        }
    }
    newPlan
  }

  was:
MV is not working for like and filter AND and OR queries

 

Steps:

create table brinjal (imei string,AMSize string,channelsId string,ActiveCountry string, Activecity string,gamePointId double,deviceInformationId double,productionDate Timestamp,deliveryDate timestamp,deliverycharge double) STORED BY 'org.apache.carbondata.format' ;

 

create datamap brinjal_mv_tab_nlz_aa016 on table brinjal using 'mv' as select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId;


create datamap brinjal_mv_tab_nlz_aa018 on table brinjal using 'mv' as select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;

 

then 

select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId; and 

  select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;

are not hitting the datamap cretaed




> MV is not working for like and filter AND and OR queries
> --------------------------------------------------------
>
>                 Key: CARBONDATA-3403
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-3403
>             Project: CarbonData
>          Issue Type: Bug
>            Reporter: Akash R Nilugal
>            Priority: Minor
>             Fix For: 1.6.0
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> MV is not working for like and filter AND and OR queries
>  
> Steps:
> create table brinjal (imei string,AMSize string,channelsId string,ActiveCountry string, Activecity string,gamePointId double,deviceInformationId double,productionDate Timestamp,deliveryDate timestamp,deliverycharge double) STORED BY 'org.apache.carbondata.format' ;
>  
> create datamap brinjal_mv_tab_nlz_aa016 on table brinjal using 'mv' as select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId;
> create datamap brinjal_mv_tab_nlz_aa018 on table brinjal using 'mv' as select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;
>  
> then 
> select imei,AMSize,channelsId from brinjal where ActiveCountry NOT LIKE 'US' group by imei,AMSize,channelsId; and 
>   select imei,AMSize,channelsId,ActiveCountry from brinjal where ActiveCountry ='Chinese' or channelsId =4 group by imei,AMSize,channelsId,ActiveCountry;
> are not hitting the datamap cretaed
>  def updatePlan(plan: ModularPlan): ModularPlan = {
>     // get all the outputlist from relation
>     val dmOutputList = plan.collect {
>       case [hidden email](_, _, _, _, _, children, _, _, _, _) if children
>         .forall(_.isInstanceOf[modular.LeafNode]) =>
>         s.outputList
>     }.flatten
>     val newPlan = plan.transform {
>       case plan =>
>         plan.transformExpressions {
>           case attr: Attribute =>
>             val existingCol = dmOutputList.find(_.exprId.equals(attr.exprId))
>             if (existingCol.isDefined) {
>               AttributeReference(existingCol.get.name, attr.dataType)(exprId = attr.exprId,
>                 qualifier = attr.qualifier)
>             } else {
>               attr
>             }
>         }
>     }
>     newPlan
>   }



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)