Skip to content

Commit

Permalink
[CARBONDATA-3276] Compacting table that do not exist should modify th…
Browse files Browse the repository at this point in the history
…e message of MalformedCarbonCommandException

This closes #3106
  • Loading branch information
qiuchenjian authored and QiangCai committed Feb 23, 2019
1 parent c56f810 commit 99dfcbe
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
Expand Up @@ -23,11 +23,11 @@ import org.apache.spark.sql.Row
import org.apache.spark.sql.common.util._
import org.apache.spark.util.SparkUtil
import org.scalatest.BeforeAndAfterAll

import org.apache.carbondata.common.constants.LoggerAction
import org.apache.carbondata.common.exceptions.sql.MalformedCarbonCommandException
import org.apache.carbondata.core.constants.CarbonCommonConstants
import org.apache.carbondata.core.util.CarbonProperties
import org.apache.spark.sql.catalyst.analysis.NoSuchTableException

/**
* Test Class for AlterTableTestCase to verify all scenerios
Expand Down Expand Up @@ -895,6 +895,14 @@ class AlterTableTestCase extends QueryTest with BeforeAndAfterAll {
sql(s"""drop table if exists test1""").collect
}

test("Compaction_001_13", Include) {
sql("drop table if exists no_table")
var ex = intercept[MalformedCarbonCommandException] {
sql("alter table no_table compact 'major'")
}
assertResult("Table or view 'no_table' not found in database 'default' or not carbon fileformat")(ex.getMessage)
}


//Check bad record locaion isnot changed when table name is altered
test("BadRecords_001_01", Include) {
Expand Down
Expand Up @@ -36,7 +36,7 @@ import org.apache.spark.sql.types.StructField
import org.apache.spark.util.{CarbonReflectionUtils, FileUtils, SparkUtil}

import org.apache.carbondata.common.exceptions.sql.MalformedCarbonCommandException
import org.apache.carbondata.common.logging.{LogService, LogServiceFactory}
import org.apache.carbondata.common.logging.LogServiceFactory
import org.apache.carbondata.core.metadata.schema.table.CarbonTable
import org.apache.carbondata.core.util.{CarbonProperties, DataTypeUtil, ThreadLocalSessionInfo}
import org.apache.carbondata.spark.util.Util
Expand Down Expand Up @@ -125,7 +125,9 @@ class DDLStrategy(sparkSession: SparkSession) extends SparkStrategy {
ExecutedCommandExec(alterTable) :: Nil
} else {
throw new MalformedCarbonCommandException(
"Operation not allowed : " + altertablemodel.alterSql)
String.format("Table or view '%s' not found in database '%s' or not carbon fileformat",
altertablemodel.tableName,
altertablemodel.dbName.getOrElse("default")))
}
case colRenameDataTypeChange@CarbonAlterTableColRenameDataTypeChangeCommand(
alterTableColRenameAndDataTypeChangeModel, _) =>
Expand All @@ -146,7 +148,11 @@ class DDLStrategy(sparkSession: SparkSession) extends SparkStrategy {
ExecutedCommandExec(colRenameDataTypeChange) :: Nil
}
} else {
throw new MalformedCarbonCommandException("Unsupported alter operation on hive table")
throw new MalformedCarbonCommandException(
String.format("Table or view '%s' not found in database '%s' or not carbon fileformat",
alterTableColRenameAndDataTypeChangeModel.tableName,
alterTableColRenameAndDataTypeChangeModel.
databaseName.getOrElse("default")))
}
case addColumn@CarbonAlterTableAddColumnCommand(alterTableAddColumnsModel) =>
val isCarbonTable = CarbonEnv.getInstance(sparkSession).carbonMetaStore
Expand Down

0 comments on commit 99dfcbe

Please sign in to comment.