use of com.dangdang.ddframe.rdb.sharding.parser.result.merger.GroupByColumn in project sharding-jdbc by dangdangdotcom.
the class ResultSetMergeContextTest method assertSetOrderByKeysToCurrentOrderByKeys.
@Test
public void assertSetOrderByKeysToCurrentOrderByKeys() throws SQLException {
MergeContext mergeContext = new MergeContext();
mergeContext.getOrderByColumns().add(new OrderByColumn("order_col", OrderByColumn.OrderByType.ASC));
mergeContext.getGroupByColumns().add(new GroupByColumn(Optional.<String>absent(), "group_col", Optional.<String>absent(), OrderByColumn.OrderByType.ASC));
ResultSetMergeContext actual = new ResultSetMergeContext(new ShardingResultSets(Collections.singletonList(MergerTestUtil.mockResult(Arrays.asList("order_col", "group_col")))), mergeContext);
actual.setGroupByKeysToCurrentOrderByKeys();
actual.setOrderByKeysToCurrentOrderByKeys();
assertThat(actual.getCurrentOrderByKeys().size(), is(1));
assertThat(actual.getCurrentOrderByKeys().get(0).getColumnName().get(), is("order_col"));
}
use of com.dangdang.ddframe.rdb.sharding.parser.result.merger.GroupByColumn in project sharding-jdbc by dangdangdotcom.
the class GroupByResultSetRowTest method createGroupByColumn.
private GroupByColumn createGroupByColumn(final String columnName, final int columnIndex) {
GroupByColumn result = new GroupByColumn(Optional.<String>absent(), columnName, Optional.<String>absent(), OrderByColumn.OrderByType.ASC);
result.setColumnIndex(columnIndex);
return result;
}
use of com.dangdang.ddframe.rdb.sharding.parser.result.merger.GroupByColumn in project sharding-jdbc by dangdangdotcom.
the class ResultSetMergeContextTest method assertIsNeedMemorySortForOrderByWithGroupByAndOrderBySame.
@Test
public void assertIsNeedMemorySortForOrderByWithGroupByAndOrderBySame() throws SQLException {
MergeContext mergeContext = new MergeContext();
mergeContext.getOrderByColumns().add(new OrderByColumn("col", OrderByColumn.OrderByType.ASC));
mergeContext.getGroupByColumns().add(new GroupByColumn(Optional.<String>absent(), "col", Optional.<String>absent(), OrderByColumn.OrderByType.ASC));
ResultSetMergeContext actual = new ResultSetMergeContext(new ShardingResultSets(Collections.singletonList(MergerTestUtil.mockResult(Collections.singletonList("col")))), mergeContext);
assertFalse(actual.isNeedMemorySortForOrderBy());
}
use of com.dangdang.ddframe.rdb.sharding.parser.result.merger.GroupByColumn in project sharding-jdbc by dangdangdotcom.
the class ResultSetMergeContextTest method assertIsNeedMemorySortForOrderByWithGroupByAndOrderByDifferent.
@Test
public void assertIsNeedMemorySortForOrderByWithGroupByAndOrderByDifferent() throws SQLException {
MergeContext mergeContext = new MergeContext();
mergeContext.getOrderByColumns().add(new OrderByColumn("order_col", OrderByColumn.OrderByType.ASC));
mergeContext.getGroupByColumns().add(new GroupByColumn(Optional.<String>absent(), "group_col", Optional.<String>absent(), OrderByColumn.OrderByType.ASC));
ResultSetMergeContext actual = new ResultSetMergeContext(new ShardingResultSets(Collections.singletonList(MergerTestUtil.mockResult(Arrays.asList("order_col", "group_col")))), mergeContext);
actual.setGroupByKeysToCurrentOrderByKeys();
assertTrue(actual.isNeedMemorySortForOrderBy());
}
use of com.dangdang.ddframe.rdb.sharding.parser.result.merger.GroupByColumn in project sharding-jdbc by dangdangdotcom.
the class ResultSetMergeContextTest method assertSetGroupByKeysToCurrentOrderByKeys.
@Test
public void assertSetGroupByKeysToCurrentOrderByKeys() throws SQLException {
MergeContext mergeContext = new MergeContext();
mergeContext.getOrderByColumns().add(new OrderByColumn("order_col", OrderByColumn.OrderByType.ASC));
mergeContext.getGroupByColumns().add(new GroupByColumn(Optional.<String>absent(), "group_col", Optional.<String>absent(), OrderByColumn.OrderByType.ASC));
ResultSetMergeContext actual = new ResultSetMergeContext(new ShardingResultSets(Collections.singletonList(MergerTestUtil.mockResult(Arrays.asList("order_col", "group_col")))), mergeContext);
actual.setGroupByKeysToCurrentOrderByKeys();
assertThat(actual.getCurrentOrderByKeys().size(), is(1));
assertThat(actual.getCurrentOrderByKeys().get(0).getColumnName().get(), is("group_col"));
}
Aggregations