From d583709b82711ea9444fe12b35319708126d92b5 Mon Sep 17 00:00:00 2001 From: Benguang Zhao Date: Mon, 18 Jul 2022 19:12:26 +0800 Subject: [PATCH] fix: resolve a segmenation fault issue of taos when alter table... set tag with a number as key --- src/client/src/tscSQLParser.c | 9 +++++---- tests/pytest/table/tagNameCaseSensitive.py | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 0bdae50334..331f91b6c4 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -3463,10 +3463,6 @@ int32_t doGetColumnIndexByName(SStrToken* pToken, SQueryInfo* pQueryInfo, SColum const char* msg0 = "ambiguous column name"; const char* msg1 = "invalid column name"; - if (pToken->n == 0) { - return TSDB_CODE_TSC_INVALID_OPERATION; - } - if (isTablenameToken(pToken)) { pIndex->columnIndex = TSDB_TBNAME_COLUMN_INDEX; } else if (strlen(DEFAULT_PRIMARY_TIMESTAMP_COL_NAME) == pToken->n && @@ -3546,6 +3542,11 @@ int32_t getTableIndexByName(SStrToken* pToken, SQueryInfo* pQueryInfo, SColumnIn } int32_t getColumnIndexByName(const SStrToken* pToken, SQueryInfo* pQueryInfo, SColumnIndex* pIndex, char* msg) { + const char* msg0 = "invalid column name"; + + if (pToken->n == 0) { + return invalidOperationMsg(msg, msg0); + } if (pQueryInfo->pTableMetaInfo == NULL || pQueryInfo->numOfTables == 0) { return TSDB_CODE_TSC_INVALID_OPERATION; } diff --git a/tests/pytest/table/tagNameCaseSensitive.py b/tests/pytest/table/tagNameCaseSensitive.py index 722332577d..77d25bc5ea 100644 --- a/tests/pytest/table/tagNameCaseSensitive.py +++ b/tests/pytest/table/tagNameCaseSensitive.py @@ -62,4 +62,4 @@ class TDTestCase: tdCases.addWindows(__file__, TDTestCase()) -tdCases.addLinux(__file__, TDTestCase()) \ No newline at end of file +tdCases.addLinux(__file__, TDTestCase()) -- GitLab