Skip to content

Commit

Permalink
Merge ebd85ad into fcca6c5
Browse files Browse the repository at this point in the history
  • Loading branch information
akashrn5 committed May 29, 2019
2 parents fcca6c5 + ebd85ad commit f2715ac
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 5 deletions.
Expand Up @@ -970,6 +970,20 @@ class MVCreateTestCase extends QueryTest with BeforeAndAfterAll {
}
}

test(" test MV with like queries and filter queries") {
sql("drop table if exists mv_like")
sql("create table mv_like(name string, age int, address string, Country string, id int) stored by 'carbondata'")
sql("create datamap mvlikedm1 using 'mv' as select name,address from mv_like where Country NOT LIKE 'US' group by name,address")
sql("create datamap mvlikedm2 using 'mv' as select name,address,Country from mv_like where Country = 'US' or Country = 'China' group by name,address,Country")
sql("insert into mv_like select 'chandler', 32, 'newYork', 'US', 5")
val df1 = sql("select name,address from mv_like where Country NOT LIKE 'US' group by name,address")
val analyzed1 = df1.queryExecution.analyzed
assert(verifyMVDataMap(analyzed1, "mvlikedm1"))
val df2 = sql("select name,address,Country from mv_like where Country = 'US' or Country = 'China' group by name,address,Country")
val analyzed2 = df2.queryExecution.analyzed
assert(verifyMVDataMap(analyzed2, "mvlikedm2"))
}

def verifyMVDataMap(logicalPlan: LogicalPlan, dataMapName: String): Boolean = {
val tables = logicalPlan collect {
case l: LogicalRelation => l.catalogTable.get
Expand All @@ -988,6 +1002,7 @@ class MVCreateTestCase extends QueryTest with BeforeAndAfterAll {
sql("drop table IF EXISTS fact_streaming_table2")
sql("drop table IF EXISTS fact_table_parquet")
sql("drop table if exists limit_fail")
sql("drop table IF EXISTS mv_like")
}

override def afterAll {
Expand Down
Expand Up @@ -517,7 +517,7 @@ class TestTimeSeriesCreateTable extends QueryTest with BeforeAndAfterAll with Be
|GROUP BY dataTime
""".stripMargin)
}
assert(e.getMessage.contains("Table or view not found: maintableno"))
assert(e.getMessage.contains("Table or view not found: mainTableNo"))
}

test("test timeseries create table 33: support event_time and granularity key with space") {
Expand Down
Expand Up @@ -196,7 +196,7 @@ object PreAggregateUtil {
parentDatabaseName: String,
carbonTable: CarbonTable) : ColumnTableRelation = {
val parentColumnId = carbonTable.getColumnByName(parentTableName, parentColumnName).getColumnId
val columnTableRelation = ColumnTableRelation(parentColumnName = parentColumnName,
val columnTableRelation = ColumnTableRelation(parentColumnName = parentColumnName.toLowerCase(),
parentColumnId = parentColumnId,
parentTableName = parentTableName,
parentDatabaseName = parentDatabaseName, parentTableId = parentTableId)
Expand Down Expand Up @@ -386,13 +386,14 @@ object PreAggregateUtil {
aggregateType: String = "",
parentTableName: String,
columnTableRelationList: Seq[ColumnTableRelation]): (Field, DataMapField) = {
val actualColumnName = if (aggregateType.equals("")) {
var actualColumnName = if (aggregateType.equals("")) {
parentTableName + '_' + columnName
} else {
parentTableName + '_' + columnName + '_' + aggregateType
}
val rawSchema = '`' + actualColumnName + '`' + ' ' + dataType.typeName
val dataMapField = DataMapField(aggregateType, Some(columnTableRelationList))
actualColumnName = actualColumnName.toLowerCase()
if (dataType.typeName.startsWith("decimal")) {
val (precision, scale) = CommonUtil.getScaleAndPrecision(dataType.catalogString)
(Field(column = actualColumnName,
Expand Down
Expand Up @@ -691,15 +691,15 @@ class CarbonSpark2SqlParser extends CarbonDDLSqlParser {
}

def addPreAggFunction(sql: String): String = {
addPreAgg(new lexical.Scanner(sql.toLowerCase)) match {
addPreAgg(new lexical.Scanner(sql)) match {
case Success(query, _) => query
case _ =>
throw new MalformedCarbonCommandException(s"Unsupported query")
}
}

def addPreAggLoadFunction(sql: String): String = {
addPreAggLoad(new lexical.Scanner(sql.toLowerCase)) match {
addPreAggLoad(new lexical.Scanner(sql)) match {
case Success(query, _) => query
case _ =>
throw new MalformedCarbonCommandException(s"Unsupported query")
Expand Down

0 comments on commit f2715ac

Please sign in to comment.