Github user parthchandra commented on a diff in the pull request: https://github.com/apache/drill/pull/1038#discussion_r153658073 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java --- @@ -202,14 +202,19 @@ private Result evaluateHelperFunction(Map<String, String> recordValues, Function // If at least one arg returns FALSE, then the AND function value is FALSE // If at least one arg returns INCONCLUSIVE, then the AND function value is INCONCLUSIVE // If all args return TRUE, then the AND function value is TRUE + Result result = Result.TRUE; + for(ExprNode arg : exprNode.args) { Result exprResult = evaluateHelper(recordValues, arg); - if (exprResult != Result.TRUE) { + if (exprResult == Result.FALSE) { return exprResult; } + if (exprResult == Result.INCONCLUSIVE) { --- End diff -- Just to be clear. You want to return `Result.INCONCLUSIVE` if any one of the expressions is inconclusive *and* there is no expression that is false. Correct ?
---