[td-3967]1) refactor.

This commit is contained in:
Haojun Liao 2021-04-30 17:12:20 +08:00
parent bdc887741e
commit d78ac9848c
3 changed files with 19 additions and 3 deletions

View File

@ -462,13 +462,19 @@ int tsParseOneRow(char **str, STableDataBlocks *pDataBlocks, SSqlCmd *pCmd, int1
// Remove quotation marks
if (TK_STRING == sToken.type) {
// delete escape character: \\, \', \"
char delim = sToken.z[0];
int32_t cnt = 0;
int32_t j = 0;
for (uint32_t k = 1; k < sToken.n - 1; ++k) {
if (sToken.z[k] == '\\') {
cnt++;
if (sToken.z[k] == '\\' || (sToken.z[k] == delim && sToken.z[k + 1] == delim)) {
if (sToken.z[k] == '\\') {
tmpTokenBuf[j] = GET_ESCAPE_CHAR(sToken.z[k+1]);
} else {
tmpTokenBuf[j] = sToken.z[k + 1];
}
tmpTokenBuf[j] = GET_ESCAPE_CHAR(sToken.z[k+1]);
cnt++;
j++;
k++;
continue;

View File

@ -93,5 +93,14 @@ if $data41 != @udp005@ then
print "[ERROR] expect: udp005, act:$data41"
endi
print ---------------------> TD-3967
sql insert into tb values(now, '\\abc\\\\');
sql insert into tb values(now, '\\abc\\\\');
sql insert into tb values(now, '\\\\');
print ------------->sim bug
# sql_error insert into tb values(now, '\\\');
# sql_error insert into tb values(now, '\\');
# sql_error insert into tb values(now, '\\n');
system sh/exec.sh -n dnode1 -s stop -x SIGINT

View File

@ -55,4 +55,5 @@ run general/parser/sliding.sim
run general/parser/function.sim
run general/parser/stableOp.sim
run general/parser/slimit_alter_tags.sim
run general/parser/binary_escapeCharacter.sim