Search in sources :

Example 1 with ShardingStrategy

use of com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy in project sharding-jdbc by dangdangdotcom.

the class ShardingStrategyTest method assertDoStaticShardingWithoutShardingColumns.

@Test
public void assertDoStaticShardingWithoutShardingColumns() {
    ShardingStrategy strategy = new ShardingStrategy(Collections.singletonList("column"), null);
    assertThat(strategy.doStaticSharding(SQLStatementType.SELECT, targets, Collections.<ShardingValue<?>>emptyList()), is(targets));
}
Also used : ShardingStrategy(com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy) ShardingValue(com.dangdang.ddframe.rdb.sharding.api.ShardingValue) Test(org.junit.Test)

Example 2 with ShardingStrategy

use of com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy in project sharding-jdbc by dangdangdotcom.

the class ShardingStrategyTest method assertDoStaticShardingForMultipleKeys.

@Test
public void assertDoStaticShardingForMultipleKeys() {
    ShardingStrategy strategy = new ShardingStrategy("column", new TestMultipleKeysShardingAlgorithm());
    assertThat(strategy.doStaticSharding(SQLStatementType.SELECT, targets, createShardingValues(new ShardingValue<>("logicTable", "column", "1"))), is((Collection<String>) Arrays.asList("1", "2", "3")));
}
Also used : ShardingStrategy(com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy) TestMultipleKeysShardingAlgorithm(com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestMultipleKeysShardingAlgorithm) Collection(java.util.Collection) Test(org.junit.Test)

Example 3 with ShardingStrategy

use of com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy in project sharding-jdbc by dangdangdotcom.

the class ShardingStrategyTest method assertDoDynamicShardingForInSingleKey.

@Test
public void assertDoDynamicShardingForInSingleKey() {
    ShardingStrategy strategy = new ShardingStrategy("column", new TestSingleKeyShardingAlgorithm());
    assertThat(strategy.doDynamicSharding(createShardingValues(new ShardingValue<>("logicTable", "column", Arrays.asList("1", "3")))), is((Collection<String>) Arrays.asList("1", "3")));
}
Also used : ShardingStrategy(com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy) Collection(java.util.Collection) TestSingleKeyShardingAlgorithm(com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestSingleKeyShardingAlgorithm) Test(org.junit.Test)

Example 4 with ShardingStrategy

use of com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy in project sharding-jdbc by dangdangdotcom.

the class ShardingStrategyTest method assertDoStaticShardingForInSingleKey.

@Test
public void assertDoStaticShardingForInSingleKey() {
    ShardingStrategy strategy = new ShardingStrategy("column", new TestSingleKeyShardingAlgorithm());
    assertThat(strategy.doStaticSharding(SQLStatementType.SELECT, targets, createShardingValues(new ShardingValue<>("logicTable", "column", Arrays.asList("1", "3")))), is((Collection<String>) Arrays.asList("1", "3")));
}
Also used : ShardingStrategy(com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy) Collection(java.util.Collection) TestSingleKeyShardingAlgorithm(com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestSingleKeyShardingAlgorithm) Test(org.junit.Test)

Example 5 with ShardingStrategy

use of com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy in project sharding-jdbc by dangdangdotcom.

the class ShardingStrategyTest method assertDoStaticShardingForBetweenSingleKey.

@Test
public void assertDoStaticShardingForBetweenSingleKey() {
    ShardingStrategy strategy = new ShardingStrategy("column", new TestSingleKeyShardingAlgorithm());
    assertThat(strategy.doStaticSharding(SQLStatementType.SELECT, targets, createShardingValues(new ShardingValue<>("logicTable", "column", Range.open("1", "3")))), is((Collection<String>) Arrays.asList("1", "2", "3")));
}
Also used : ShardingStrategy(com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy) Collection(java.util.Collection) TestSingleKeyShardingAlgorithm(com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestSingleKeyShardingAlgorithm) Test(org.junit.Test)

Aggregations

ShardingStrategy (com.dangdang.ddframe.rdb.sharding.router.strategy.ShardingStrategy)11 Test (org.junit.Test)11 Collection (java.util.Collection)8 TestSingleKeyShardingAlgorithm (com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestSingleKeyShardingAlgorithm)6 TestMultipleKeysShardingAlgorithm (com.dangdang.ddframe.rdb.sharding.api.strategy.fixture.TestMultipleKeysShardingAlgorithm)2 ShardingValue (com.dangdang.ddframe.rdb.sharding.api.ShardingValue)1