commit | 85fbec0de1c6a0d4d133ae1b4ab40729243775d5 | [log] [tgz] |
---|---|---|
author | Wail Alkowaileet <wael.y.k@gmail.com> | Tue Sep 26 09:42:50 2023 -1000 |
committer | Wail Alkowaileet <wael.y.k@gmail.com> | Wed Sep 27 05:13:39 2023 +0000 |
tree | dc680b4d82fea48d5b5be013a9afdfdb8342c5f2 | |
parent | e071aaedc5611fa746257a6651c464b9a9dc9e38 [diff] |
[NO ISSUE][COMP] Use data-scan select condition in filters - user model changes: no - storage format changes: no - interface changes: no Details: Allow pushed filter in data-scan to utilize columnar and external filters. Change-Id: Iedee5e54bb0344616589076ea3ed65cded6c9b5a Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17811 Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Reviewed-by: Wail Alkowaileet <wael.y.k@gmail.com> Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/processor/AbstractFilterPushdownProcessor.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/processor/AbstractFilterPushdownProcessor.java index 4a1f156..6ca553a 100644 --- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/processor/AbstractFilterPushdownProcessor.java +++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/processor/AbstractFilterPushdownProcessor.java
@@ -129,7 +129,9 @@ */ ILogicalOperator useOperator = useDescriptor.getOperator(); if (useDescriptor.getScope() == scanDefineDescriptor.getScope() - && useOperator.getOperatorTag() == LogicalOperatorTag.SELECT && isPushdownAllowed(useOperator)) { + && (useOperator.getOperatorTag() == LogicalOperatorTag.SELECT + || useOperator.getOperatorTag() == LogicalOperatorTag.DATASOURCESCAN) + && isPushdownAllowed(useOperator)) { inlineAndPushdownFilter(useDescriptor, scanDefineDescriptor); } else if (useOperator.getOperatorTag() == LogicalOperatorTag.INNERJOIN) { inlineAndPushdownFilter(useDescriptor, scanDefineDescriptor);