asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yingyi Bu (Code Review)" <do-not-re...@asterixdb.incubator.apache.org>
Subject Change in asterixdb[master]: Change logical plan to apply filter from 2ndary index
Date Thu, 25 May 2017 20:18:43 GMT
Yingyi Bu has posted comments on this change.

Change subject: Change logical plan to apply filter from 2ndary index
......................................................................


Patch Set 11:

(27 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/BTreeSearchPOperator.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/BTreeSearchPOperator.java:

PS11, Line 118: getPropagateIndexFilter
getPropageIndexFilter -> propagateIndexFilter


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IndexSearchPOperator.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/IndexSearchPOperator.java:

PS11, Line 66: getScanVariables
Can it be just as.getVariables()?


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java:

PS11, Line 125: propagateIndexFilter
It looks that propagateIndexFilter can be retrieved from unnestMapOp so you do not need this
parameter?


https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java:

PS7, Line 355:  sta
What does this TODO exactly mean?


https://asterix-gerrit.ics.uci.edu/#/c/1727/7/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java:

PS7, Line 241: ArrayList
ArrayList -> List


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceLSMComponentFilterRule.java:

PS11, Line 244: Mutable
Generalize the filter propagation using a loop?  In other words, make the code agnostic to
specific operators (e.g., intersect, order) ?   For now, you can assume there is no variables
that kills variables.  


Maybe I should add a general visitor to enforce variables later because it is needed in several
places.


PS11, Line 271: warning
Throw an exception?


PS11, Line 313: ArrayList
ArrayList -> List


PS11, Line 317: AbstractLogicalOperator
cast is not needed:

ILogicalOperator descendantOp = queue.poll().getValue();


PS11, Line 319: continue
It should never be null?


PS11, Line 328: IllegalStateException
error code


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search-wo-query-filter.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search-wo-query-filter.aql:

PS11, Line 36: output
write statement is not needed.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/btree-btree-search.aql:

PS11, Line 36: rttest
write statement is not needed.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search-wo-query-filter.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search-wo-query-filter.aql:

PS11, Line 36: filter
write statement is not needed.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/inverted-btree-search.aql:

PS11, Line 36: output
write statement is not needed.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search-wo-query-filter.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search-wo-query-filter.aql:

PS11, Line 38: nc1
write statement is not needed


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/multi-index-btree-search.aql:

PS11, Line 38: output
write statement is not needed.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search-wo-query-filter.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search-wo-query-filter.aql:

PS11, Line 36: output
write statement is not needed


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search.aql
File asterixdb/asterix-app/src/test/resources/optimizerts/queries/filter/rtree-btree-search.aql:

PS11, Line 36: output
write statement is not needed


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/btree-btree-search-wo-query-filter.plan
File asterixdb/asterix-app/src/test/resources/optimizerts/results/filter/btree-btree-search-wo-query-filter.plan:

PS11, Line 9: ONE_TO_ONE_EXCHANGE
Is the physical plan here different with vs. without filter?

If not, should we add the filter into the physical plan, e.g., in the primary BTree Search,
if there is a filter?


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.11.ddl.aql
File asterixdb/asterix-app/src/test/resources/runtimets/queries/filters/delete/delete.11.ddl.aql:

PS11, Line 20: drop
The last drop dataverse is not needed because after each test, the test executor automatically
clean up dataverses.


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
File asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java:

PS11, Line 430:  boolean propagateFilter
Is the boolean info somehow can be obtained from Dataset dataset, since filter should be a
property of the dataset?


PS11, Line 476: propagateFilter
Is the boolean info somehow can be obtained from Dataset dataset, since filter should be a
property of the dataset?


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractScanOperator.java
File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractScanOperator.java:

PS11, Line 40: ;
the method is the same as getVariables()?


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractUnnestMapOperator.java
File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractUnnestMapOperator.java:

PS11, Line 113: setPropagateIndexFilter(boolean propagateIndexFilter)
setPropagateIndexFilter(boolean propagateIndexFilter) -> markPropagageIndexFilter(),  since
the argument is always true?


PS11, Line 117: getPropagateIndexFilter
getPropagateIndexFilter() -> propagateFilter()


https://asterix-gerrit.ics.uci.edu/#/c/1727/11/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java
File hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java:

PS11, Line 26: .*;
expand imports


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1727
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I0e2fe0208662e5dcd49d1a22bfb58f96533e9497
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Jianfeng Jia <jianfeng.jia@gmail.com>
Gerrit-Reviewer: Ian Maxon <imaxon@apache.org>
Gerrit-Reviewer: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Jianfeng Jia <jianfeng.jia@gmail.com>
Gerrit-Reviewer: Luo Chen <cluo8@uci.edu>
Gerrit-Reviewer: Taewoo Kim <wangsaeu@gmail.com>
Gerrit-Reviewer: Yingyi Bu <buyingyi@gmail.com>
Gerrit-Reviewer: abdullah alamoudi <bamousaa@gmail.com>
Gerrit-HasComments: Yes

Mime
View raw message