Github user Sssan520 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2656#discussion_r212604056
  
    --- Diff: 
integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/externalformat/CsvBasedCarbonTableSuite.scala
 ---
    @@ -241,4 +243,170 @@ class CsvBasedCarbonTableSuite extends QueryTest
         
CarbonProperties.getInstance().addProperty(CarbonCommonConstants.ENABLE_VECTOR_READER,
           CarbonCommonConstants.ENABLE_VECTOR_READER_DEFAULT)
       }
    +
    +  test("block update data on external format table") {
    +    sql(
    +      s"""
    +         | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +         | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +         | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +         | attendance String, utilization String,salary String)
    +         | STORED BY 'carbondata'
    +         | TBLPROPERTIES(
    +         | 'format'='csv',
    +         | 'csv.header'='eMPno, empname,designation, doj, 
workgroupcategory,
    +         | workgroupcategoryname, deptno, deptname, projectcode, 
projectjoindate, projectenddate,
    +         |  attendance, utilization, SALARY'
    +         | )
    +       """.stripMargin
    +    )
    +    // block update data on external table.
    +    var exception = intercept[MalformedCarbonCommandException] {
    +      sql(s"update $csvCarbonTable set (empname) = ('b') where designation 
= 'a' ").collect
    +    }
    +    assert(exception.getMessage.contains("Unsupported operation on 
external table"))
    +  }
    +
    +  test("block delete data on external format table") {
    +    sql(
    +      s"""
    +         | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +         | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +         | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +         | attendance String, utilization String,salary String)
    +         | STORED BY 'carbondata'
    +         | TBLPROPERTIES(
    +         | 'format'='csv',
    +         | 'csv.header'='eMPno, empname,designation, doj, 
workgroupcategory,
    +         | workgroupcategoryname, deptno, deptname, projectcode, 
projectjoindate, projectenddate,
    +         |  attendance, utilization, SALARY'
    +         | )
    +       """.stripMargin
    +    )
    +    val exception = intercept[MalformedCarbonCommandException] {
    +      sql(s"delete from $csvCarbonTable where designation = 'a' ")
    +    }
    +    assert(exception.getMessage.contains("Unsupported operation on 
external table"))
    +  }
    +
    +  test("block add columns on external format table") {
    +    sql(
    +      s"""
    +         | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +         | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +         | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +         | attendance String, utilization String,salary String)
    +         | STORED BY 'carbondata'
    +         | TBLPROPERTIES(
    +         | 'format'='csv',
    +         | 'csv.header'='eMPno, empname,designation, doj, 
workgroupcategory,
    +         | workgroupcategoryname, deptno, deptname, projectcode, 
projectjoindate, projectenddate,
    +         |  attendance, utilization, SALARY'
    +         | )
    +       """.stripMargin
    +    )
    +    val exception = intercept[MalformedCarbonCommandException] {
    +      sql(s"alter table $csvCarbonTable add columns(addcolumn int)")
    +    }
    +    assert(exception.getMessage.contains("Unsupported operation on 
external table"))
    +  }
    +
    +  test("block drop columns on external format table") {
    +    sql(
    +      s"""
    +         | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +         | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +         | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +         | attendance String, utilization String,salary String)
    +         | STORED BY 'carbondata'
    +         | TBLPROPERTIES(
    +         | 'format'='csv',
    +         | 'csv.header'='eMPno, empname,designation, doj, 
workgroupcategory,
    +         | workgroupcategoryname, deptno, deptname, projectcode, 
projectjoindate, projectenddate,
    +         |  attendance, utilization, SALARY'
    +         | )
    +       """.stripMargin
    +    )
    +    val exception = intercept[MalformedCarbonCommandException] {
    +      sql(s"alter table $csvCarbonTable drop columns(empname,empno)")
    +    }
    +    assert(exception.getMessage.contains("Unsupported operation on 
external table"))
    +  }
    +
    +  test("block change datatype on external format table") {
    +    sql(
    +      s"""
    +         | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +         | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +         | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +         | attendance String, utilization String,salary String)
    +         | STORED BY 'carbondata'
    +         | TBLPROPERTIES(
    +         | 'format'='csv',
    +         | 'csv.header'='eMPno, empname,designation, doj, 
workgroupcategory,
    +         | workgroupcategoryname, deptno, deptname, projectcode, 
projectjoindate, projectenddate,
    +         |  attendance, utilization, SALARY'
    +         | )
    +       """.stripMargin
    +    )
    +    val exception = intercept[MalformedCarbonCommandException] {
    +      sql(s"alter table $csvCarbonTable change empno empno bigint")
    +    }
    +    assert(exception.getMessage.contains("Unsupported operation on 
external table"))
    +  }
    +
    +  test("block create external format table if columns not in 
format.header") {
    +    val exception = intercept[ProcessMetaDataException] {
    +      sql(
    +        s"""
    +           | CREATE TABLE $csvCarbonTable(empname String, empno smallint, 
designation string,
    +           | deptname String, projectcode int, projectjoindate 
String,projectenddate String,
    +           | doj String, workgroupcategory int, workgroupcategoryname 
String,deptno int,
    +           | attendance String, utilization String,salary String)
    +           | STORED BY 'carbondata'
    +           | TBLPROPERTIES(
    +           | 'format'='csv',
    +           | 'csv.header'='empname, designation, doj,
    +           | workgroupcategory, workgroupcategoryname, deptno,
    +           | deptname, projectcode, projectjoindate, projectenddate,
    +           | attendance, utilization, SALARY',
    +           | 'csv.delimiter'='|'
    +           | )
    +       """.stripMargin
    +      )
    +    }
    +    assert(exception.getMessage.contains("column 'empno' not in 
tblproperty 'csv.header'"))
    +  }
    +
    +  test("test desc formatted for external format table") {
    +    sql(
    --- End diff --
    
    fixed


---

Reply via email to