Skip to content

Releases: hellojavaer/ddal

1.1.1-RELEASE

13 Jun 18:11
52b70f3
Compare
Choose a tag to compare
Merge pull request #54 from hellojavaer/dev

update pom.xml

1.1.0-RELEASE

29 May 09:39
Compare
Choose a tag to compare
update

1.0.1-RELEASE

25 May 08:27
47178b2
Compare
Choose a tag to compare
Merge pull request #51 from hellojavaer/1.0.x

1.0.x

1.0.0-RELEASE

21 May 10:01
f372f6e
Compare
Choose a tag to compare
Update README.md

1.0.0.M7

06 Jan 14:01
Compare
Choose a tag to compare

support custom protocol jdbc:ddal:

1.0.0.M6

29 Sep 17:14
Compare
Choose a tag to compare
Merge branch 'master' into 1.0.0.M6

1.0.0.M5

06 Aug 19:45
Compare
Choose a tag to compare
  • 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

21 Jul 09:11
Compare
Choose a tag to compare
  • 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

09 Jul 07:39
Compare
Choose a tag to compare
  1. remove class ShardRouteHelper and ContextPropagation
  2. modify ShardRouter: add method 'getRouteInfos' and 'getRoutedTables'
  3. modify MetaDataChecker
  4. optimize SimpleShardRouter and ShardRouteContext
  5. optimize IdCache and DatabaseIdGetter
  6. 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

26 Apr 12:14
Compare
Choose a tag to compare
  • 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)}");