fix bug #570
This commit is contained in:
parent
2a623947d1
commit
40e97536d1
|
@ -134,10 +134,12 @@ TAOS *taos_connect(char *ip, char *user, char *pass, char *db, int port) {
|
|||
|
||||
void *taos = taos_connect_imp(ip, user, pass, db, port, NULL, NULL, NULL);
|
||||
if (taos != NULL) {
|
||||
STscObj* pObj = (STscObj*) taos;
|
||||
|
||||
int clientVersionNumber[4] = {0};
|
||||
if (!taosGetVersionNumber(version, clientVersionNumber)) {
|
||||
tscError("taos:%p, invalid client version:%s", taos, version);
|
||||
globalCode = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
pObj->pSql->res.code = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -146,33 +148,22 @@ TAOS *taos_connect(char *ip, char *user, char *pass, char *db, int port) {
|
|||
int serverVersionNumber[4] = {0};
|
||||
if (!taosGetVersionNumber(server_version, serverVersionNumber)) {
|
||||
tscError("taos:%p, invalid server version:%s", taos, server_version);
|
||||
globalCode = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
pObj->pSql->res.code = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (clientVersionNumber[0] != serverVersionNumber[0]) {
|
||||
tscError("taos:%p, the 1st number of server version:%s not matched with client version:%s, close connection",
|
||||
taos, server_version, version);
|
||||
globalCode = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
}
|
||||
// version compare only requires the first 3 segments of the version string
|
||||
int32_t comparedSegments = 3;
|
||||
|
||||
if (clientVersionNumber[1] != serverVersionNumber[1]) {
|
||||
tscError("taos:%p, the 2nd number of server version:%s not matched with client version:%s, close connection",
|
||||
taos, server_version, version);
|
||||
globalCode = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (clientVersionNumber[2] != serverVersionNumber[2]) {
|
||||
tscError("taos:%p, the 3rd number of server version:%s not matched with client version:%s, close connection",
|
||||
taos, server_version, version);
|
||||
globalCode = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
for(int32_t i = 0; i < comparedSegments; ++i) {
|
||||
if (clientVersionNumber[i] != serverVersionNumber[i]) {
|
||||
tscError("taos:%p, the %d-th number of server version:%s not matched with client version:%s, close connection",
|
||||
taos, i, server_version, version);
|
||||
pObj->pSql->res.code = TSDB_CODE_INVALID_CLIENT_VERSION;
|
||||
taos_close(taos);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue