You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by qi...@apache.org on 2018/05/08 11:24:33 UTC
carbondata git commit: [HOTFIX][Search] Carbon should throw exception
for TEXT_MATCH UDF
Repository: carbondata
Updated Branches:
refs/heads/master 74ea24d14 -> 325eac2b4
[HOTFIX][Search] Carbon should throw exception for TEXT_MATCH UDF
This closes #2242
Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/325eac2b
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/325eac2b
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/325eac2b
Branch: refs/heads/master
Commit: 325eac2b4acfc461533f806ac62572097a567276
Parents: 74ea24d
Author: Jacky Li <ja...@qq.com>
Authored: Fri Apr 27 21:42:33 2018 +0800
Committer: QiangCai <qi...@qq.com>
Committed: Tue May 8 19:23:18 2018 +0800
----------------------------------------------------------------------
.../executer/RowLevelFilterExecuterImpl.java | 8 +++++++-
.../lucene/LuceneFineGrainDataMapSuite.scala | 18 ++++++++++++++++++
.../carbondata/spark/rdd/CarbonScanRDD.scala | 2 +-
3 files changed, 26 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/carbondata/blob/325eac2b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
index 7e92aef..4bee89b 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/filter/executer/RowLevelFilterExecuterImpl.java
@@ -193,7 +193,13 @@ public class RowLevelFilterExecuterImpl implements FilterExecuter {
public BitSetGroup applyFilter(RawBlockletColumnChunks rawBlockletColumnChunks,
boolean useBitsetPipeLine) throws FilterUnsupportedException, IOException {
if (exp instanceof MatchExpression) {
- return rawBlockletColumnChunks.getBitSetGroup();
+ BitSetGroup bitSetGroup = rawBlockletColumnChunks.getBitSetGroup();
+ if (bitSetGroup == null) {
+ // It means there are no datamap created on this table
+ throw new FilterUnsupportedException(String.format("%s is not supported on table %s",
+ exp.getFilterExpressionType().name(), tableIdentifier.getTableName()));
+ }
+ return bitSetGroup;
}
readColumnChunks(rawBlockletColumnChunks);
// CHECKSTYLE:ON
http://git-wip-us.apache.org/repos/asf/carbondata/blob/325eac2b/integration/spark-common-test/src/test/scala/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapSuite.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapSuite.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapSuite.scala
index b0a59d4..406ee41 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapSuite.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/datamap/lucene/LuceneFineGrainDataMapSuite.scala
@@ -21,6 +21,7 @@ import java.io.{File, PrintWriter}
import scala.util.Random
+import org.apache.spark.SparkException
import org.apache.spark.sql.{CarbonEnv, Row}
import org.apache.spark.sql.test.util.QueryTest
import org.scalatest.BeforeAndAfterAll
@@ -29,6 +30,7 @@ import org.apache.carbondata.common.exceptions.sql.{MalformedCarbonCommandExcept
import org.apache.carbondata.core.constants.CarbonCommonConstants
import org.apache.carbondata.core.util.CarbonProperties
import org.apache.carbondata.core.datamap.DataMapStoreManager
+import org.apache.carbondata.core.scan.expression.exception.FilterUnsupportedException
class LuceneFineGrainDataMapSuite extends QueryTest with BeforeAndAfterAll {
@@ -699,6 +701,22 @@ class LuceneFineGrainDataMapSuite extends QueryTest with BeforeAndAfterAll {
}
+ test("test text_match on normal table") {
+ sql("DROP TABLE IF EXISTS table1")
+ sql(
+ """
+ | CREATE TABLE table1(id INT, name STRING, city STRING, age INT)
+ | STORED BY 'org.apache.carbondata.format'
+ | TBLPROPERTIES('SORT_COLUMNS'='city,name')
+ """.stripMargin)
+ sql(s"LOAD DATA LOCAL INPATH '$file2' INTO TABLE table1 OPTIONS('header'='false')")
+ val msg = intercept[SparkException] {
+ sql("select * from table1 where TEXT_MATCH('name:n*')").show()
+ }
+ assert(msg.getCause.getMessage.contains("TEXT_MATCH is not supported on table"))
+ sql("DROP TABLE table1")
+ }
+
override protected def afterAll(): Unit = {
LuceneFineGrainDataMapSuite.deleteFile(file2)
sql("DROP TABLE IF EXISTS normal_test")
http://git-wip-us.apache.org/repos/asf/carbondata/blob/325eac2b/integration/spark-common/src/main/scala/org/apache/carbondata/spark/rdd/CarbonScanRDD.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common/src/main/scala/org/apache/carbondata/spark/rdd/CarbonScanRDD.scala b/integration/spark-common/src/main/scala/org/apache/carbondata/spark/rdd/CarbonScanRDD.scala
index 24a6927..b9a3371 100644
--- a/integration/spark-common/src/main/scala/org/apache/carbondata/spark/rdd/CarbonScanRDD.scala
+++ b/integration/spark-common/src/main/scala/org/apache/carbondata/spark/rdd/CarbonScanRDD.scala
@@ -452,7 +452,7 @@ class CarbonScanRDD[T: ClassTag](
reader.close()
} catch {
case e: Exception =>
- LOGGER.error(e)
+ LogServiceFactory.getLogService(this.getClass.getCanonicalName).error(e)
}
reader = null
}