Fixed the testing of table existance

This commit is contained in:
2020-10-05 17:03:07 +01:00
parent eff16310fc
commit 406fe9e057

View File

@@ -358,8 +358,18 @@ int tableExists(struct stored_conn_t *sconn, struct modb_t *modb,
} }
res = scalarString(sconn, qry, qry_len, "Z"); res = scalarString(sconn, qry, qry_len, "Z");
if (res == 0 || strlen(res) != (modb->name_len + suffix_len)) { /* Result:
* 0: query success, no result returned
* 1: query failed, default ("Z") returned
* 2: query success, result does not match required length
* 3: query success, result matches required length (check content)
*/
if (res == 0) {
retval = 0;
} else if (strlen(res) == 1 && strncmp(res, "Z", 1) == 0) {
retval = -1; retval = -1;
} else if (strlen(res) != (modb->name_len + suffix_len)) {
retval = 0;
} else { } else {
retval = strncmp(res, modb->name, modb->name_len) == 0; retval = strncmp(res, modb->name, modb->name_len) == 0;
} }