提交 214203c5 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Use TreeMap in SelectGroups

上级 dbe1a1de
...@@ -51,7 +51,7 @@ public abstract class SelectGroups { ...@@ -51,7 +51,7 @@ public abstract class SelectGroups {
/** /**
* Map of group-by key to group-by expression data e.g. AggregateData * Map of group-by key to group-by expression data e.g. AggregateData
*/ */
private HashMap<ValueArray, Object[]> groupByData; private TreeMap<ValueArray, Object[]> groupByData;
/** /**
* Key into groupByData that produces currentGroupByExprData. Not used * Key into groupByData that produces currentGroupByExprData. Not used
...@@ -72,7 +72,7 @@ public abstract class SelectGroups { ...@@ -72,7 +72,7 @@ public abstract class SelectGroups {
@Override @Override
public void reset() { public void reset() {
super.reset(); super.reset();
groupByData = new HashMap<>(); groupByData = new TreeMap<>(session.getDatabase().getCompareMode());
currentGroupsKey = null; currentGroupsKey = null;
cursor = null; cursor = null;
} }
......
...@@ -117,6 +117,13 @@ SELECT COUNT(N) FROM TEST; ...@@ -117,6 +117,13 @@ SELECT COUNT(N) FROM TEST;
SELECT COUNT(DISTINCT N) FROM TEST; SELECT COUNT(DISTINCT N) FROM TEST;
>> 1 >> 1
SELECT COUNT(*) FROM TEST GROUP BY N;
> COUNT(*)
> --------
> 1
> 2
> rows: 2
SELECT COUNT(N) OVER (PARTITION BY N) C FROM TEST; SELECT COUNT(N) OVER (PARTITION BY N) C FROM TEST;
> C > C
> - > -
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论