[ 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) |
Free forum by Nabble | Edit this page |