提交 9b2d2c5b authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Remove incorrect parameter from getWindowData()

上级 f97e07da
...@@ -123,7 +123,7 @@ public abstract class AbstractAggregate extends DataAnalysisOperation { ...@@ -123,7 +123,7 @@ public abstract class AbstractAggregate extends DataAnalysisOperation {
if ((orderBy = over.getOrderBy()) != null) { if ((orderBy = over.getOrderBy()) != null) {
updateOrderedAggregate(session, groupData, groupRowId, orderBy); updateOrderedAggregate(session, groupData, groupRowId, orderBy);
} else { } else {
updateAggregate(session, getWindowData(session, groupData, false, false)); updateAggregate(session, getWindowData(session, groupData, false));
} }
} else { } else {
updateAggregate(session, getGroupData(groupData, false)); updateAggregate(session, getGroupData(groupData, false));
......
...@@ -182,14 +182,11 @@ public abstract class DataAnalysisOperation extends Expression { ...@@ -182,14 +182,11 @@ public abstract class DataAnalysisOperation extends Expression {
*/ */
protected abstract void rememberExpressions(Session session, Value[] array); protected abstract void rememberExpressions(Session session, Value[] array);
protected Object getWindowData(Session session, SelectGroups groupData, boolean ifExists, boolean forOrderBy) { protected Object getWindowData(Session session, SelectGroups groupData, boolean forOrderBy) {
Object data; Object data;
ValueArray key = over.getCurrentKey(session); ValueArray key = over.getCurrentKey(session);
PartitionData partition = groupData.getWindowExprData(this, key); PartitionData partition = groupData.getWindowExprData(this, key);
if (partition == null) { if (partition == null) {
if (ifExists) {
return null;
}
data = forOrderBy ? new ArrayList<>() : createAggregateData(); data = forOrderBy ? new ArrayList<>() : createAggregateData();
groupData.setWindowExprData(this, key, new PartitionData(data)); groupData.setWindowExprData(this, key, new PartitionData(data));
} else { } else {
...@@ -295,7 +292,7 @@ public abstract class DataAnalysisOperation extends Expression { ...@@ -295,7 +292,7 @@ public abstract class DataAnalysisOperation extends Expression {
} }
array[ne] = ValueInt.get(groupRowId); array[ne] = ValueInt.get(groupRowId);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
ArrayList<Value[]> data = (ArrayList<Value[]>) getWindowData(session, groupData, false, true); ArrayList<Value[]> data = (ArrayList<Value[]>) getWindowData(session, groupData, true);
data.add(array); data.add(array);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论