You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ra...@apache.org on 2017/09/12 10:23:35 UTC

[1/3] carbondata git commit: [CARBONDATA-1417]Added cluster tests for IUD, batch sort and global sort features

Repository: carbondata
Updated Branches:
  refs/heads/master 33ecca9b7 -> fc39b287a


http://git-wip-us.apache.org/repos/asf/carbondata/blob/fc39b287/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/GlobalSortTestCase.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/GlobalSortTestCase.scala b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/GlobalSortTestCase.scala
new file mode 100644
index 0000000..bd8a5ff
--- /dev/null
+++ b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/GlobalSortTestCase.scala
@@ -0,0 +1,621 @@
+
+/*
+ * 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.common.util._
+import org.scalatest.BeforeAndAfterAll
+
+/**
+  * Test Class for globalsort1TestCase to verify all scenerios
+  */
+
+class GlobalSortTestCase extends QueryTest with BeforeAndAfterAll {
+
+  override def beforeAll {
+    sql(s"""drop table if exists uniqdata11""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-01
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-01", Include) {
+    sql(s"""drop table if exists uniqdata11""".stripMargin).collect
+    sql(
+      s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,
+         |ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp,
+         |BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10),
+         |DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,
+         |INTEGER_COLUMN1 int) STORED BY 'carbondata'""".stripMargin.replaceAll(System
+        .lineSeparator, "")).collect
+
+    sql(
+      s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv'
+         | into table uniqdata11 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"',
+         | 'BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,
+         | DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,
+         | Double_COLUMN2,INTEGER_COLUMN1')""".stripMargin.replaceAll(System.lineSeparator, ""))
+      .collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-02
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-02", Include) {
+    sql(
+      s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string,
+         |DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,
+         |DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double,
+         |Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""".stripMargin
+        .replaceAll(System.lineSeparator, "")).collect
+
+    sql(
+      s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/2000_UniqData.csv' into table
+         | uniqdata11 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#',
+         | 'MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='FORCE',
+         | 'FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,
+         | BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,
+         | INTEGER_COLUMN1')""".stripMargin.replaceAll(System.lineSeparator, "")).collect
+
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-03
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-03", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/folder1/folder2' into table uniqdata11 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-04
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-04", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/folder1' into table uniqdata11 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-05
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-05", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata11 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','maxcolumns'='13','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-06
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-06", Include) {
+    sql(s"""CREATE TABLE uniqdata17 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata17 OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata17""").collect
+    sql(s"""drop table if exists uniqdata17""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-07
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-07", Include) {
+    sql(s"""CREATE TABLE uniqdata19b (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19b OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19b""").collect
+    sql(s"""drop table if exists uniqdata19b""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-08
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-08", Include) {
+    sql(s"""CREATE TABLE uniqdata19c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19c OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='IGNORE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19c""").collect
+    sql(s"""drop table if exists uniqdata19c""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-09
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-09", Include) {
+    sql(s"""CREATE TABLE uniqdata19d (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19d OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19d""").collect
+    sql(s"""drop table if exists uniqdata19d""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-10
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-10", Include) {
+    sql(s"""CREATE TABLE uniqdata19e (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19e OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='FALSE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19e""").collect
+    sql(s"""drop table if exists uniqdata19e""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-11
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-11", Include) {
+    sql(s"""CREATE TABLE uniqdata19f (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19f OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""".stripMargin).collect
+
+    sql(s"""select * from uniqdata19f""").collect
+    sql(s"""drop table if exists uniqdata19f""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-14
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-14", Include) {
+    sql(
+      s"""CREATE TABLE uniqdata20c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata' TBLPROPERTIES('NO_INVERTED_INDEX'='CUST_NAME')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20c OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' ,'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata20c""").collect
+    sql(s"""drop table if exists uniqdata20c""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-15
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-15", Include) {
+    sql(s"""drop table if exists t3""").collect
+    sql(s"""CREATE TABLE t3 (ID Int, country String, name String, phonetype String, serialname String, salary Int,floatField float) STORED BY 'carbondata'""").collect
+    sql(
+    s"""LOAD DATA LOCAL INPATH '$resourcesPath/Data/batchsort/data.csv' into table t3 options('SINGLE_PASS'='TRUE','SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','COLUMNDICT'='country:$resourcesPath/Data/columndict/country.csv')""".stripMargin).collect
+
+    sql(s"""select * from t3""").collect
+    sql(s"""drop table if exists t3""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-16
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-16", Include) {
+    sql(s"""drop table if exists t3""").collect
+    sql(s"""CREATE TABLE t3 (ID Int, country String, name String, phonetype String, serialname String, salary Int,floatField float) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA LOCAL INPATH '$resourcesPath/Data/batchsort/data.csv' into table t3 options('SINGLE_PASS'='TRUE','SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','ALL_DICTIONARY_PATH'='$resourcesPath/Data/columndict/data.dictionary')""").collect
+
+    sql(s"""select * from t3""").collect
+    sql(s"""drop table if exists t3""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-19
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-19", Include) {
+    sql(s"""drop table if exists uniqdata20b""").collect
+    sql(s"""drop table if exists uniqdata20c""").collect
+    sql(s"""CREATE TABLE uniqdata20b (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20b OPTIONS('DELIMITER'=',' , 'SINGLE_PASS'='false','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""CREATE TABLE uniqdata20c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""insert into uniqdata20c select * from uniqdata20b""").collect
+
+    sql(s"""select * from uniqdata20b""").collect
+    sql(s"""drop table if exists uniqdata20b""").collect
+    sql(s"""drop table if exists uniqdata20c""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-20
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-20", Include) {
+    sql(s"""drop table if exists uniqdata_h""").collect
+    sql(s"""drop table if exists uniqdata_c""").collect
+    sql(s"""CREATE TABLE uniqdata_h (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','""").collect
+    sql(s"""load data local inpath '$resourcesPath/Data/uniqdata/2000_UniqData.csv' into table uniqdata_h""").collect
+    sql(s"""CREATE TABLE uniqdata_c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""insert into uniqdata_c select * from uniqdata_h""").collect
+
+    sql(s"""select * from uniqdata_c""").collect
+    sql(s"""drop table if exists uniqdata_h""").collect
+    sql(s"""drop table if exists uniqdata_c""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-21
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-21", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata11 OPTIONS('SORT_SCOPE'='BATCH_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+  }
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-22
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-22", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata11 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-23
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-23", Include) {
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/2000_UniqData.csv' into table uniqdata11 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-24
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-24", Include) {
+    sql(s"""drop table if exists uniqdata11""").collect
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/folder1/folder2' into table uniqdata11 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-25
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-25", Include) {
+    sql(s"""drop table if exists uniqdata11""").collect
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/folder1' into table uniqdata11 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-26
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-26", Include) {
+    sql(s"""drop table if exists uniqdata11""").collect
+    sql(s"""CREATE TABLE uniqdata11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata11 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','maxcolumns'='13','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata11""").collect
+    sql(s"""drop table if exists uniqdata11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-27
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-27", Include) {
+    sql(s"""drop table if exists uniqdata17""").collect
+    sql(s"""CREATE TABLE uniqdata17 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata17 OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata17""").collect
+    sql(s"""drop table if exists uniqdata17""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-28
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-28", Include) {
+    sql(s"""drop table if exists uniqdata19b""").collect
+    sql(s"""CREATE TABLE uniqdata19b (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19b OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19b""").collect
+    sql(s"""drop table if exists uniqdata19b""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-29
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-29", Include) {
+    sql(s"""drop table if exists uniqdata19c""").collect
+    sql(s"""CREATE TABLE uniqdata19c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19c OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='IGNORE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19c""").collect
+    sql(s"""drop table if exists uniqdata19c""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-30
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-30", Include) {
+    sql(s"""drop table if exists uniqdata19d""").collect
+    sql(s"""CREATE TABLE uniqdata19d (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19d OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19d""").collect
+    sql(s"""drop table if exists uniqdata19d""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-31
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-31", Include) {
+    sql(s"""drop table if exists uniqdata19e""").collect
+    sql(s"""CREATE TABLE uniqdata19e (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19e OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='FALSE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19e""").collect
+    sql(s"""drop table if exists uniqdata19e""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-32
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-32", Include) {
+    sql(s"""drop table if exists uniqdata19f""").collect
+    sql(s"""CREATE TABLE uniqdata19f (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata19f OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata19f""").collect
+    sql(s"""drop table if exists uniqdata19f""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-36
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-36", Include) {
+    sql(s"""drop TABLE if exists uniqdata_c""").collect
+    sql(s"""CREATE TABLE uniqdata_c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata_c OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'SINGLE_PASS'='false','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""delete from uniqdata_c where CUST_NAME='CUST_NAME_20000'""").collect
+
+    sql(s"""select * from uniqdata_c""").collect
+    sql(s"""drop TABLE if exists uniqdata_c""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-38
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-38", Include) {
+    sql(s"""CREATE TABLE uniqdata (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'org.apache.carbondata.format'""").collect
+
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/2000_UniqData.csv' into table uniqdata OPTIONS('SORT_SCOPE'='GLOBAL_SORT', 'GLOBAL_SORT_PARTITIONS'='2','DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata""").collect
+    sql(s"""drop TABLE if exists uniqdata""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-39
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-39", Include) {
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select count(*) from uniqdataquery1 where cust_name="CUST_NAME_00000" group by cust_name""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-40
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-40", Include) {
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select count(*) from uniqdataquery1 where cust_name IN(1,2,3) group by cust_name""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-41
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-41", Include) {
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdataquery1 where cust_id between 9002 and 9030""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-42
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-42", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    intercept[Exception] {
+      sql(s"""select * from uniqdataquery1 where Is NulL""").collect
+    }
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-43
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-43", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdataquery1 where cust_id IS NOT NULL""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-44
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-44", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from (select cust_id from uniqdataquery1 where cust_id IN (10987,10988)) uniqdataquery1 where cust_id IN (10987, 10988)""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-45
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-45", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdataquery11 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select uniqdataquery1.CUST_ID from uniqdataquery1 join uniqdataquery11 where uniqdataquery1.CUST_ID > 10700 and uniqdataquery11.CUST_ID > 10500""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-46
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-46", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdataquery11 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select uniqdataquery1.CUST_ID from uniqdataquery1 LEFT join uniqdataquery11 where uniqdataquery1.CUST_ID > 10000""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-47
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-47", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdataquery11 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select uniqdataquery1.CUST_ID from uniqdataquery1 FULL JOIN uniqdataquery11 where uniqdataquery1.CUST_ID=uniqdataquery11.CUST_ID""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-48
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-48", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+    sql(s"""CREATE TABLE uniqdataquery11 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdataquery11 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select broadcast.cust_id from uniqdataquery1 broadcast join uniqdataquery11 where broadcast.cust_id > 10900""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""drop table if exists uniqdataquery11""").collect
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-49
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-49", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdataquery1 where cust_id > 10544 sort by cust_id asc""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-50
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-50", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdataquery1 where cust_id > 10544 sort by cust_name desc""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-51
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-51", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdataquery1 where cust_id > 10544 sort by cust_name desc, cust_id asc""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-52
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-52", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select cust_id,avg(cust_id) from uniqdataquery1 where cust_id IN (select cust_id from uniqdataquery1) group by cust_id""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+
+  //Carbon-Loading-Optimizations-Global-Sort-01-01-54
+  test("Carbon-Loading-Optimizations-Global-Sort-01-01-54", Include) {
+    sql(s"""drop table if exists uniqdataquery1""").collect
+    sql(s"""CREATE TABLE uniqdataquery1 (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata' tblproperties('sort_columns'='')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdataquery1 OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select cust_id,avg(cust_id) from uniqdataquery1 where cust_id IN (select cust_id from uniqdataquery1) group by cust_id""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+
+  }
+
+  override def afterAll: Unit = {
+    sql(s"""drop table if exists uniqdata11""").collect
+    sql(s"""drop table if exists uniqdataquery1""").collect
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/carbondata/blob/fc39b287/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/suite/SDVSuites.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/suite/SDVSuites.scala b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/suite/SDVSuites.scala
index 6bf71d0..9450efb 100644
--- a/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/suite/SDVSuites.scala
+++ b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/suite/SDVSuites.scala
@@ -76,7 +76,10 @@ class SDVSuites1 extends Suites with BeforeAndAfterAll {
                                  new DataLoadingTestCase ::
                                  new OffheapSort2TestCase ::
                                  new PartitionTestCase ::
-    new QueriesBasicTestCase :: Nil
+                                 new QueriesBasicTestCase ::
+                                 new GlobalSortTestCase ::
+                                 new DataLoadingIUDTestCase ::
+                                 new BatchSortLoad3TestCase :: Nil
 
   override val nestedSuites = suites.toIndexedSeq
 


[3/3] carbondata git commit: [CARBONDATA-1417]Added cluster tests for IUD, batch sort and global sort features

Posted by ra...@apache.org.
[CARBONDATA-1417]Added cluster tests for IUD, batch sort and global sort features

This closes #1293


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/fc39b287
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/fc39b287
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/fc39b287

Branch: refs/heads/master
Commit: fc39b287a17a8b755f3a52b2b233d5cd6c7cdfcb
Parents: 33ecca9
Author: Raghunandan S <ca...@gmail.com>
Authored: Mon Aug 28 21:57:20 2017 +0530
Committer: Ravindra Pesala <ra...@gmail.com>
Committed: Tue Sep 12 15:53:13 2017 +0530

----------------------------------------------------------------------
 .../src/test/resources/testdatafileslist.txt    |    3 +
 .../sdv/generated/BatchSortLoad3TestCase.scala  |  209 +
 .../sdv/generated/DataLoadingIUDTestCase.scala  | 3773 ++++++++++++++++++
 .../sdv/generated/GlobalSortTestCase.scala      |  621 +++
 .../cluster/sdv/suite/SDVSuites.scala           |    5 +-
 5 files changed, 4610 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/fc39b287/integration/spark-common-cluster-test/src/test/resources/testdatafileslist.txt
----------------------------------------------------------------------
diff --git a/integration/spark-common-cluster-test/src/test/resources/testdatafileslist.txt b/integration/spark-common-cluster-test/src/test/resources/testdatafileslist.txt
index 924756e..08ff519 100644
--- a/integration/spark-common-cluster-test/src/test/resources/testdatafileslist.txt
+++ b/integration/spark-common-cluster-test/src/test/resources/testdatafileslist.txt
@@ -98,6 +98,9 @@ Data/InsertData/WithHeaders.csv
 Data/InsertData/WithoutHeader.csv
 Data/uniqdata/1lac_UniqData.csv
 Data/batchsort/data.csv
+Data/batchsort/1000_UniqData.csv
+Data/batchsort/folder1/7000_UniqData.csv
+Data/batchsort/folder1/folder2/1lac_UniqData.csv
 Data/3Lakh.csv
 Data/1lakh.csv
 Data/noinverted.csv

http://git-wip-us.apache.org/repos/asf/carbondata/blob/fc39b287/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/BatchSortLoad3TestCase.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/BatchSortLoad3TestCase.scala b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/BatchSortLoad3TestCase.scala
new file mode 100644
index 0000000..61e5bb7
--- /dev/null
+++ b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/BatchSortLoad3TestCase.scala
@@ -0,0 +1,209 @@
+
+/*
+ * 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.common.util._
+import org.scalatest.BeforeAndAfterAll
+
+/**
+ * Test Class for BatchSortLoad3TestCase to verify all scenerios
+ */
+
+class BatchSortLoad3TestCase extends QueryTest with BeforeAndAfterAll {
+
+  override def beforeAll(): Unit = {
+    sql(s"""drop table if exists uniqdata20c""").collect
+    sql(s"""drop table if exists uniqdata19c""").collect
+  }
+//Batch_sort_Loading_001-01-01-01_001-TC_020
+  test("Batch_sort_Loading_001-01-01-01_001-TC_020", Include) {
+    sql(
+      s"""CREATE TABLE uniqdata20c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string,
+         |DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,
+         |DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double,
+         |Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'
+         | TBLPROPERTIES('NO_INVERTED_INDEX'='CUST_NAME')""".stripMargin.replaceAll(System
+        .lineSeparator, "")).collect
+    sql(
+      s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into
+         | table uniqdata20c OPTIONS('DELIMITER'=',' ,'QUOTECHAR'='"','COMMENTCHAR'='#',
+         | 'MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT',
+         | 'BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,
+         | DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,
+         | Double_COLUMN2,INTEGER_COLUMN1')""".stripMargin.replaceAll(System
+        .lineSeparator, "")).collect
+
+    sql(s"""select * from uniqdata20c""").collect
+    sql(s"""drop table  if exists uniqdata20c""").collect
+
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_046
+  test("Batch_sort_Loading_001-01-01-01_001-TC_046", Include) {
+    sql(
+      s"""CREATE TABLE uniqdata19c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string,
+        DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,
+        DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double,
+        Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""".stripMargin
+        .replaceAll(System.lineSeparator, "")).collect
+
+    sql(
+      s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table
+         | uniqdata19c OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','COMMENTCHAR'='#',
+         | 'MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='IGNORE',
+         | 'FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,
+         | BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,
+         | Double_COLUMN2,INTEGER_COLUMN1')""".stripMargin.replaceAll(System.lineSeparator, "")).collect
+
+    sql(s"""select * from uniqdata19c""").collect
+    sql(s"""drop table if exists uniqdata19c""").collect
+
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_053
+  test("Batch_sort_Loading_001-01-01-01_001-TC_053", Include) {
+    sql(
+      s"""drop table if exists t3""").collect
+    sql(
+      s"""CREATE TABLE t3 (ID Int, country String, name String, phonetype String,
+         |serialname String,salary Int,floatField float)
+         | STORED BY 'carbondata'""".stripMargin.replaceAll(System.lineSeparator, "")).collect
+
+    sql(
+      s"""LOAD DATA LOCAL INPATH '$resourcesPath/Data/batchsort/data.csv' into table t3 options(
+         |'COLUMNDICT'='country:$resourcesPath/Data/columndict/country.csv','single_pass'='true')"""
+        .stripMargin.replaceAll(System.lineSeparator, "")).collect
+
+    sql(s"""drop table if exists t3""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_054
+  test("Batch_sort_Loading_001-01-01-01_001-TC_054", Include) {
+    sql(s"""drop table if exists t3""").collect
+    sql(
+      s"""CREATE TABLE t3 (ID Int, country String, name String, phonetype String,
+         |serialname String, salary Int,floatField float)
+         | STORED BY 'carbondata'""".stripMargin.replaceAll(System.lineSeparator, "")).collect
+
+    sql(
+      s"""LOAD DATA LOCAL INPATH '$resourcesPath/Data/batchsort/data.csv'
+         | into table t3 options('ALL_DICTIONARY_PATH'=
+         | '$resourcesPath/Data/columndict/data.dictionary','single_pass'='true')""".stripMargin
+        .replaceAll(System.lineSeparator, "")).collect
+    sql(s"""drop table if exists t3""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_056
+  test("Batch_sort_Loading_001-01-01-01_001-TC_056", Include) {
+    sql(s"""drop table if exists uniqdata20a""").collect
+    sql(s"""CREATE TABLE uniqdata20a (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='LOCAL_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='NO_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='NO_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='LOCAL_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+
+    sql(s"""select * from uniqdata20a""").collect
+    sql(s"""drop table if exists  uniqdata20a""").collect
+
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_057
+  test("Batch_sort_Loading_001-01-01-01_001-TC_057", Include) {
+    sql(s"""drop table if exists uniqdata20a""").collect
+    sql(s"""CREATE TABLE uniqdata20a (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/batchsort/1000_UniqData.csv' into table  uniqdata20a OPTIONS('DELIMITER'=',' ,'SORT_SCOPE'='BATCH_SORT','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""".stripMargin).collect
+
+    sql(s"""alter table uniqdata20a compact 'minor'""").collect
+    sql(s"""drop table if exists  uniqdata20a""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_058
+  test("Batch_sort_Loading_001-01-01-01_001-TC_058", Include) {
+    sql(s"""drop table if exists uniqdata20a""").collect
+    sql(s"""CREATE TABLE uniqdata20a (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+    intercept[Exception] {
+      sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='ABCXYZ',‘SINGLE_PASS’=’true’,'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+      sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a_hive """).collect
+    }
+    sql(s"""drop table if exists uniqdata20a""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_059
+  test("Batch_sort_Loading_001-01-01-01_001-TC_059", Include) {
+    sql(s"""drop table if exists uniqdata20a""").collect
+    intercept[Exception] {
+      sql(s"""CREATE TABLE uniqdata20a (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+
+      sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a OPTIONS('DELIMITER'=',' , 'SORT_SCOPE'='null',‘SINGLE_PASS’=’true’,'QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+      sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20a_hive """).collect
+    }
+    sql(s"""drop table if exists  uniqdata20a""").collect
+  }
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_060
+  test("Batch_sort_Loading_001-01-01-01_001-TC_060", Include) {
+    sql(s"""drop table if exists uniqdata20b""").collect
+    sql(s"""drop table if exists uniqdata20c""").collect
+    sql(s"""CREATE TABLE uniqdata20b (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata20b OPTIONS('DELIMITER'=',','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+    sql(s"""CREATE TABLE uniqdata20c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""insert into uniqdata20c select * from uniqdata20b""")
+    sql(s"""drop table if exists  uniqdata20b""").collect
+    sql(s"""drop table if exists  uniqdata20c""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_061
+  test("Batch_sort_Loading_001-01-01-01_001-TC_061", Include) {
+    sql(s"""drop TABLE if exists uniqdata_h""").collect
+    sql(s"""drop TABLE if exists uniqdata_c""").collect
+    sql(s"""CREATE TABLE uniqdata_h (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','""").collect
+    sql(s"""load data inpath '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata_h""").collect
+    sql(s"""CREATE TABLE uniqdata_c (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'carbondata'""").collect
+    sql(s"""insert into uniqdata_c select * from uniqdata_h""")
+    sql(s"""drop table if exists  uniqdata_h""").collect
+    sql(s"""drop table if exists  uniqdata_c""").collect
+  }
+
+
+  //Batch_sort_Loading_001-01-01-01_001-TC_064
+//  test("Batch_sort_Loading_001-01-01-01_001-TC_064", Include) {
+//    sql(s"""drop table if exists uniqdata""").collect
+//    sql(s"""CREATE TABLE uniqdata (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) PARTITIONED BY (DOJ timestamp)STORED BY 'org.apache.carbondata.format' TBLPROPERTIES('PARTITION_TYPE'='RANGE', 'RANGE_INFO'='20160302,20150302')""").collect
+//    sql(s"""LOAD DATA INPATH '$resourcesPath/Data/uniqdata/7000_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',','QUOTECHAR'='"','COMMENTCHAR'='#','MULTILINE'='true','ESCAPECHAR'='\','BAD_RECORDS_ACTION'='REDIRECT','BAD_RECORDS_LOGGER_ENABLE'='TRUE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')""").collect
+//    sql(s"""drop table if exists uniqdata""").collect
+//  }
+
+  override def afterAll {
+  }
+}
\ No newline at end of file


[2/3] carbondata git commit: [CARBONDATA-1417]Added cluster tests for IUD, batch sort and global sort features

Posted by ra...@apache.org.
http://git-wip-us.apache.org/repos/asf/carbondata/blob/fc39b287/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/DataLoadingIUDTestCase.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/DataLoadingIUDTestCase.scala b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/DataLoadingIUDTestCase.scala
new file mode 100644
index 0000000..d6fa3ca
--- /dev/null
+++ b/integration/spark-common-cluster-test/src/test/scala/org/apache/carbondata/cluster/sdv/generated/DataLoadingIUDTestCase.scala
@@ -0,0 +1,3773 @@
+
+/*
+ * 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 java.sql.Timestamp
+
+import org.apache.spark.sql.Row
+import org.apache.spark.sql.common.util._
+import org.scalatest.{BeforeAndAfter, BeforeAndAfterAll, BeforeAndAfterEach}
+
+/**
+ * Test Class for DataLoadingIUDTestCase to verify all scenerios
+ */
+
+class DataLoadingIUDTestCase extends QueryTest with BeforeAndAfterAll with BeforeAndAfter with BeforeAndAfterEach {
+
+  override def beforeAll {
+    sql("use default").collect
+    sql("drop table if exists t_carbn02").collect
+    sql("drop table if exists t_carbn01").collect
+    sql("drop table if exists T_Parq1").collect
+    sql("drop table if exists table_C21").collect
+    sql("drop table if exists t_hive01").collect
+    sql("drop table if exists t_carbn2").collect
+    sql("drop table if exists t_carbn1").collect
+    sql("drop table if exists t1").collect
+    sql("drop table if exists t2").collect
+    sql("drop table if exists t_carbn21").collect
+    sql("drop table if exists t_carbn22").collect
+    sql("drop table if exists t_carbn23").collect
+    sql("drop table if exists t_carbn24").collect
+    sql("drop table if exists t_carbn25").collect
+    sql("drop table if exists t_carbn26").collect
+    sql("drop table if exists t_carbn27").collect
+    sql("drop table if exists t_carbn28").collect
+    sql("drop table if exists t_carbn20").collect
+    sql("drop table if exists t_carbn30").collect
+    sql("drop table if exists t_carbn31").collect
+    sql("drop table if exists uniqdata0001_Test").collect
+    sql("drop table if exists uniqdata").collect
+    sql("drop table if exists uniqdata1").collect
+    sql("drop table if exists uniqdata2").collect
+    sql("drop table if exists uniqdata023456").collect
+    sql("drop table if exists t_carbn01b").collect
+    sql("drop table if exists T_Hive1").collect
+    sql("drop table if exists T_Hive6").collect
+  }
+
+  override def before(fun: => Any) {
+    sql(s"""drop table if exists t_carbn01""").collect
+    sql(s"""drop table if exists default.t_carbn01""").collect
+  }
+
+  override def beforeEach(): Unit = {
+    sql(s"""drop table if exists t_carbn01""").collect
+    sql(s"""drop table if exists default.t_carbn01""").collect
+  }
+
+
+//NA
+test("IUD-01-01-01_001-001", Include) {
+   sql(s"""create table default.t_carbn01b(Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""LOAD DATA INPATH '$resourcesPath/Data/InsertData/T_Hive1.csv' INTO table default.t_carbn01B options ('DELIMITER'=',', 'QUOTECHAR'='\', 'FILEHEADER'='Active_status,Item_type_cd,Qty_day_avg,Qty_total,Sell_price,Sell_pricep,Discount_price,Profit,Item_code,Item_name,Outlet_name,Update_time,Create_date')""").collect
+  sql("create table T_Hive1(Active_status BOOLEAN, Item_type_cd TINYINT, Qty_day_avg SMALLINT, Qty_total INT, Sell_price BIGINT, Sell_pricep FLOAT, Discount_price DOUBLE , Profit DECIMAL(3,2), Item_code STRING, Item_name VARCHAR(50), Outlet_name CHAR(100), Update_time TIMESTAMP, Create_date DATE) row format delimited fields terminated by ',' collection items terminated by '$'")
+ sql(s"""LOAD DATA INPATH '$resourcesPath/Data/InsertData/T_Hive1.csv' overwrite into table T_Hive1""").collect
+ sql("create table T_Hive6(Item_code STRING, Sub_item_cd ARRAY<string>)row format delimited fields terminated by ',' collection items terminated by '$'")
+ sql(s"""load data inpath '$resourcesPath/Data/InsertData/T_Hive1.csv' overwrite into table T_Hive6""").collect
+ sql(s"""create table t_carbn02(Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into t_carbn02 select * from default.t_carbn01b limit 4""").collect
+  checkAnswer(s"""select count(*) from t_carbn01b""",
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-001")
+
+}
+       
+
+//Check for update Carbon table using a data value
+test("IUD-01-01-01_001-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status, profit) = ('YES',1) where active_status = 'TRUE'""").collect
+  checkAnswer(s"""select active_status,profit from default.t_carbn01  where active_status='YES' group by active_status,profit""",
+    Seq(Row("YES",1.00)), "DataLoadingIUDTestCase_IUD-01-01-01_001-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column where it was udpated before
+test("IUD-01-01-01_001-02", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = ('YES') where active_status = 'TRUE'""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = ('NO') where active_status = 'YES'""").collect
+  checkAnswer(s"""select active_status,profit from default.t_carbn01  where active_status='NO' group by active_status,profit""",
+    Seq(Row("NO",2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_001-02")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column without giving values in semi quote
+test("IUD-01-01-01_001-03", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01""").collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = (NO) """).collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using numeric value
+test("IUD-01-01-01_001-04", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = (234530508098098098080)""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("234530508098098098080")), "DataLoadingIUDTestCase_IUD -01-01-01_001-04")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using numeric value in single quote
+test("IUD-01-01-01_001-05", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = ('234530508098098098080')""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("234530508098098098080")), "DataLoadingIUDTestCase_IUD -01-01-01_001-05")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using decimal value
+test("IUD-01-01-01_001-06", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = (2.55860986095689088)""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("2.55860986095689088")), "DataLoadingIUDTestCase_IUD-01 -01-01_001-06")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using decimal value
+test("IUD-01-01-01_001-07", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = ('2.55860986095689088')""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("2.55860986095689088")), "DataLoadingIUDTestCase_IUD-01 -01-01_001-07")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using string value which is having special characters
+test("IUD-01-01-01_001-11", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status) = ('fdfdskflksdf#?…..fdffs')""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("fdfdskflksdf#?…..fdffs")), "DataLoadingIUDTestCase_IUD-01-01-01_001-11")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using a data value on a string column using array value having ')'
+//test("IUD-01-01-01_001-12", Include) {
+//   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+// sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+// sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+// sql(s"""update default.t_carbn01  set (active_status) = ('abd$asjdh$adasj$l;sdf$*)$*)(&^)')""").collect
+//  checkAnswer(s"""select count(*) from t_carbn01b""",
+//    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-12")
+//   sql(s"""drop table default.t_carbn01  """).collect
+//}
+       
+
+//Check for update Carbon table for a column where column  name is mentioned incorrectly
+test("IUD-01-01-01_001-14", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_status_cd)  = ('10')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric value column
+test("IUD-01-01-01_001-15", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = (10)""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  group by item_type_cd""",
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-15")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric value column in single quote
+test("IUD-01-01-01_001-16", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = ('10')""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  group by item_type_cd""",
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-16")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric value column using string value
+test("IUD-01-01-01_001-17", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = ('Orange')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric value column using decimal value
+test("IUD-01-01-01_001-18", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = ('10.11')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric Int value column using large numeric value
+test("IUD-01-01-01_001-19", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = (2147483647)""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  group by item_type_cd""",
+    Seq(Row(2147483647)), "DataLoadingIUDTestCase_IUD-01-01-01_001-19")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric Int value column using large numeric negative value
+test("IUD-01-01-01_001-20", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = (-2147483648)""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  group by item_type_cd""",
+    Seq(Row(-2147483648)), "DataLoadingIUDTestCase_IUD-01-01-01_001-20")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric Int value column using large numeric value which is beyond 32 bit
+test("IUD-01-01-01_001-21", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd)  = (-2147483649)""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a numeric BigInt value column using large numeric value which is at the boundary of 64 bit
+test("IUD-01-01-01_001-22", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (sell_price)  = (9223372036854775807)""").collect
+  checkAnswer(s"""select sell_price from default.t_carbn01  group by sell_price""",
+    Seq(Row(9223372036854775807L)), "DataLoadingIUDTestCase_IUD-01-01-01_001-22")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value column using decimal value
+test("IUD-01-01-01_001-23", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit) = (1.11)""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(1.11)), "DataLoadingIUDTestCase_IUD-01-01-01_001-23")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value column using decimal value in quote
+test("IUD-01-01-01_001-24", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = ('1.11')""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(1.11)), "DataLoadingIUDTestCase_IUD-01-01-01_001-24")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value column using numeric value
+test("IUD-01-01-01_001-25", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = (1)""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(1.00)), "DataLoadingIUDTestCase_IUD-01-01-01_001-25")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value column (3,2) using numeric value which is greater than the allowed
+test("IUD-01-01-01_001-26", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = (10)""").collect
+  checkAnswer(s"""select count(Active_status) from default.t_carbn01 where profit = 10 """,
+    Seq(Row(0)), "DataLoadingIUDTestCase_IUD-01-01-01_001-26")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value column using String value
+test("IUD-01-01-01_001-27", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = ('hakshk')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value(3,2) column using a decimal value which is having 1 decimal
+test("IUD-01-01-01_001-28", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = ('1.1')""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(1.10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-28")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a decimal value(3,2) column using a decimal value which is having 3 decimal
+test("IUD-01-01-01_001-29", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (profit)  = ('1.118')""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(1.12)), "DataLoadingIUDTestCase_IUD-01-01-01_001-29")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a double column using a decimal value which is having 3 decimal
+test("IUD-01-01-01_001-30", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (sell_pricep)  = ('10.1116756')""").collect
+  checkAnswer(s"""select sell_pricep from default.t_carbn01  group by sell_pricep""",
+    Seq(Row(10.1116756)), "DataLoadingIUDTestCase_IUD-01-01-01_001-30")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using date timestamp
+test("IUD-01-01-01_001-31", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('2016-11-04 18:13:59.113')""").collect
+  checkAnswer(s"""select update_time from default.t_carbn01  group by update_time""",
+    Seq(Row(Timestamp.valueOf("2016-11-04 18:13:59.0"))), "DataLoadingIUDTestCase_IUD-01-01-01_001-31")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using date timestamp all formats.
+test("IUD-01-01-01_001-35", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('04-11-20004 18:13:59.113')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using string value
+test("IUD-01-01-01_001-32", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('fhjfhjfdshf')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using numeric
+test("IUD-01-01-01_001-33", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = (56546)""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using date 
+test("IUD-01-01-01_001-34", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('2016-11-04')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using date timestamp
+test("IUD-01-01-01_001-36", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('2016-11-04 18:63:59.113')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for a time stamp  value column using date timestamp
+test("IUD-01-01-01_001-37", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(update_time) = ('2016-11-04 18:13:59.113435345345433 ')""").collect
+  checkAnswer(s"""select update_time from default.t_carbn01  group by update_time""",
+    Seq(Row(Timestamp.valueOf("2016-11-04 18:13:59.0"))), "DataLoadingIUDTestCase_IUD-01-01-01_001-37")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a * operation on a column value
+test("IUD-01-01-01_001-40", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(profit, item_type_cd)= (profit*1.2, item_type_cd*3)""").collect
+  checkAnswer(s"""select profit, item_type_cd from default.t_carbn01  group by profit, item_type_cd""",
+    Seq(Row(2.93,342),Row(2.93,369),Row(2.93,3),Row(2.93,6),Row(2.93,9),Row(2.93,12),Row(2.93,33),Row(2.93,39),Row(2.93,42),Row(2.93,123)), "DataLoadingIUDTestCase_IUD-01-01-01_001-40")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a / operation on a column value
+test("IUD-01-01-01_001-41", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(item_type_cd)= (item_type_cd/1)""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a / operation on a column value
+test("IUD-01-01-01_001-42", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(profit)= (profit/1)""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  group by profit""",
+    Seq(Row(2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_001-42")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a - operation on a column value
+test("IUD-01-01-01_001-43", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(profit, item_type_cd)= (profit-1.2, item_type_cd-3)""").collect
+  checkAnswer(s"""select profit, item_type_cd from default.t_carbn01  group by profit, item_type_cd""",
+    Seq(Row(1.24,111),Row(1.24,120),Row(1.24,0),Row(1.24,-1),Row(1.24,-2),Row(1.24,1),Row(1.24,8),Row(1.24,10),Row(1.24,11),Row(1.24,38)), "DataLoadingIUDTestCase_IUD-01-01-01_001-43")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a + operation on a column value
+test("IUD-01-01-01_001-44", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(profit, item_type_cd)= (profit+1.2, item_type_cd+qty_day_avg)""").collect
+  checkAnswer(s"""select profit, item_type_cd from default.t_carbn01  where profit = 3.64 and item_type_cd = 4291""",
+    Seq(Row(3.64,4291)), "DataLoadingIUDTestCase_IUD-01-01-01_001-44")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update Carbon table using a + operation on a column value which is string
+test("IUD-01-01-01_001-45", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set(item_code) = (item_code+1)""").collect
+  checkAnswer(s"""select count(*) from t_carbn01""",
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_001-45")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table without where clause
+test("IUD-01-01-01_002-01", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (active_status) = ('NO')""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01  group by active_status""",
+    Seq(Row("NO")), "DataLoadingIUDTestCase_IUD-01-01-01_002-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table with where clause
+test("IUD-01-01-01_002-02", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (active_status) = ('NO') where active_status = 'TRUE' """).collect
+  checkAnswer(s"""select active_status from default.t_carbn01  where active_status='NO' group by active_status""",
+    Seq(Row("NO")), "DataLoadingIUDTestCase_IUD-01-01-01_002-02")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table with where exists clause
+test("IUD-01-01-01_002-03", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  X set (active_status) = ('NO') where exists (select 1 from default.t_carbn01b Y where Y.item_code = X.item_code)""").collect
+  checkAnswer(s"""select active_status from default.t_carbn01   group by active_status""",
+    Seq(Row("NO")), "DataLoadingIUDTestCase_IUD-01-01-01_002-03")
+   sql(s"""drop table default.t_carbn01""").collect
+}
+       
+
+//Check for delete Carbon table without where clause
+test("IUD-01-01-01_002-04", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Delete from default.t_carbn01 """).collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(0)), "DataLoadingIUDTestCase_IUD-01-01-01_002-04")
+   sql(s"""drop table default.t_carbn01 """).collect
+}
+       
+
+//Check for delete Carbon table with where clause
+test("IUD-01-01-01_002-05", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Delete from default.t_carbn01  where active_status = 'TRUE'""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01  where active_status='TRUE'""",
+    Seq(Row(0)), "DataLoadingIUDTestCase_IUD-01-01-01_002-05")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for delete Carbon table with where exists clause
+test("IUD-01-01-01_002-06", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Delete from default.t_carbn01  X where exists (select 1 from default.t_carbn01b Y where Y.item_code = X.item_code)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(0)), "DataLoadingIUDTestCase_IUD-01-01-01_002-06")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+//Check for update Carbon table using query involving filters
+test("IUD-01-01-01_003-03", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set ( a.item_type_cd, a.profit) = ( select b.item_type_cd, b.profit from default.t_carbn01b b where b.item_type_cd = 2)""").collect
+  checkAnswer(s"""select item_type_cd, profit from default.t_carbn01  limit 1""",
+    Seq(Row(2,2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_003-03")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving sub query
+test("IUD-01-01-01_003-04", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set ( a.item_type_cd, a.Profit) = ( select b.item_type_cd, b.profit from default.t_carbn01b b where a.item_type_cd = b.item_type_cd and b.item_type_cd in (select c.item_type_cd from t_carbn02 c where c.item_type_cd=2))""").collect
+  checkAnswer(s"""select item_type_cd, profit from default.t_carbn01 order by item_type_cd limit 1""",
+    Seq(Row(1,2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_003-04")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving sub query
+test("IUD-01-01-01_003-04_01", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_type_cd, a.Profit) = (select b.item_type_cd, b.profit from default.t_carbn01b b where b.item_type_cd not in (select c.item_type_cd from t_carbn02 c where c.item_type_cd != 2) and a.item_type_cd = b.item_type_cd)""").collect
+  checkAnswer(s"""select item_type_cd, profit from default.t_carbn01 order by item_type_cd limit 1""",
+    Seq(Row(1,2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_003-04_01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving Logical operation
+test("IUD-01-01-01_003-05", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  A set (a.item_type_cd, a.profit) = ( select b.item_type_cd, b.profit from default.t_carbn01b b where b.profit > 1 AND b.item_type_cd <3 and a.item_type_cd = b.item_type_cd)""").collect
+  checkAnswer(s"""select item_type_cd, profit from default.t_carbn01 order by item_type_cd limit 1""",
+    Seq(Row(1,2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_003-05")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving group by
+test("IUD-01-01-01_003-06", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_type_cd, a.profit) = ( select b.item_type_cd, b.profit from default.t_carbn01b b where b.item_type_cd =2)""").collect
+  checkAnswer(s"""select item_type_cd, profit from default.t_carbn01 limit 1""",
+    Seq(Row(2,2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_003-06")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using inner join and filter condition on a table to pick only non duplicate records
+test("IUD-01-01-01_003-07", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update t_carbn01 a set (a.active_status) = (select b.active_status from t_carbn01b b where a.item_type_cd = b.item_type_cd and b.item_code in (select item_code from t_carbn01b group by item_code, profit having count(*)>1))""").collect
+  checkAnswer(s"""select count(active_status) from t_carbn01 where active_status = 'true' limit 1""",
+    Seq(Row(0)), "DataLoadingIUDTestCase_IUD-01-01-01_003-07")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving max
+test("IUD-01-01-01_004-01", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update t_carbn01  a set (a.item_type_cd) = ((select c.code from (select max(b.item_type_cd) as code  from t_carbn01b b) c))""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01 limit 1""",
+    Seq(Row(123)), "DataLoadingIUDTestCase_IUD-01-01-01_004-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table using query involving spark functions
+test("IUD-01-01-01_004-02", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.create_date) = (select to_date(b.create_date) from default.t_carbn01b b where b.update_time = '2012-01-06 06:08:05.0')""").collect
+  checkAnswer(s"""select create_date from default.t_carbn01 limit 1""",
+    Seq(Row("2012-01-20")), "DataLoadingIUDTestCase_IUD-01-01-01_004-02")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for all data types using data values
+test("IUD-01-01-01_004-03", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (active_status,item_type_cd,qty_day_avg,qty_total,sell_price,sell_pricep,discount_price,profit,item_code,item_name,outlet_name,update_time,create_date) = ('true',34,344,456,1,5.5,1.1,1.1,'hheh','gfhfhfdh','fghfdhdfh',current_timestamp,'01-10-1900') where item_code='ASD423ee'""").collect
+  checkAnswer(s"""select create_date from default.t_carbn01  where create_date = '01-10-1900' limit 1""",
+    Seq(Row("01-10-1900")), "DataLoadingIUDTestCase_IUD-01-01-01_004-03")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is havign numeric and target is having string value column for update
+test("IUD-01-01-01_004-04", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_code) = (select b.sell_price from default.t_carbn01b b where b.sell_price=200000000003454300)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-04")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is havign numeric and target is having decimal value column for update
+test("IUD-01-01-01_004-05", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.profit) = (select b.item_type_cd from default.t_carbn01b b where b.item_type_cd = 2 and b.active_status='TRUE' )""").collect
+  checkAnswer(s"""select profit from default.t_carbn01  limit 1""",
+    Seq(Row(2.00)), "DataLoadingIUDTestCase_IUD-01-01-01_004-05")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having big int and target is having int value column for update
+test("IUD-01-01-01_004-06", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_type_cd) = (select b.sell_price from default.t_carbn01b b where b.sell_price=200000343430000000)""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having string and target is having numeric value column for update
+test("IUD-01-01-01_004-07", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_code) = (select b.item_type_cd from default.t_carbn01b b where b.item_code='DE3423ee')""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  order by item_type_cd limit 1""",
+    Seq(Row(1)), "DataLoadingIUDTestCase_IUD-01-01-01_004-07")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having string and target is having decimal value column for update
+test("IUD-01-01-01_004-08", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.profit) = (select b.item_code from default.t_carbn01b b where b.item_code='DE3423ee')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having string and target is having timestamp column for update
+test("IUD-01-01-01_004-09", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.update_time) = (select b.item_code from default.t_carbn01b b where b.item_code='DE3423ee')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having decimal and target is having numeric column for update
+test("IUD-01-01-01_004-10", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_type_cd) = (select b.profit from default.t_carbn01b b where b.profit=2.445)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-10")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having float and target is having numeric column for update
+test("IUD-01-01-01_004-11", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.item_type_cd) = (select b.sell_pricep from default.t_carbn01b b where b.sell_pricep=11.5)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-11")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having float and target is having double column for update
+test("IUD-01-01-01_004-12", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.discount_price) = (select b.sell_pricep from default.t_carbn01b b where b.sell_pricep=11.5)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-12")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where source table is having Decimal(4,3)   and target is having Decimal(3,2) column for update
+test("IUD-01-01-01_004-13", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.profit) = (select b.profit*.2 from default.t_carbn01b b where b.profit=2.444)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01 """,
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-13")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table for all data types using query on a different table
+test("IUD-01-01-01_004-14", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.Active_status,a.Item_type_cd,a.Qty_day_avg,a.Qty_total,a.Sell_price,a.Sell_pricep,a.Discount_price,a.Profit,a.Item_code,a.Item_name,a.Outlet_name,a.Update_time,a.Create_date) = (select b.Active_status,b.Item_type_cd,b.Qty_day_avg,b.Qty_total,b.Sell_price,b.Sell_pricep,b.Discount_price,b.Profit,b.Item_code,b.Item_name,b.Outlet_name,b.Update_time,b.Create_date from default.t_carbn01b b where b.Item_type_cd=2)""").collect
+  checkAnswer(s"""select count(*) from default.t_carbn01""",
+    Seq(Row(10)), "DataLoadingIUDTestCase_IUD-01-01-01_004-14")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where a update column is having a shared dictionary. Check dictionary file being updated.
+test("IUD-01-01-01_005-11", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format' TBLPROPERTIES("COLUMNPROPERTIES.Item_code.shared_column"="sharedFolder.Item_code")""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (item_code) = ('Ram')""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Ram")), "DataLoadingIUDTestCase_IUD-01-01-01_005-11")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where a update column is measue and is defined with include ddictionary. Check dictionary file being updated.
+test("IUD-01-01-01_005-12", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Item_type_cd INT, Profit DECIMAL(3,2))STORED BY 'org.apache.carbondata.format' TBLPROPERTIES('DICTIONARY_INCLUDE'='Item_type_cd')""").collect
+ sql(s"""insert into default.t_carbn01  select item_type_cd, profit from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd) = (100100)""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01  group by item_type_cd""",
+    Seq(Row(100100)), "DataLoadingIUDTestCase_IUD-01-01-01_005-12")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where a update column is dimension and is defined with exclude dictionary. 
+test("IUD-01-01-01_005-13", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Item_type_cd INT, Profit DECIMAL(3,2))STORED BY 'org.apache.carbondata.format' TBLPROPERTIES('DICTIONARY_INCLUDE'='Item_type_cd')""").collect
+ sql(s"""insert into default.t_carbn01  select item_type_cd, profit from default.t_carbn01b""").collect
+
+  try {
+    sql(s"""update default.t_carbn01  set (item_type_cd) = ('ASASDDD')""").collect
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where a update column is dimension and is defined with exclude dictionary. 
+test("IUD-01-01-01_005-14", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format' TBLPROPERTIES('DICTIONARY_EXCLUDE'='Item_code')""").collect
+ sql(s""" insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (Item_code) = ('Ram')""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Ram")), "DataLoadingIUDTestCase_IUD-01-01-01_005-14")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for update Carbon table where a update column is dimension and is defined with exclude dictionary. 
+test("IUD-01-01-01_005-15", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format' TBLPROPERTIES('DICTIONARY_EXCLUDE'='Item_code')""").collect
+ sql(s""" insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (Item_code) = ('123')""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("123")), "DataLoadingIUDTestCase_IUD-01-01-01_005-15")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update on data in multiple blocks
+test("IUD-01-01-01_006-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_code) = ('Ram' ) where Item_code = 'RE3423ee'""").collect
+  sql(s"""select Item_code from default.t_carbn01  where Item_code = 'RE3423ee' group by item_code""").collect
+  
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update on data in multiple blocks
+test("IUD-01-01-01_007-01", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set (item_type_cd) = ('120') where Item_type_cd = '114'""").collect
+  checkAnswer(s"""select item_type_cd from default.t_carbn01   where item_type_cd = 120 group by item_type_cd""",
+    Seq(Row(120)), "DataLoadingIUDTestCase_IUD-01-01-01_007-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//check update using parquet table
+test("IUD-01-01-02_022-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""drop table if exists T_Parq1""").collect
+ sql(s"""create table T_Parq1(Active_status BOOLEAN, Item_type_cd TINYINT, Qty_day_avg SMALLINT, Qty_total INT, Sell_price BIGINT, Sell_pricep FLOAT, Discount_price DOUBLE , Profit DECIMAL(3,2), Item_code STRING, Item_name VARCHAR(500), Outlet_name CHAR(100), Update_time TIMESTAMP, Create_date DATE)stored as parquet""").collect
+ sql(s"""insert into T_Parq1 select * from t_hive1""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.Active_status,a.Item_type_cd,a.Qty_day_avg,a.Qty_total,a.Sell_price,a.Sell_pricep,a.Discount_price,a.Profit,a.Item_code,a.Item_name,a.Outlet_name,a.Update_time,a.Create_date) = (select b.Active_status,b.Item_type_cd,b.Qty_day_avg,b.Qty_total,b.Sell_price,b.Sell_pricep,b.Discount_price,b.Profit,b.Item_code,b.Item_name,b.Outlet_name,b.Update_time,b.Create_date from T_Parq1 b where a.item_type_cd = b.item_type_cd)""").collect
+  checkAnswer(s"""select profit from default.t_carbn01   group by profit""",
+    Seq(Row(2.44)), "DataLoadingIUDTestCase_IUD-01-01-02_022-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update on carbon table using query on Parquet table
+test("IUD-01-01-01_009-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""drop table if exists T_Parq1""").collect
+ sql(s"""create table T_Parq1(Active_status BOOLEAN, Item_type_cd TINYINT, Qty_day_avg SMALLINT, Qty_total INT, Sell_price BIGINT, Sell_pricep FLOAT, Discount_price DOUBLE , Profit DECIMAL(3,2), Item_code STRING, Item_name VARCHAR(500), Outlet_name CHAR(100), Update_time TIMESTAMP, Create_date DATE)stored as parquet""").collect
+ sql(s"""insert into T_Parq1 select * from t_hive1""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  a set (a.Active_status,a.Item_type_cd,a.Qty_day_avg,a.Qty_total,a.Sell_price,a.Sell_pricep,a.Discount_price,a.Profit,a.Item_code,a.Item_name,a.Outlet_name,a.Update_time,a.Create_date) = (select b.Active_status,b.Item_type_cd,b.Qty_day_avg,b.Qty_total,b.Sell_price,b.Sell_pricep,b.Discount_price,b.Profit,b.Item_code,b.Item_name,b.Outlet_name,b.Update_time,b.Create_date from T_Parq1 b where a.item_type_cd = b.item_type_cd)""").collect
+  checkAnswer(s"""select profit from default.t_carbn01   group by profit""",
+    Seq(Row(2.44)), "DataLoadingIUDTestCase_IUD-01-01-01_009-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update on carbon table using incorrect data value
+test("IUD-01-01-01_010-01", Include) {
+  try {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""update default.t_carbn01  set Update_time = '11-11-2012 77:77:77') where item_code='ASD423ee')""").collect
+    sql(s"""NA""").collect
+    
+    assert(false)
+  } catch {
+    case _ => assert(true)
+  }
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check multiple updates on the same column - for correctness of data and horizontal compaction of delta file
+test("IUD-01-01-02_001-02", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram')""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (item_code) = ('Orange') where item_code = 'Ram'""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Orange")), "DataLoadingIUDTestCase_IUD-01-01-02_001-02")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for compaction of delta files within a segment working fine as per the configuration
+test("IUD-01-01-02_003-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram')""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (item_code) = ('Orange') where item_code = 'Ram'""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Orange")), "DataLoadingIUDTestCase_IUD-01-01-02_003-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check multiple updates on the same column - for correctness of data along with horizontal compaction of delta file
+test("IUD-01-01-02_002-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram')""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""Update default.t_carbn01  set (item_code) = ('Orange') where item_code = 'Ram'""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Orange")), "DataLoadingIUDTestCase_IUD-01-01-02_002-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check multiple updates on the different column - for correctness of data and horizontal compaction of delta file
+test("IUD-01-01-01_012-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (24523)""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Banana')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (1111)""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (24523)""").collect
+ sql(s"""Update default.t_carbn01 set (Item_code) = ('Banana')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (1111)""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (24523)""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Banana')""").collect
+ sql(s"""update default.t_carbn01  set (Item_type_cd) = (1111)""").collect
+  checkAnswer(s"""select item_code from default.t_carbn01  group by item_code""",
+    Seq(Row("Banana")), "DataLoadingIUDTestCase_IUD-01-01-01_012-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check for delta files handling during table compaction and not breaking the data integrity
+test("IUD-01-01-02_004-01", Include) {
+   sql(s"""create table if not exists default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') """).collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Orange') where Item_code = 'Ram'""").collect
+ sql(s"""Update default.t_carbn01  set (Item_code) = ('Ram') where Item_code = 'Orange'""").collect
+ sql(s"""ALTER TABLE T_Carbn01 COMPACT 'MINOR'""").collect
+ sql(s"""select item_code from default.t_carbn01  group by item_code""").collect
+  checkAnswer(s"""select item_code from t_carbn01  group by item_code""",
+    Seq(Row("Ram")), "DataLoadingIUDTestCase_IUD-01-01-02_004-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update by doing data insert before and after update also check data consistency, no residual file left in HDFS
+test("IUD-01-01-02_006-01", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b """).collect
+ sql(s"""update default.t_carbn01  set (profit) = (1.2) where item_type_cd = 2 """).collect
+ sql(s"""insert into t_carbn01 select * from t_carbn01b""").collect
+  checkAnswer(s"""select count(profit) from default.t_carbn01""",
+    Seq(Row(20)), "DataLoadingIUDTestCase_IUD-01-01-02_006-01")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//Check update by doing data load before and after update also check data consistency, no residual file left in HDFS
+test("IUD-01-01-02_006-02", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect
+ sql(s"""insert into default.t_carbn01  select * from default.t_carbn01b """).collect
+ sql(s"""update default.t_carbn01  set (profit) = (1.2) where item_type_cd = 2 """).collect
+ sql(s"""LOAD DATA INPATH '$resourcesPath/Data/InsertData/T_Hive1.csv' INTO table default.t_carbn01 options ('DELIMITER'=',', 'QUOTECHAR'='\', 'FILEHEADER'='Active_status,Item_type_cd,Qty_day_avg,Qty_total,Sell_price,Sell_pricep,Discount_price,Profit,Item_code,Item_name,Outlet_name,Update_time,Create_date')""").collect
+ sql(s"""select count(*) from default.t_carbn01""").collect
+  checkAnswer(s"""select count(profit) from default.t_carbn01""",
+    Seq(Row(20)), "DataLoadingIUDTestCase_IUD-01-01-02_006-02")
+   sql(s"""drop table default.t_carbn01  """).collect
+}
+       
+
+//do a delete rows after update and see that the updated columns are deleted
+test("IUD-01-01-02_006-12", Include) {
+   sql(s"""drop table IF EXISTS default.t_carbn01 """).collect
+ sql(s"""create table default.t_carbn01 (Active_status String,Item_type_cd INT,Qty_day_avg INT,Qty_total INT,Sell_price BIGINT,Sell_pricep DOUBLE,Discount_price DOUBLE,Profit DECIMAL(3,2),Item_code String,Item_name String,Outlet_name String,Update_time TIMESTAMP,Create_date String)STORED BY 'org.apache.carbondata.format'""").collect

<TRUNCATED>