[CARBONDATA-2823] Support streaming property with datamap

Since during query, carbondata get splits from streaming segment and
columnar segments repectively, we can support streaming with index
datamap.

For preaggregate datamap, it already supported streaming table, so here
we will remove the outdated comments.

This closes #2609


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

Branch: refs/heads/external-format
Commit: b9e51064017e428962d86ff8fccb3c1493e9864b
Parents: abcd4f6
Author: xuchuanyin <xuchuan...@hust.edu.cn>
Authored: Mon Aug 6 15:34:51 2018 +0800
Committer: Jacky Li <jacky.li...@qq.com>
Committed: Tue Aug 7 18:21:30 2018 +0800

----------------------------------------------------------------------
 .../datamap/bloom/BloomCoarseGrainDataMapFactory.java        | 2 +-
 .../datamap/lucene/LuceneFineGrainDataMapFactory.java        | 2 +-
 .../apache/spark/sql/execution/strategy/DDLStrategy.scala    | 8 --------
 3 files changed, 2 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/b9e51064/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
----------------------------------------------------------------------
diff --git 
a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
 
b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
index 80a86cc..0d240c4 100644
--- 
a/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
+++ 
b/datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMapFactory.java
@@ -391,7 +391,7 @@ public class BloomCoarseGrainDataMapFactory extends 
DataMapFactory<CoarseGrainDa
       case ALTER_CHANGE_DATATYPE:
         return true;
       case STREAMING:
-        return true;
+        return false;
       case DELETE:
         return true;
       case UPDATE:

http://git-wip-us.apache.org/repos/asf/carbondata/blob/b9e51064/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
----------------------------------------------------------------------
diff --git 
a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
 
b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
index 8c7539f..ff2ffdd 100644
--- 
a/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
+++ 
b/datamap/lucene/src/main/java/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapFactory.java
@@ -98,7 +98,7 @@ public class LuceneFineGrainDataMapFactory extends 
LuceneDataMapFactoryBase<Fine
       case ALTER_CHANGE_DATATYPE:
         return true;
       case STREAMING:
-        return true;
+        return false;
       case DELETE:
         return true;
       case UPDATE:

http://git-wip-us.apache.org/repos/asf/carbondata/blob/b9e51064/integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/DDLStrategy.scala
----------------------------------------------------------------------
diff --git 
a/integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/DDLStrategy.scala
 
b/integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/DDLStrategy.scala
index 416dbec..94b988c 100644
--- 
a/integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/DDLStrategy.scala
+++ 
b/integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/DDLStrategy.scala
@@ -35,7 +35,6 @@ import org.apache.spark.util.{CarbonReflectionUtils, 
FileUtils}
 
 import 
org.apache.carbondata.common.exceptions.sql.MalformedCarbonCommandException
 import org.apache.carbondata.common.logging.{LogService, LogServiceFactory}
-import org.apache.carbondata.core.features.TableOperation
 import org.apache.carbondata.core.util.CarbonProperties
 
 /**
@@ -257,8 +256,6 @@ class DDLStrategy(sparkSession: SparkSession) extends 
SparkStrategy {
         if CarbonEnv.getInstance(sparkSession).carbonMetastore
           .tableExists(tableName)(sparkSession) => {
 
-        // TODO remove this limiation after streaming table support 
'preaggregate' DataMap
-        // if the table has 'preaggregate' DataMap, it doesn't support 
streaming now
         val carbonTable = CarbonEnv.getInstance(sparkSession).carbonMetastore
           
.lookupRelation(tableName)(sparkSession).asInstanceOf[CarbonRelation].carbonTable
         if (carbonTable != null && 
!carbonTable.getTableInfo.isTransactionalTable) {
@@ -266,11 +263,6 @@ class DDLStrategy(sparkSession: SparkSession) extends 
SparkStrategy {
             "Unsupported operation on non transactional table")
         }
 
-        if (carbonTable != null && !carbonTable.canAllow(carbonTable, 
TableOperation.STREAMING)) {
-          throw new MalformedCarbonCommandException(
-            "streaming is not supported for index datamap")
-        }
-
         // TODO remove this limitation later
         val property = properties.find(_._1.equalsIgnoreCase("streaming"))
         if (property.isDefined) {

Reply via email to