You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2017/09/06 05:00:37 UTC

carbondata git commit: [CARBONDATA-1437] Fixed bug for incorrect exception message when loading to table having property 'bucketnumber' set to 0.

Repository: carbondata
Updated Branches:
  refs/heads/master a85b4f4b1 -> 04b63af6d


[CARBONDATA-1437] Fixed bug for incorrect exception message when loading to table having property 'bucketnumber' set to 0.

In this PR, Table creation would not be allowed, if the table property 'bucketnumber' is set to 0 in create command.

This closes #1325


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

Branch: refs/heads/master
Commit: 04b63af6d6524fe0b1d48dae7fe85f59bc50f763
Parents: a85b4f4
Author: ksimar <si...@gmail.com>
Authored: Tue Sep 5 17:43:17 2017 +0530
Committer: Jacky Li <ja...@qq.com>
Committed: Wed Sep 6 13:00:07 2017 +0800

----------------------------------------------------------------------
 .../sql/parser/CarbonSpark2SqlParser.scala      |  2 +-
 .../bucketing/TableBucketingTestCase.scala      | 24 ++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/04b63af6/integration/spark2/src/main/scala/org/apache/spark/sql/parser/CarbonSpark2SqlParser.scala
----------------------------------------------------------------------
diff --git a/integration/spark2/src/main/scala/org/apache/spark/sql/parser/CarbonSpark2SqlParser.scala b/integration/spark2/src/main/scala/org/apache/spark/sql/parser/CarbonSpark2SqlParser.scala
index 780839a..69fe4e8 100644
--- a/integration/spark2/src/main/scala/org/apache/spark/sql/parser/CarbonSpark2SqlParser.scala
+++ b/integration/spark2/src/main/scala/org/apache/spark/sql/parser/CarbonSpark2SqlParser.scala
@@ -431,7 +431,7 @@ class CarbonSpark2SqlParser extends CarbonDDLSqlParser {
     }
     if (options.isBucketingEnabled) {
       if (options.bucketNumber.toString.contains("-") ||
-          options.bucketNumber.toString.contains("+")) {
+          options.bucketNumber.toString.contains("+") ||  options.bucketNumber == 0) {
         throw new MalformedCarbonCommandException("INVALID NUMBER OF BUCKETS SPECIFIED")
       }
       else {

http://git-wip-us.apache.org/repos/asf/carbondata/blob/04b63af6/integration/spark2/src/test/scala/org/apache/spark/carbondata/bucketing/TableBucketingTestCase.scala
----------------------------------------------------------------------
diff --git a/integration/spark2/src/test/scala/org/apache/spark/carbondata/bucketing/TableBucketingTestCase.scala b/integration/spark2/src/test/scala/org/apache/spark/carbondata/bucketing/TableBucketingTestCase.scala
index 790f3f9..d30b3d1 100644
--- a/integration/spark2/src/test/scala/org/apache/spark/carbondata/bucketing/TableBucketingTestCase.scala
+++ b/integration/spark2/src/test/scala/org/apache/spark/carbondata/bucketing/TableBucketingTestCase.scala
@@ -44,6 +44,7 @@ class TableBucketingTestCase extends Spark2QueryTest with BeforeAndAfterAll {
     sql("DROP TABLE IF EXISTS t8")
     sql("DROP TABLE IF EXISTS t9")
     sql("DROP TABLE IF EXISTS t10")
+    sql("DROP TABLE IF EXISTS t11")
   }
 
   test("test create table with buckets") {
@@ -91,6 +92,29 @@ class TableBucketingTestCase extends Spark2QueryTest with BeforeAndAfterAll {
     }
   }
 
+  test("must unable to create table if number of buckets is 0") {
+    try{
+      sql(
+        """
+          |CREATE TABLE t11
+          |(ID Int,
+          | date Timestamp,
+          | country String,
+          | name String,
+          | phonetype String,
+          | serialname String,
+          | salary Int)
+          | STORED BY 'CARBONDATA'
+          | TBLPROPERTIES('bucketnumber'='0', 'bucketcolumns'='name')
+        """.stripMargin
+      )
+      assert(false)
+    }
+    catch {
+      case malformedCarbonCommandException: MalformedCarbonCommandException => assert(true)
+    }
+  }
+
   test("test create table with no bucket join of carbon tables") {
     sql("CREATE TABLE t5 (ID Int, date Timestamp, country String, name String, phonetype String," +
         "serialname String, salary Int) STORED BY 'carbondata'")