blob: 344be142f861ae1952c83b48cc2a76d6c26fce69 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.carbondata.cluster.sdv.generated
import org.apache.spark.sql.{AnalysisException, Row}
import org.apache.spark.sql.common.util._
import org.scalatest.BeforeAndAfterAll
/**
* Test Class for AlterTableTestCase to verify all scenerios
*/
class TableCommentAlterTableTestCase extends QueryTest with BeforeAndAfterAll {
//Check create table with table comment
test("TableCommentAlterTable_001_01", Include) {
sql(s"""drop table if exists table_comment""").collect
sql(s""" create table table_comment(id int, name string) comment "This is table comment" STORED AS carbondata""").collect
val result = sql("describe formatted table_comment")
checkExistence(result, true, "Comment")
checkExistence(result, true, "This is table comment")
}
//Check create table with comment as numeric/alphanumeric/special symbols
test("TableCommentAlterTable_001_02", Include) {
sql(s"""drop table if exists table_comment_special""").collect
sql(s"""create table table_comment_special(id int, name string) comment "3432432 @This $$$$ is table comment #$$%^&*@# 34234" STORED AS carbondata""").collect
val result = sql("describe formatted table_comment_special")
checkExistence(result, true, "Comment")
checkExistence(result, true, "3432432 @This $$ is table comment #$%^&*@# 34234")
}
//Check create table with comment as blank
test("TableCommentAlterTable_001_03", Include) {
sql(s"""drop table if exists table_comment_alphabets""").collect
sql(s"""create table table_comment_alphabets(id int, name string) comment "" STORED AS carbondata""").collect
val result = sql("describe formatted table_comment")
checkExistence(result, true, "Comment")
}
//Check create table with comment as high values
test("TableCommentAlterTable_001_04", Include) {
sql(s"""drop table if exists table_comment_high""").collect
sql(s"""create table table_comment_high(id int, name string) comment "This is table comment jgfhdsjgfhsjdgjfsdgfbcfgr763 23x4bt23n8z30bt20t49ct4cb3g93t53945ctbugebgec4c3trbcu4grehrvsgyabrgyuwarcnrwbrcwe rwergrburygwae rwaeuigrwawewrcargw7aer wr766tznzYQEqoie weqeqewqeqweqweqweewqeqwe" STORED AS carbondata""").collect
val result = sql("describe formatted table_comment_high")
checkExistence(result, true, "Comment")
checkExistence(result, true, "This is table comment jgfhdsjgfhsjdgjfsdgfbcfgr763 23x4bt23n8z30bt20t49ct4cb3g93t53945ctbugebgec4c3trbcu4grehrvsgyabrgyuwarcnrwbrcwe rwergrburygwae rwaeuigrwawewrcargw7aer wr766tznzYQEqoie weqeqewqeqweqweqweewqeqwe")
}
//Check create table with comment in the table properties
test("TableCommentAlterTable_001_05", Include) {
sql(s"""drop table if exists table_comment_asprop""").collect
sql(s"""create table table_comment_asprop (imei string,num bigint,game double,date timestamp,Profit decimal(3,2)) STORED AS carbondata TBLPROPERTIES('comment'='This is table comment..!!')""").collect
val result = sql("describe formatted table_comment")
checkExistence(result, true, "Comment")
checkExistence(result, false, "This is table comment..!!")
}
//Check create table with comment after stored as clause
//This behavior is okay in Spark-2.3 but may fail with earlier spark versions.
test("TableCommentAlterTable_001_06", Include) {
sql("create table table_comment_afterstoredby (id int, name string) STORED AS carbondata comment 'This is table comment'")
}
//Check the comment by "describe formatted"
test("TableCommentAlterTable_001_07", Include) {
sql(s"""drop table if exists table_comment""").collect
sql(s""" create table table_comment(id int, name string) comment "This is table comment" STORED AS carbondata""").collect
val result = sql("describe formatted table_comment")
checkExistence(result, true, "Comment")
checkExistence(result, true, "This is table comment")
}
//Check SET Command by using alter command
test("TableCommentAlterTable_001_08", Include) {
sql(s"""drop table if exists table_comment_set""").collect
sql(s"""create table table_comment_set (id int, name string) STORED AS carbondata""").collect
sql(s"""alter table table_comment_set SET TBLPROPERTIES ('comment'='This table comment is SET by alter table set')""").collect
val result = sql("describe formatted table_comment_set")
checkExistence(result, true, "Comment")
checkExistence(result, true, "This table comment is SET by alter table set")
}
//Check UNSET Command by using alter command
test("TableCommentAlterTable_001_09", Include) {
sql(s"""drop table if exists table_comment_unset""").collect
sql(s"""create table table_comment_unset(id int, name string) comment "This is table comment" STORED AS carbondata""").collect
val result1 = sql("describe formatted table_comment_unset")
checkExistence(result1, true, "Comment")
checkExistence(result1, true, "This is table comment")
sql(s"""alter table table_comment_unset UNSET TBLPROPERTIES IF EXISTS ('comment')""").collect
val result2 = sql("describe formatted table_comment_unset")
checkExistence(result2, true, "Comment")
checkExistence(result2, false, "This is table comment")
}
//Check RENAME by using alter command
test("TableCommentAlterTable_001_10", Include) {
sql(s"""drop table if exists table_comment_rename1""").collect
sql(s"""create table table_comment_rename1 (id int, name string) STORED AS carbondata""").collect
sql(s"""alter table table_comment_rename1 rename to table_comment_rename2""").collect
val result = sql("describe formatted table_comment_rename2")
checkExistence(result, true, "Comment")
checkExistence(result, true, "table_comment")
}
//Check ADD Columns by using alter command
test("TableCommentAlterTable_001_11", Include) {
sql(s"""drop table if exists table_add_column """).collect
sql(s"""create table table_add_column (name string, country string, upd_time timestamp) STORED AS carbondata""").collect
sql(s"""alter table table_add_column add columns (id bigint)""").collect
val result = sql("describe table_add_column ")
checkExistence(result, true, "id")
checkExistence(result, true, "bigint")
}
//Check CHANGE DATA TYPE by using alter command
test("TableCommentAlterTable_001_12", Include) {
sql(s"""drop table if exists table_change_datatype""").collect
sql(s"""create table table_change_datatype (name string, id decimal(3,2),country string) STORED AS carbondata""").collect
sql(s"""alter table table_change_datatype change id id decimal(10,4)""").collect
val result = sql("describe formatted table_change_datatype")
checkExistence(result, true, "Comment")
checkExistence(result, true, "decimal(10,4)")
}
}