rui-mo commented on code in PR #5954:
URL: https://github.com/apache/incubator-gluten/pull/5954#discussion_r1697783038


##########
cpp/velox/substrait/SubstraitToVeloxPlan.cc:
##########
@@ -1681,6 +1681,48 @@ bool SubstraitToVeloxPlanConverter::canPushdownOr(
   return true;
 }
 
+bool SubstraitToVeloxPlanConverter::isPushdownSupported(TypePtr inputType) {
+  // keep the same with mapToFilters
+  if (inputType->isDate()) {
+    return true;
+  }
+  switch (inputType->kind()) {
+    case TypeKind::TINYINT:
+    case TypeKind::SMALLINT:
+    case TypeKind::INTEGER:
+    case TypeKind::BIGINT:
+    case TypeKind::REAL:
+    case TypeKind::DOUBLE:
+    case TypeKind::BOOLEAN:
+    case TypeKind::VARCHAR:
+    case TypeKind::ARRAY:
+    case TypeKind::MAP:

Review Comment:
   It looks like most type are supported. Would you list the unsupported types 
instead?



##########
cpp/velox/substrait/SubstraitToVeloxPlan.h:
##########
@@ -473,6 +473,14 @@ class SubstraitToVeloxPlanConverter {
   /// 'or' expression are effective on the same column.
   static bool childrenFunctionsOnSameField(const 
::substrait::Expression_ScalarFunction& function);
 
+  /// Check whether the data type is supported to pushdown.
+  static bool isPushdownSupported(TypePtr inputType);
+
+  /// Check whether the scalar function contains data type that doesn't to 
pushdown.
+  static bool canPushdownScalarFunction(

Review Comment:
   Could we merge it with `canPushdownFunction` which checks if a scalar 
function can be pushed down.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to