Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-21 Thread Dmitry Lychagin (Code Review)
Dmitry Lychagin has submitted this change and it was merged.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


[NO ISSUE][COMP] Window operator runtime optimization

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

Details:
- Add optimized runtime for window operator that computes
  nested aggregates over the whole partition (unbounded frame)
- Do not generate unnecessary expressions when compiling
  window operator with unbounded frame

Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3124
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Contrib: Jenkins 
Reviewed-by: Ali Alsuliman 
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
A 
asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/win_opt_01/win_opt_01_9.sqlpp
A 
asterixdb/asterix-app/src/test/resources/optimizerts/results/window/win_opt_01/win_opt_01_9.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/window/win_opt_01/win_opt_01.9.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/window/win_opt_01/win_opt_01.9.adm
M 
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/WindowPOperator.java
M 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowMaterializingPushRuntime.java
A 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowNestedPlansUnboundedPushRuntime.java
A 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowNestedPlansUnboundedRuntimeFactory.java
9 files changed, 320 insertions(+), 25 deletions(-)

Approvals:
  Anon. E. Moose #1000171: 
  Ali Alsuliman: Looks good to me, approved
  Jenkins: Verified; ; Verified

Objections:
  Jenkins: Violations found



diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
index b39136f..ce857ea 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
@@ -1202,8 +1202,8 @@
 LogicalVariable denseRankVar = context.newVar();
 ListSet usedVars = new ListSet<>();
 
-frameValueExprRefs = translateWindowFrameMode(winFrameMode, 
orderExprListOut, rowNumVar, denseRankVar,
-usedVars, sourceLoc);
+frameValueExprRefs = translateWindowFrameMode(winFrameMode, 
winFrameStartKind, winFrameEndKind,
+orderExprListOut, rowNumVar, denseRankVar, usedVars, 
sourceLoc);
 
 Pair>, Integer> 
frameExclusionResult =
 translateWindowExclusion(winFrameExclusionKind, rowNumVar, 
denseRankVar, usedVars, sourceLoc);
@@ -1223,16 +1223,16 @@
 currentOpRef = new MutableObject<>(helperWinOp);
 }
 
-Pair>, ILogicalOperator> 
frameStartResult =
-translateWindowBoundary(winFrameStartKind, 
winFrameStartExpr, frameValueExprRefs, currentOpRef);
+Pair>, ILogicalOperator> 
frameStartResult = translateWindowBoundary(
+winFrameStartKind, winFrameStartExpr, frameValueExprRefs, 
orderExprListOut, currentOpRef);
 if (frameStartResult != null) {
 frameStartExprRefs = frameStartResult.first;
 if (frameStartResult.second != null) {
 currentOpRef = new 
MutableObject<>(frameStartResult.second);
 }
 }
-Pair>, ILogicalOperator> 
frameEndResult =
-translateWindowBoundary(winFrameEndKind, winFrameEndExpr, 
frameValueExprRefs, currentOpRef);
+Pair>, ILogicalOperator> 
frameEndResult = translateWindowBoundary(
+winFrameEndKind, winFrameEndExpr, frameValueExprRefs, 
orderExprListOut, currentOpRef);
 if (frameEndResult != null) {
 frameEndExprRefs = frameEndResult.first;
 if (frameEndResult.second != null) {
@@ -1377,10 +1377,17 @@
 }
 
 private List>> 
translateWindowFrameMode(
-WindowExpression.FrameMode frameMode,
+WindowExpression.FrameMode frameMode, 
WindowExpression.FrameBoundaryKind winFrameStartKind,
+WindowExpression.FrameBoundaryKind winFrameEndKind,
 List>> 
orderExprList, LogicalVariable rowNumVar,
 LogicalVariable denseRankVar, Set outUsedVars, 
SourceLocation 

Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-20 Thread Ali Alsuliman (Code Review)
Ali Alsuliman has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Ali Alsuliman 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Anon. E. Moose (Code Review)
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1: Contrib+1

Analytics Compatibility Tests Successful
https://goo.gl/F7XGJ7 : SUCCESS

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3911/ : SUCCESS

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/7793/ 
: SUCCESS

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

BAD Compatibility Tests Started 
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3911/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-spidersilk-tests/96/ 
(15/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/5350/ 
(12/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4976/
 (13/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/5307/
 (14/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2976/ 
(3/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/10448/ (6/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Anon. E. Moose (Code Review)
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Analytics Compatibility Compilation Successful
https://goo.gl/Bse55Y : SUCCESS

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Integration Tests Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/7793/

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/5536/ (10/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4878/ 
(1/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-verify-txnlog/132/ (4/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-openjdk11/371/
 (11/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-stabilization-f69489-compat/375/
 (9/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Dmitry Lychagin (Code Review)
Dmitry Lychagin has uploaded a new change for review.

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

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..

[NO ISSUE][COMP] Window operator runtime optimization

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

Details:
- Add optimized runtime for window operator that computes
  nested aggregates over the whole partition (unbounded frame)
- Do not generate unnecessary expressions when compiling
  window operator with unbounded frame

Change-Id: If34d8eb05c069257c974f61810bee399136825fa
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
A 
asterixdb/asterix-app/src/test/resources/optimizerts/queries/window/win_opt_01/win_opt_01_9.sqlpp
A 
asterixdb/asterix-app/src/test/resources/optimizerts/results/window/win_opt_01/win_opt_01_9.plan
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/window/win_opt_01/win_opt_01.9.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/window/win_opt_01/win_opt_01.9.adm
M 
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/WindowPOperator.java
M 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowMaterializingPushRuntime.java
A 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowNestedPlansUnboundedPushRuntime.java
A 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/win/WindowNestedPlansUnboundedRuntimeFactory.java
9 files changed, 320 insertions(+), 25 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/24/3124/1

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
index b39136f..ce857ea 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
@@ -1202,8 +1202,8 @@
 LogicalVariable denseRankVar = context.newVar();
 ListSet usedVars = new ListSet<>();
 
-frameValueExprRefs = translateWindowFrameMode(winFrameMode, 
orderExprListOut, rowNumVar, denseRankVar,
-usedVars, sourceLoc);
+frameValueExprRefs = translateWindowFrameMode(winFrameMode, 
winFrameStartKind, winFrameEndKind,
+orderExprListOut, rowNumVar, denseRankVar, usedVars, 
sourceLoc);
 
 Pair>, Integer> 
frameExclusionResult =
 translateWindowExclusion(winFrameExclusionKind, rowNumVar, 
denseRankVar, usedVars, sourceLoc);
@@ -1223,16 +1223,16 @@
 currentOpRef = new MutableObject<>(helperWinOp);
 }
 
-Pair>, ILogicalOperator> 
frameStartResult =
-translateWindowBoundary(winFrameStartKind, 
winFrameStartExpr, frameValueExprRefs, currentOpRef);
+Pair>, ILogicalOperator> 
frameStartResult = translateWindowBoundary(
+winFrameStartKind, winFrameStartExpr, frameValueExprRefs, 
orderExprListOut, currentOpRef);
 if (frameStartResult != null) {
 frameStartExprRefs = frameStartResult.first;
 if (frameStartResult.second != null) {
 currentOpRef = new 
MutableObject<>(frameStartResult.second);
 }
 }
-Pair>, ILogicalOperator> 
frameEndResult =
-translateWindowBoundary(winFrameEndKind, winFrameEndExpr, 
frameValueExprRefs, currentOpRef);
+Pair>, ILogicalOperator> 
frameEndResult = translateWindowBoundary(
+winFrameEndKind, winFrameEndExpr, frameValueExprRefs, 
orderExprListOut, currentOpRef);
 if (frameEndResult != null) {
 frameEndExprRefs = frameEndResult.first;
 if (frameEndResult.second != null) {
@@ -1377,10 +1377,17 @@
 }
 
 private List>> 
translateWindowFrameMode(
-WindowExpression.FrameMode frameMode,
+WindowExpression.FrameMode frameMode, 
WindowExpression.FrameBoundaryKind winFrameStartKind,
+WindowExpression.FrameBoundaryKind winFrameEndKind,
 List>> 
orderExprList, LogicalVariable rowNumVar,
 LogicalVariable denseRankVar, Set outUsedVars, 
SourceLocation sourceLoc)
 throws CompilationException {
+// if the frame is unbounded then no need to generate the frame value 
expression
+// because it will not be used
+ 

Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4932/ 
(5/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/5189/ 
(7/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4966/ 
(8/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][COMP] Window operator runtime optimization

2019-01-18 Thread Jenkins (Code Review)
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][COMP] Window operator runtime optimization
..


Patch Set 1:

Build Started 
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8915/ (2/15)

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

Gerrit-MessageType: comment
Gerrit-Change-Id: If34d8eb05c069257c974f61810bee399136825fa
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No