>From <[email protected]>: Attention is currently required from: Murtadha Hubail, Peeyush Gupta, Ali Alsuliman. [email protected] has posted comments on this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006 )
Change subject: [ASTERIXDB-3531][EXT] Push projections into assign operator ...................................................................... Patch Set 17: (14 comments) File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/c3f6deef_746eae0f PS16, Line 471: prepareForJobGenRewrites.add(new ReinferAllTypesRule()) > Remove this. […] Done File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/AbstractAssignPOperator.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/b57aadaf_74ea4f32 PS16, Line 79: assign.getVariables() > Replace all "assign.getVariables()" with "variables" from above. Done File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractAssignOperator.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/c2065a0f_56cb8e8f PS16, Line 38: private List<LogicalVariable> projectedExpressionVariables; > Remove these unused variables. Done https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/e7aa80cf_0a96495d PS16, Line 87: if (isProjectPushed()) { > With this change, we need to change "AssignBatchPOperator". […] Yeah, I thought AssignBatch is a different LogicalOperator. Changed AssignBatchPOperator but not sure if that works. Will try to add AssignBatch tests. File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractProjectPushableOperator.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/d83f2e61_a8cf7755 PS16, Line 28: AbstractProjectPushableOperator > Let's rename this to "AbstractProjectingOperator" Done https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/3cccce2d_87cd972d PS16, Line 29: private List<LogicalVariable> projectVars; > You can make this final Done https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/94292b09_a4be74f2 PS16, Line 37: Collection<LogicalVariable> > Let's use List<LogicalVariable> to make sure the iteration is deterministic > and ordered. Done https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/4ac7b657_0c0e9f07 PS16, Line 47: return projectPushed; > We can remove this flag and instead use: […] I saw a projection operator with empty variables in this test `temporal: current_data_time_01` File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/c33f7f8e_58018ad1 PS16, Line 262: public static List<Mutable<ILogicalExpression>> getProjectedExpressionList(AbstractAssignOperator op) { > Remove unused and commented code. Done https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/8cba447a_a70a7592 PS16, Line 284: addIndent(indent).append(" with pushed projection : ").append(str(op.getProjectVariables())); > Change this to: […] Done File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/ff8d762e_37167a47 PS16, Line 576: // TODO : Add projection variables, isPushed state > Add project variables if they exist. You can name the field > "project-variables". Done File hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/utils/LogicalOperatorDotVisitor.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/2b55dbc7_ae01d24c PS16, Line 221: public static List<Mutable<ILogicalExpression>> getProjectedExpressionList(AbstractAssignOperator op) > Remove unused code. Done File hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EmbedProjectRule.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/96d179aa_f59d4f2b PS16, Line 30: public class EmbedProjectRule implements IAlgebraicRewriteRule { > Add this doc: […] Done File hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/UnnestRuntimeFactory.java: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006/comment/0292fd74_c63e6a5c PS16, Line 42: public class UnnestRuntimeFactory extends AbstractOneInputOneOutputRuntimeFactory { > Revert this change. Done -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19006 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I2767a176bb1d7bd7722121b9b8d57a8e9cf9de2a Gerrit-Change-Number: 19006 Gerrit-PatchSet: 17 Gerrit-Owner: [email protected] Gerrit-Reviewer: Ali Alsuliman <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Peeyush Gupta <[email protected]> Gerrit-Attention: Murtadha Hubail <[email protected]> Gerrit-Attention: Peeyush Gupta <[email protected]> Gerrit-Attention: Ali Alsuliman <[email protected]> Gerrit-Comment-Date: Thu, 21 Nov 2024 07:44:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Ali Alsuliman <[email protected]> Gerrit-MessageType: comment
