Github user comnetwork commented on a diff in the pull request: https://github.com/apache/phoenix/pull/314#discussion_r206013986 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/util/ExpressionUtil.java --- @@ -68,4 +74,85 @@ public static boolean isPkPositionChanging(TableRef tableRef, List<Expression> p return false; } + public static boolean isColumnConstant(Expression columnExpression, Expression whereExpression) { + if(whereExpression == null) { + return false; + } + IsColumnConstantExpressionVisitor isColumnConstantExpressionVisitor = + new IsColumnConstantExpressionVisitor(columnExpression); + whereExpression.accept(isColumnConstantExpressionVisitor); + return isColumnConstantExpressionVisitor.isConstant(); + } + + private static class IsColumnConstantExpressionVisitor extends StatelessTraverseNoExpressionVisitor<Void> { --- End diff -- I did not find a existing visitor which can statisfy the requirement , I would check more Expression besides ComparisonExpression.
---