Releases: hellojavaer/ddal
Releases · hellojavaer/ddal
1.1.1-RELEASE
Merge pull request #54 from hellojavaer/dev update pom.xml
1.1.0-RELEASE
update
1.0.1-RELEASE
Merge pull request #51 from hellojavaer/1.0.x 1.0.x
1.0.0-RELEASE
Update README.md
1.0.0.M7
support custom protocol jdbc:ddal:
1.0.0.M6
Merge branch 'master' into 1.0.0.M6
1.0.0.M5
- optimize route rule expression parser
// old
SpelShardRouteRule rule = new SpelShardRouteRule();
rule.setScRouteRule("{#scName}_{#format('%02d', #sdValue % 4)}");
rule.setTbRouteRule("{#tbName}_{#format('%04d', #sdValue % 8)}");
// new
SpelShardRouteRule rule = new SpelShardRouteRule();
rule.setScRouteRule("{scName}_{format('%02d', sdValue % 4)}");
rule.setTbRouteRule("{tbName}_{format('%04d', sdValue % 8)}");
- optimize range expression parser
"1,2,3" => 1,2,3
"[1..3]" => 1,2,3
"['A'..'C','X']" => A,B,C,X
"[0..1][0..1]" => 00,01,10,11
"Hi![' Allen',' Bob']" => Hi! Allen,Hi! Bob
1.0.0.M4
- implement ddal-bom
<!-- add the following dependency into your dependencyManagement to manage ddal version -->
<dependency>
<groupId>org.hellojavaer.ddal</groupId>
<artifactId>ddal-bom</artifactId>
<version>1.0.0.M5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- implement PollingGroupSequence
Sequence s0 = new SingleSequence("schema_name", "table_name", 100, 5, 100, sequenceRangeGetter0);
Sequence s1 = new SingleSequence("schema_name", "table_name", 100, 5, 100, sequenceRangeGetter1);
Sequence sequence = new PollingGroupSequence(s0, s1);
long id = sequence.nextValue(100, TimeUnit.MILLISECONDS);
1.0.0.M3
- remove class ShardRouteHelper and ContextPropagation
- modify ShardRouter: add method 'getRouteInfos' and 'getRoutedTables'
- modify MetaDataChecker
- optimize SimpleShardRouter and ShardRouteContext
- optimize IdCache and DatabaseIdGetter
- provide a easier way for scanning table query
// list all physical tables by specified 'scName' and 'tbName'
List<RouteInfo> routeInfos = shardRouter.getRouteInfos(scName, tbName);
for (RouteInfo routeInfo : routeInfos) {
ShardRouteContext.setRouteInfo(scName, tbName, routeInfo);
// TODO: do your business here
// ...
ShardRouteContext.clearContext();
}
1.0.0.M2
- provide a simpler way to configure route rule
SpelShardRouteRule rule = new SpelShardRouteRule();
rule.setScRouteRule("{#scName}_{#format('%02d', #sdValue % 4)}");
rule.setTbRouteRule("{#tbName}_{#format('%04d', #sdValue % 8)}");