diff --git a/native-sql-engine/core/src/main/scala/com/intel/oap/execution/ColumnarHashAggregateExec.scala b/native-sql-engine/core/src/main/scala/com/intel/oap/execution/ColumnarHashAggregateExec.scala index 37d2ca89e..a5fa7052e 100644 --- a/native-sql-engine/core/src/main/scala/com/intel/oap/execution/ColumnarHashAggregateExec.scala +++ b/native-sql-engine/core/src/main/scala/com/intel/oap/execution/ColumnarHashAggregateExec.scala @@ -545,6 +545,9 @@ case class ColumnarHashAggregateExec( } case Count(_) => mode match { + case Final if (exp.isDistinct) => + throw new UnsupportedOperationException( + s"Count distinct is not supported in Columnar Count") case Partial | PartialMerge | Final => res_index += 1 case other => diff --git a/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarCoalesceOperator.scala b/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarCoalesceOperator.scala index 00b422364..43c2d934c 100644 --- a/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarCoalesceOperator.scala +++ b/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarCoalesceOperator.scala @@ -46,6 +46,16 @@ class ColumnarCoalesce(exps: Seq[Expression], original: Expression) with ColumnarExpression with Logging { + override def supportColumnarCodegen(args: java.lang.Object): Boolean = { + for (expr <- exps) { + val colExpr = ColumnarExpressionConverter.replaceWithColumnarExpression(expr) + if (!colExpr.asInstanceOf[ColumnarExpression].supportColumnarCodegen(Lists.newArrayList())) { + return false + } + } + return true + } + buildCheck() def buildCheck(): Unit = { diff --git a/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarConcatOperator.scala b/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarConcatOperator.scala index 25f0155df..29472cca9 100644 --- a/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarConcatOperator.scala +++ b/native-sql-engine/core/src/main/scala/com/intel/oap/expression/ColumnarConcatOperator.scala @@ -34,6 +34,10 @@ class ColumnarConcat(exps: Seq[Expression], original: Expression) with ColumnarExpression with Logging { + override def supportColumnarCodegen(args: java.lang.Object): Boolean = { + false + } + buildCheck() def buildCheck(): Unit = {