Login  Register

[GitHub] [carbondata] Indhumathi27 commented on a change in pull request #4133: [CARBONDATA-4184] alter table Set TBLPROPERTIES for RANGE_COLUMN sets unsupported datatype(complex_datatypes/Binary/Boolean/Decimal) as RANGE_COLUMN.

Posted by GitBox on May 13, 2021; 6:03am
URL: http://apache-carbondata-dev-mailing-list-archive.168.s1.nabble.com/GitHub-carbondata-Karan980-opened-a-new-pull-request-4133-CARBONDATA-4184-alter-table-Set-TBLPROPERT-tp108133p108156.html


Indhumathi27 commented on a change in pull request #4133:
URL: https://github.com/apache/carbondata/pull/4133#discussion_r631582485



##########
File path: integration/spark/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestRangeColumnDataLoad.scala
##########
@@ -836,15 +836,52 @@ class TestRangeColumnDataLoad extends QueryTest with BeforeAndAfterEach with Bef
   test("set and unset table property: range_column") {
     sql(
       """
-        | CREATE TABLE carbon_range_column6(id INT, name STRING, city STRING, age INT)
-        | STORED AS carbondata
+        | CREATE TABLE carbon_range_column6(id INT, name STRING, city STRING, age INT, bin binary,
+        |  bool1 boolean, arr1 array<int>, struct1 struct<id1:string,name1:string>,
+        |  map1 map<string,string>, dec1 decimal(10,5)) STORED AS carbondata
         | TBLPROPERTIES('SORT_SCOPE'='LOCAL_SORT', 'SORT_COLUMNS'='name, city')
       """.stripMargin)
 
     sql("ALTER TABLE carbon_range_column6 SET TBLPROPERTIES('range_column'='city')")
     sql("ALTER TABLE carbon_range_column6 SET TBLPROPERTIES('range_column'='name')")
     sql("ALTER TABLE carbon_range_column6 UNSET TBLPROPERTIES('range_column')")
     sql("ALTER TABLE carbon_range_column6 SET TBLPROPERTIES('range_column'='name')")
+
+    var ex = intercept[RuntimeException] {
+      sql("ALTER TABLE carbon_range_column6 SET TBLPROPERTIES('range_column'='bin')")

Review comment:
       Can move this alter exception validation to method. method could be
   def validateInvalidRangeColumn(invalidRangeColumnsMap: Map[String, String]): Unit = {
         invalidRangeColumnsMap.foreach { value =>
           val ex = intercept[RuntimeException] {
             sql(s"ALTER TABLE carbon_range_column6 SET TBLPROPERTIES('range_column'='${ value._1 }')")
           }
           assertResult("Alter table newProperties operation failed: RANGE_COLUMN doesn't " +
                        s"support ${ value._2 } data type: ${value._1}")(ex.getMessage)
         }
       }
       val invalidRangeColumnsMap = Map("bin" -> "BINARY", "bool1" -> "BOOLEAN", "arr1" -> "ARRAY",
         "struct1" -> "STRUCT", "map1" -> "MAP", "dec1" -> "DECIMAL")
       validateInvalidRangeColumn(invalidRangeColumnsMap)




--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]