[
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 [email protected](_, _, _, _, _, 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 [email protected](_, _, _, _, _, 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)