You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Luo Chen (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/03/29 03:53:33 UTC

Change in asterixdb[master]: [ASTERIXDB-2344] LIMIT pushdown for primary index

Hello Anon. E. Moose #1000171, Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/2541

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2344] LIMIT pushdown for primary index
......................................................................

[ASTERIXDB-2344] LIMIT pushdown for primary index

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
-Implement LIMIT pushdown for primary index scan/lookup. In case of
a select operator, we also push the select condition to the priamry
search operator to ensure correctness.

Change-Id: I824fcad79995325e12a1a81d629160025294b915
---
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/BTreeSearchPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushLimitIntoPrimaryRule.java
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan-select/limit-scan-select.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan-select/limit-scan-select.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan-select/limit-scan-select.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan-select/limit-scan-select.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan/limit-scan.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan/limit-scan.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan/limit-scan.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-scan/limit-scan.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index-select/limit-secondary-index-select.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index-select/limit-secondary-index-select.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index-select/limit-secondary-index-select.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index-select/limit-secondary-index-select.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index/limit-secondary-index.1.ddl.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index/limit-secondary-index.2.update.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index/limit-secondary-index.3.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/limit/limit-secondary-index/limit-secondary-index.4.query.sqlpp
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-scan-select/limit-scan-select.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-scan-select/limit-scan-select.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-scan/limit-scan.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-scan/limit-scan.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-secondary-index-select/limit-secondary-index-select.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-secondary-index-select/limit-secondary-index-select.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-secondary-index/limit-secondary-index.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/limit/limit-secondary-index/limit-secondary-index.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSource.java
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DatasetDataSource.java
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FeedDataSource.java
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FunctionDataSource.java
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/LoadableDataSource.java
M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M hyracks-fullstack/algebricks/algebricks-core/pom.xml
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/DataSourceScanOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/UnnestMapOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/DataSourceScanPOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java
M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java
M hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/dataflow/RTreeSearchOperatorNodePushable.java
45 files changed, 1,024 insertions(+), 46 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/41/2541/4
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2541
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I824fcad79995325e12a1a81d629160025294b915
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Luo Chen <cl...@uci.edu>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>