apache / shardingsphere

Distributed SQL transaction & query engine for data sharding, scaling, encryption, and more - on any database.
Apache License 2.0
19.81k stars 6.71k forks source link

Route table question #23048

Closed wangjiihao closed 1 year ago

wangjiihao commented 1 year ago

When routing table names, the administrator needs to be able to query all tables during operation. How should I operate in the algorithm? Should I return null? When the administrator logs in, the partition key value is "1"

wangjiihao commented 1 year ago

public static String routeTable(String value, String logictable) { String resultTab = ""; if ("1".equals(value)){ return null; }else if (value.startsWith(HEBEI.getCode())){ resultTab = logictable +"1"; }else if (value.startsWith(SHANXI.getCode())){ resultTab = logictable +"2"; }else if (value.startsWith(NEIMENGGU.getCode())){ resultTab = logictable +"3"; }else if (value.startsWith(LIAONING.getCode())){ resultTab = logictable +"4"; }else if (value.startsWith(JILIN.getCode())){ resultTab = logictable +"5"; }else if (value.startsWith(HEILONGJIANG.getCode())){ resultTab = logictable +"6"; }else if (value.startsWith(JIANGSU.getCode())){ resultTab = logictable +"7"; }else if (value.startsWith(ZHEJIANG.getCode())){ resultTab = logictable +"8"; }else if (value.startsWith(ANHUI.getCode())){ resultTab = logictable +"9"; }else if (value.startsWith(FUJIAN.getCode())){ resultTab = logictable +"10"; }else if (value.startsWith(JIANGXI.getCode())){ resultTab = logictable +"11"; }else if (value.startsWith(SHANDONG.getCode())){ resultTab = logictable +"12"; }else if (value.startsWith(HENAN.getCode())){ resultTab = logictable +"13"; }else if (value.startsWith(HUBEI.getCode())){ resultTab = logictable +"14"; }else if (value.startsWith(HUNAN.getCode())){ resultTab = logictable +"15"; }else if (value.startsWith(GUANGDONG.getCode())){ resultTab = logictable +"16"; }else if (value.startsWith(GUANGXI.getCode())){ resultTab = logictable +"17"; }else if (value.startsWith(HAINAN.getCode())){ resultTab = logictable +"18"; }else if (value.startsWith(SICHUAN.getCode())){ resultTab = logictable +"19"; }else if (value.startsWith(GUIZHOU.getCode())){ resultTab = logictable +"20"; }else if (value.startsWith(YUNNAN.getCode())){ resultTab = logictable +"21"; }else if (value.startsWith(XIZANG.getCode())){ resultTab = logictable +"22"; }else if (value.startsWith(SHANXI1.getCode())){ resultTab = logictable +"23"; }else if (value.startsWith(GANSU.getCode())){ resultTab = logictable +"24"; }else if (value.startsWith(QINGHAI.getCode())){ resultTab = logictable +"25"; }else if (value.startsWith(NINGXIA.getCode())){ resultTab = logictable +"26"; }else if (value.startsWith(XINJIANG.getCode())){ resultTab = logictable +"27"; }else if (value.startsWith(BEIJING.getCode())){ resultTab = logictable +"28"; }else if (value.startsWith(CHONGQING.getCode())){ resultTab = logictable +"29"; }else if (value.startsWith(TIANJIN.getCode())){ resultTab = logictable +"30"; }else if (value.startsWith(SHANGHAI.getCode())) { resultTab = logictable + "31"; }else { resultTab = logictable +"0"; } return resultTab; }

wangjiihao commented 1 year ago

The above is the pseudo code of my routing table name

strongduanmu commented 1 year ago

Hi @wangjiihao, can you submit issue according to issue template?

RaigorJiang commented 1 year ago

Closed due to no response.