Skip to content

Commit bc7475f

Browse files
authored
V2.1.1 fix bugs (#211)
* addr bug fixed. * fix connector bugs. * fix dbMod/tbDiv bug.
1 parent a1c4f4c commit bc7475f

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/libs/common/config/dbconfig.cc

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,16 @@ int DbConfig::get_dtc_config(YAML::Node dtc_config, DTCConfig* raw, int i_server
450450
dbFormat = dbName;
451451
} else {
452452
dbDiv = 1;
453-
dbMod = dtc_config["primary"][layer]["real"][dtc_config["primary"][layer]["real"].size()-1]["db"]["last"].as<int>() -
453+
if(dtc_config["primary"][layer]["real"][0]["db"].IsScalar())
454+
{
455+
dbMod = 1;
456+
}
457+
else
458+
{
459+
dbMod = dtc_config["primary"][layer]["real"][dtc_config["primary"][layer]["real"].size()-1]["db"]["last"].as<int>() -
454460
dtc_config["primary"][layer]["real"][0]["db"]["start"].as<int>() + 1;
461+
}
462+
455463
if (dbMod > 100) {
456464
log4cplus_error(
457465
"invalid [DATABASE_CONF].DbMod = %d, mod value too large",
@@ -515,8 +523,16 @@ int DbConfig::get_dtc_config(YAML::Node dtc_config, DTCConfig* raw, int i_server
515523
tblMod = 1;
516524
tblFormat = tblName;
517525
} else {
518-
tblDiv = dtc_config["primary"][layer]["real"][dtc_config["primary"][layer]["real"].size()-1]["db"]["last"].as<int>() -
526+
if(dtc_config["primary"][layer]["real"][0]["db"].IsScalar())
527+
{
528+
tblDiv = 1;
529+
}
530+
else
531+
{
532+
tblDiv = dtc_config["primary"][layer]["real"][dtc_config["primary"][layer]["real"].size()-1]["db"]["last"].as<int>() -
519533
dtc_config["primary"][layer]["real"][0]["db"]["start"].as<int>() + 1;
534+
}
535+
520536
tblMod = dtc_config["primary"][layer]["sharding"]["table"]["last"].as<int>() - dtc_config["primary"][layer]["sharding"]["table"]["start"].as<int>() + 1;
521537

522538
if(tblDiv == 0 || tblMod == 0) {

0 commit comments

Comments
 (0)