You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ar...@apache.org on 2017/11/29 11:15:42 UTC
[4/5] drill git commit: DRILL-5972: Slow performance for query on
INFORMATION_SCHEMA.TABLE
DRILL-5972: Slow performance for query on INFORMATION_SCHEMA.TABLE
closes #1038
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/3d13b4f6
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/3d13b4f6
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/3d13b4f6
Branch: refs/heads/master
Commit: 3d13b4f604852b959fe5ab0f21ec01d455553a2f
Parents: 53d71df
Author: Padma Penumarthy <pp...@yahoo.com>
Authored: Wed Nov 15 20:31:23 2017 -0800
Committer: Arina Ielchiieva <ar...@gmail.com>
Committed: Wed Nov 29 12:22:32 2017 +0200
----------------------------------------------------------------------
.../apache/drill/exec/store/ischema/InfoSchemaFilter.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/3d13b4f6/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java
index 6d4d8ce..92464e7 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/ischema/InfoSchemaFilter.java
@@ -202,14 +202,19 @@ public class InfoSchemaFilter {
// 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) {
+ result = Result.INCONCLUSIVE;
+ }
}
- return Result.TRUE;
+ return result;
}
case "in": {