You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Steven Jacobs (Code Review)" <do...@asterixdb.incubator.apache.org> on 2016/03/22 19:54:28 UTC
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Steven Jacobs has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/742
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
2 files changed, 3 insertions(+), 23 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/42/742/1
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
index 8cc18ba..8487374 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
@@ -21,10 +21,8 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Set;
import java.util.Stack;
import org.apache.asterix.common.config.DatasetConfig.DatasetType;
@@ -75,10 +73,8 @@
import org.apache.hyracks.algebricks.core.algebra.operators.logical.IndexInsertDeleteUpsertOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteUpsertOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteUpsertOperator.Kind;
-import org.apache.hyracks.algebricks.core.algebra.operators.logical.ProjectOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.ReplicateOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.TokenizeOperator;
-import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities;
import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
public class IntroduceSecondaryIndexInsertDeleteRule implements IAlgebraicRewriteRule {
@@ -260,22 +256,6 @@
throw new AlgebricksException(e);
}
}
- Set<LogicalVariable> projectVars = new HashSet<LogicalVariable>();
- VariableUtilities.getUsedVariables(op1, projectVars);
- if (enforcedRecordVar != null) {
- projectVars.add(enforcedRecordVar);
- }
- if (insertOp.getOperation() == Kind.UPSERT) {
- projectVars.add(insertOp.getPrevRecordVar());
- if (filteringFields != null) {
- // project prev filter value
- projectVars.add(insertOp.getPrevFilterVar());
- }
- }
- ProjectOperator project = new ProjectOperator(new ArrayList<LogicalVariable>(projectVars));
- project.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
- context.computeAndSetTypeEnvironmentForOperator(project);
- currentTop = project;
// Replicate Operator is applied only when doing the bulk-load.
AbstractLogicalOperator replicateOp = null;
diff --git a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
index bca0381..7d38039 100644
--- a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
@@ -9,7 +9,7 @@
-- INSERT_DELETE |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- MATERIALIZE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$8] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$10] |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -18,8 +18,8 @@
-- UNNEST |UNPARTITIONED|
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
-- HASH_PARTITION_EXCHANGE [$$9] |PARTITIONED|
- -- ASSIGN |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- DATASOURCE_SCAN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1:
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/742/1/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
File asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan:
Line 22: -- ASSIGN |PARTITIONED|
> The Project inserted by the InsertProjectsRule is put in a slightly differe
OK.
Just curious: does the assign needs the variables to be eliminated in the next project operator?
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Steven Jacobs (Code Review)" <do...@asterixdb.incubator.apache.org>.
Steven Jacobs has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1:
(1 comment)
Addressed Comment
https://asterix-gerrit.ics.uci.edu/#/c/742/1/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
File asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan:
Line 22: -- ASSIGN |PARTITIONED|
> Why the assign moves down?
The Project inserted by the InsertProjectsRule is put in a slightly different spot than it was being placed by the IntroduceSecondaryIndex Rule.
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1:
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/742/1/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
File asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan:
Line 22: -- ASSIGN |PARTITIONED|
Why the assign moves down?
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/1011/
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1: Verified+1
Build Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/1011/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1:
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/742/1/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
File asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan:
Line 22: -- ASSIGN |PARTITIONED|
> The Project inserted by the InsertProjectsRule is put in a slightly differe
I believe project is pushed up, since it projects out everything, apart from $9, which is a newly assigned variable. Whereas previously the unused record (on which assign was operating) was kept in the frame
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Ildar Absalyamov (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ildar Absalyamov has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Yingyi Bu (Code Review)" <do...@asterixdb.incubator.apache.org>.
Yingyi Bu has posted comments on this change.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
Patch Set 1: Code-Review+2
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/742/1/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
File asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan:
Line 22: -- ASSIGN |PARTITIONED|
> I believe project is pushed up, since it projects out everything, apart fro
all right, got it.
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex ...
Posted by "Steven Jacobs (Code Review)" <do...@asterixdb.incubator.apache.org>.
Steven Jacobs has submitted this change and it was merged.
Change subject: ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
......................................................................
ASTERIXDB-1359 Removed Project from IntroduceSecondaryIndex Rule
Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Reviewed-on: https://asterix-gerrit.ics.uci.edu/742
Reviewed-by: Ildar Absalyamov <il...@gmail.com>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <bu...@gmail.com>
---
M asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
M asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
2 files changed, 3 insertions(+), 23 deletions(-)
Approvals:
Yingyi Bu: Looks good to me, approved
Ildar Absalyamov: Looks good to me, approved
Jenkins: Verified
diff --git a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
index 8cc18ba..8487374 100644
--- a/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
+++ b/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceSecondaryIndexInsertDeleteRule.java
@@ -21,10 +21,8 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Set;
import java.util.Stack;
import org.apache.asterix.common.config.DatasetConfig.DatasetType;
@@ -75,10 +73,8 @@
import org.apache.hyracks.algebricks.core.algebra.operators.logical.IndexInsertDeleteUpsertOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteUpsertOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.InsertDeleteUpsertOperator.Kind;
-import org.apache.hyracks.algebricks.core.algebra.operators.logical.ProjectOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.ReplicateOperator;
import org.apache.hyracks.algebricks.core.algebra.operators.logical.TokenizeOperator;
-import org.apache.hyracks.algebricks.core.algebra.operators.logical.visitors.VariableUtilities;
import org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule;
public class IntroduceSecondaryIndexInsertDeleteRule implements IAlgebraicRewriteRule {
@@ -260,22 +256,6 @@
throw new AlgebricksException(e);
}
}
- Set<LogicalVariable> projectVars = new HashSet<LogicalVariable>();
- VariableUtilities.getUsedVariables(op1, projectVars);
- if (enforcedRecordVar != null) {
- projectVars.add(enforcedRecordVar);
- }
- if (insertOp.getOperation() == Kind.UPSERT) {
- projectVars.add(insertOp.getPrevRecordVar());
- if (filteringFields != null) {
- // project prev filter value
- projectVars.add(insertOp.getPrevFilterVar());
- }
- }
- ProjectOperator project = new ProjectOperator(new ArrayList<LogicalVariable>(projectVars));
- project.getInputs().add(new MutableObject<ILogicalOperator>(currentTop));
- context.computeAndSetTypeEnvironmentForOperator(project);
- currentTop = project;
// Replicate Operator is applied only when doing the bulk-load.
AbstractLogicalOperator replicateOp = null;
diff --git a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
index bca0381..7d38039 100644
--- a/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
+++ b/asterix-app/src/test/resources/optimizerts/results/disjunction-to-join-delete-3.plan
@@ -9,7 +9,7 @@
-- INSERT_DELETE |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- MATERIALIZE |PARTITIONED|
- -- HASH_PARTITION_EXCHANGE [$$8] |PARTITIONED|
+ -- HASH_PARTITION_EXCHANGE [$$10] |PARTITIONED|
-- ASSIGN |PARTITIONED|
-- STREAM_PROJECT |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
@@ -18,8 +18,8 @@
-- UNNEST |UNPARTITIONED|
-- EMPTY_TUPLE_SOURCE |UNPARTITIONED|
-- HASH_PARTITION_EXCHANGE [$$9] |PARTITIONED|
- -- ASSIGN |PARTITIONED|
- -- STREAM_PROJECT |PARTITIONED|
+ -- STREAM_PROJECT |PARTITIONED|
+ -- ASSIGN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
-- DATASOURCE_SCAN |PARTITIONED|
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
--
To view, visit https://asterix-gerrit.ics.uci.edu/742
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I912e3d56c0b9c2b5b252630acf8b15c54e0f61a1
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Ildar Absalyamov <il...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Steven Jacobs <sj...@ucr.edu>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>