From 81289e8f2b8d08e53ca84967a698d0d4a41f9a65 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Sat, 30 Jan 2021 22:16:45 +0800 Subject: [PATCH 01/14] [TD-2893] : fix http invalid url error typo. --- src/inc/taoserror.h | 2 +- src/plugins/http/src/httpResp.c | 2 +- src/plugins/http/src/httpRestHandle.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/inc/taoserror.h b/src/inc/taoserror.h index ebed2caaa6..77024f8b2d 100644 --- a/src/inc/taoserror.h +++ b/src/inc/taoserror.h @@ -294,7 +294,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_WAL_SIZE_LIMIT, 0, 0x1002, "WAL size e // http TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_SERVER_OFFLINE, 0, 0x1100, "http server is not onlin") TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_UNSUPPORT_URL, 0, 0x1101, "url is not support") -TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_INVLALID_URL, 0, 0x1102, "invalid url format") +TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_INVALID_URL, 0, 0x1102, "invalid url format") TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_NO_ENOUGH_MEMORY, 0, 0x1103, "no enough memory") TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_REQUSET_TOO_BIG, 0, 0x1104, "request size is too big") TAOS_DEFINE_ERROR(TSDB_CODE_HTTP_NO_AUTH_INFO, 0, 0x1105, "no auth info input") diff --git a/src/plugins/http/src/httpResp.c b/src/plugins/http/src/httpResp.c index 37eef2bfad..063f2bb04e 100644 --- a/src/plugins/http/src/httpResp.c +++ b/src/plugins/http/src/httpResp.c @@ -74,7 +74,7 @@ void httpSendErrorResp(HttpContext *pContext, int32_t errNo) { httpCode = 404; else if (errNo == TSDB_CODE_HTTP_UNSUPPORT_URL) httpCode = 404; - else if (errNo == TSDB_CODE_HTTP_INVLALID_URL) + else if (errNo == TSDB_CODE_HTTP_INVALID_URL) httpCode = 404; else if (errNo == TSDB_CODE_HTTP_NO_ENOUGH_MEMORY) httpCode = 507; diff --git a/src/plugins/http/src/httpRestHandle.c b/src/plugins/http/src/httpRestHandle.c index 8999fb879e..8728b9e37a 100644 --- a/src/plugins/http/src/httpRestHandle.c +++ b/src/plugins/http/src/httpRestHandle.c @@ -141,6 +141,6 @@ bool restProcessRequest(struct HttpContext* pContext) { } else { } - httpSendErrorResp(pContext, TSDB_CODE_HTTP_INVLALID_URL); + httpSendErrorResp(pContext, TSDB_CODE_HTTP_INVALID_URL); return false; } From 38e1312b1cfbb9e1829b569fe4b5d5a63e91169d Mon Sep 17 00:00:00 2001 From: dapan1121 <89396746@qq.com> Date: Thu, 4 Feb 2021 09:23:35 +0800 Subject: [PATCH 02/14] support timestamp before 1970 --- src/common/inc/tdataformat.h | 16 ++++++++++++++++ src/tsdb/src/tsdbRead.c | 27 ++++++++++++++++++--------- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/common/inc/tdataformat.h b/src/common/inc/tdataformat.h index ed5ebaa80f..959654d158 100644 --- a/src/common/inc/tdataformat.h +++ b/src/common/inc/tdataformat.h @@ -134,6 +134,22 @@ typedef uint64_t TKEY; #define tdGetTKEY(key) (((TKEY)ABS(key)) | (TKEY_NEGATIVE_FLAG & (TKEY)(key))) #define tdGetKey(tkey) (((TSKEY)((tkey)&TKEY_VALUE_FILTER)) * (TKEY_IS_NEGATIVE(tkey) ? -1 : 1)) +#define MIN_TS_KEY ((TSKEY)0x8000000000000001) +#define MAX_TS_KEY ((TSKEY)0x3fffffffffffffff) + +#define TD_TO_TKEY(key) tdGetTKEY(((key) < MIN_TS_KEY) ? MIN_TS_KEY : (((key) > MAX_TS_KEY) ? MAX_TS_KEY : key)) + +static FORCE_INLINE TKEY keyToTkey(TSKEY key) { + TSKEY lkey = key; + if (key > MAX_TS_KEY) { + lkey = MAX_TS_KEY; + } else if (key < MIN_TS_KEY) { + lkey = MIN_TS_KEY; + } + + return tdGetTKEY(lkey); +} + static FORCE_INLINE int tkeyComparFn(const void *tkey1, const void *tkey2) { TSKEY key1 = tdGetKey(*(TKEY *)tkey1); TSKEY key2 = tdGetKey(*(TKEY *)tkey2); diff --git a/src/tsdb/src/tsdbRead.c b/src/tsdb/src/tsdbRead.c index eb848527e2..40a4d5e612 100644 --- a/src/tsdb/src/tsdbRead.c +++ b/src/tsdb/src/tsdbRead.c @@ -317,7 +317,7 @@ static STsdbQueryHandle* tsdbQueryTablesImpl(STsdbRepo* tsdb, STsdbQueryCond* pC pQueryHandle->window = pCond->twindow; pQueryHandle->pTsdb = tsdb; pQueryHandle->type = TSDB_QUERY_TYPE_ALL; - pQueryHandle->cur.fid = -1; + pQueryHandle->cur.fid = INT32_MIN; pQueryHandle->cur.win = TSWINDOW_INITIALIZER; pQueryHandle->checkFiles = true; pQueryHandle->activeIndex = 0; // current active table index @@ -478,16 +478,18 @@ static bool initTableMemIterator(STsdbQueryHandle* pHandle, STableCheckInfo* pCh if (pMemT && pCheckInfo->tableId.tid < pMemT->maxTables) { pMem = pMemT->tData[pCheckInfo->tableId.tid]; if (pMem != NULL && pMem->uid == pCheckInfo->tableId.uid) { // check uid + TKEY tLastKey = keyToTkey(pCheckInfo->lastKey); pCheckInfo->iter = - tSkipListCreateIterFromVal(pMem->pData, (const char*)&pCheckInfo->lastKey, TSDB_DATA_TYPE_TIMESTAMP, order); + tSkipListCreateIterFromVal(pMem->pData, (const char*)&tLastKey, TSDB_DATA_TYPE_TIMESTAMP, order); } } if (pIMemT && pCheckInfo->tableId.tid < pIMemT->maxTables) { pIMem = pIMemT->tData[pCheckInfo->tableId.tid]; if (pIMem != NULL && pIMem->uid == pCheckInfo->tableId.uid) { // check uid + TKEY tLastKey = keyToTkey(pCheckInfo->lastKey); pCheckInfo->iiter = - tSkipListCreateIterFromVal(pIMem->pData, (const char*)&pCheckInfo->lastKey, TSDB_DATA_TYPE_TIMESTAMP, order); + tSkipListCreateIterFromVal(pIMem->pData, (const char*)&tLastKey, TSDB_DATA_TYPE_TIMESTAMP, order); } } @@ -652,7 +654,7 @@ static bool hasMoreDataInCache(STsdbQueryHandle* pHandle) { STsdbCfg *pCfg = &pHandle->pTsdb->config; size_t size = taosArrayGetSize(pHandle->pTableCheckInfo); assert(pHandle->activeIndex < size && pHandle->activeIndex >= 0 && size >= 1); - pHandle->cur.fid = -1; + pHandle->cur.fid = INT32_MIN; STableCheckInfo* pCheckInfo = taosArrayGet(pHandle->pTableCheckInfo, pHandle->activeIndex); @@ -1117,7 +1119,12 @@ int32_t doCopyRowsFromFileBlock(STsdbQueryHandle* pQueryHandle, int32_t capacity if (pColInfo->info.colId == src->colId) { - if (pColInfo->info.type != TSDB_DATA_TYPE_BINARY && pColInfo->info.type != TSDB_DATA_TYPE_NCHAR) { + if (pColInfo->info.type == TSDB_DATA_TYPE_TIMESTAMP) { + for (int32_t n = 0; n < num; n++) { + TKEY tkey = *(TKEY *)((char*)src->pData + bytes * start + n * sizeof(TKEY)); + *(TSKEY *)(pData + n * sizeof(TSKEY)) = tdGetKey(tkey); + } + } else if (pColInfo->info.type != TSDB_DATA_TYPE_BINARY && pColInfo->info.type != TSDB_DATA_TYPE_NCHAR) { memmove(pData, (char*)src->pData + bytes * start, bytes * num); } else { // handle the var-string char* dst = pData; @@ -1222,7 +1229,6 @@ static void copyOneRowFromMem(STsdbQueryHandle* pQueryHandle, int32_t capacity, break; case TSDB_DATA_TYPE_BIGINT: case TSDB_DATA_TYPE_UBIGINT: - case TSDB_DATA_TYPE_TIMESTAMP: *(uint64_t *)pData = *(uint64_t *)value; break; case TSDB_DATA_TYPE_FLOAT: @@ -1231,6 +1237,9 @@ static void copyOneRowFromMem(STsdbQueryHandle* pQueryHandle, int32_t capacity, case TSDB_DATA_TYPE_DOUBLE: SET_DOUBLE_PTR(pData, value); break; + case TSDB_DATA_TYPE_TIMESTAMP: + *(TSKEY *)pData = tdGetKey(*(TKEY *)value); + break; default: memcpy(pData, value, pColInfo->info.bytes); } @@ -1890,7 +1899,7 @@ static int32_t getFirstFileDataBlock(STsdbQueryHandle* pQueryHandle, bool* exist assert(pQueryHandle->pFileGroup == NULL); } - cur->fid = -1; // denote that there are no data in file anymore + cur->fid = INT32_MIN; // denote that there are no data in file anymore *exists = false; return code; } @@ -2493,7 +2502,7 @@ void tsdbRetrieveDataBlockInfo(TsdbQueryHandleT* pQueryHandle, SDataBlockInfo* p STable* pTable = NULL; // there are data in file - if (pHandle->cur.fid >= 0) { + if (pHandle->cur.fid != INT32_MIN) { STableBlockInfo* pBlockInfo = &pHandle->pDataBlockInfo[cur->slot]; pTable = pBlockInfo->pTableCheckInfo->pTableObj; } else { @@ -2577,7 +2586,7 @@ SArray* tsdbRetrieveDataBlock(TsdbQueryHandleT* pQueryHandle, SArray* pIdList) { */ STsdbQueryHandle* pHandle = (STsdbQueryHandle*)pQueryHandle; - if (pHandle->cur.fid < 0) { + if (pHandle->cur.fid == INT32_MIN) { return pHandle->pColumns; } else { STableBlockInfo* pBlockInfo = &pHandle->pDataBlockInfo[pHandle->cur.slot]; From 6e086566da2b8a04f097975f76be6abdbeea85d9 Mon Sep 17 00:00:00 2001 From: Elias Soong Date: Thu, 4 Feb 2021 09:52:49 +0800 Subject: [PATCH 03/14] [TD-2639] : fix software version number about STDDEV() on super table. --- documentation20/webdocs/markdowndocs/TAOS SQL-ch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md index 0da2883605..c44a8f635b 100644 --- a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md +++ b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md @@ -757,7 +757,7 @@ TDengine支持针对数据的聚合查询。提供支持的聚合和选择函数 应用字段:不能应用在timestamp、binary、nchar、bool类型字段。 - 适用于:表。(从 2.0.15 版本开始,本函数也支持超级表) + 适用于:表。(从 2.0.15.1 版本开始,本函数也支持超级表) 示例: ```mysql From c019feaefc69af269a9cb310fa53ff00fa33b24d Mon Sep 17 00:00:00 2001 From: dapan1121 <89396746@qq.com> Date: Thu, 4 Feb 2021 14:22:47 +0800 Subject: [PATCH 04/14] fix case issue --- tests/pytest/insert/before_1970.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/pytest/insert/before_1970.py b/tests/pytest/insert/before_1970.py index cb17b657aa..b2c4dc57c7 100644 --- a/tests/pytest/insert/before_1970.py +++ b/tests/pytest/insert/before_1970.py @@ -41,7 +41,7 @@ class TDTestCase: #TODO : should add more testcases tdSql.execute("insert into test values('1930-12-12 01:19:20.345', 1);") tdSql.execute("insert into test values('1969-12-30 23:59:59.999', 2);") - tdSql.execute("insert into test values(-3600, 3);") + tdSql.execute("insert into test values(-3600001, 3);") tdSql.execute("insert into test values('2020-10-20 14:02:53.770', 4);") print("==============insert data") @@ -61,11 +61,11 @@ class TDTestCase: print("==============step4") tdSql.execute("use demo;") tdSql.query("select * from test;") - # print(tdSql.queryResult) + print(tdSql.queryResult) tdSql.checkRows(4) tdSql.checkData(0,0,'1930-12-12 01:19:20.345000') tdSql.checkData(1,0,'1969-12-30 23:59:59.999000') - tdSql.checkData(2,0,'1970-01-01 07:00:00.000000') + tdSql.checkData(2,0,'1970-01-01 06:59:59.999000') tdSql.checkData(3,0,'2020-10-20 14:02:53.770000') print("==============check data") From dfd1e8ce18a3a1417765ce42157072be4a92878d Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Thu, 4 Feb 2021 18:34:55 +0800 Subject: [PATCH 05/14] revert --- Jenkinsfile | 46 ++++++++++++++-------------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index bd56309dd2..536cbe73a2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -31,7 +31,6 @@ def abort_previous(){ if (buildNumber > 1) milestone(buildNumber - 1) milestone(buildNumber) } -def kipstage=0 def pre_test(){ catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh ''' @@ -73,29 +72,12 @@ pipeline { } stages { - stage('pre_build'){ - agent{label 'master'} - steps { - sh''' - cd ${WORKSPACE} - git checkout develop - git pull - git fetch origin +refs/pull/${CHANGE_ID}/merge - git checkout -qf FETCH_HEAD - ''' - script{ - skipstage=sh(script:"git --no-pager diff --name-only FETCH_HEAD develop|grep -v -E '.*md|//src//connector|Jenkinsfile|test-all.sh' || echo 1 ",returnStdout:true) - } - } - } + stage('Parallel test stage') { //only build pr when { changeRequest() - expression { - skipstage == 0 - } } parallel { stage('python_1_s1') { @@ -145,7 +127,7 @@ pipeline { stage('test_b1_s2') { agent{label 'b1'} steps { - timeout(time: 45, unit: 'MINUTES'){ + timeout(time: 90, unit: 'MINUTES'){ pre_test() sh ''' cd ${WKC}/tests @@ -262,8 +244,8 @@ pipeline { success { emailext ( - subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS", - body: """ + subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", + body: ''' @@ -279,29 +261,29 @@ pipeline {
    -
  • 构建名称>>分支:${env.BRANCH_NAME}
  • +
  • 构建名称>>分支:${PROJECT_NAME}
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • -
  • 触发用户:${env.CHANGE_AUTHOR}
  • +
  • 触发用户:${CAUSE}
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • - +
  • 变更集:${JELLY_SCRIPT}
- """, + ''', to: "${env.CHANGE_AUTHOR_EMAIL}", from: "support@taosdata.com" ) } failure { emailext ( - subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' FAIL", - body: """ + subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", + body: ''' @@ -317,21 +299,21 @@ pipeline {
    -
  • 构建名称>>分支:${env.BRANCH_NAME}
  • +
  • 构建名称>>分支:${PROJECT_NAME}
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • -
  • 触发用户:${env.CHANGE_AUTHOR}
  • +
  • 触发用户:${CAUSE}
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • - +
  • 变更集:${JELLY_SCRIPT}
- """, + ''', to: "${env.CHANGE_AUTHOR_EMAIL}", from: "support@taosdata.com" ) From 2207ca006b5c9cbdf3bb31dd8ea6503a244873b9 Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 11:07:37 +0800 Subject: [PATCH 06/14] cancel build excluded regions stategy --- Jenkinsfile | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 536cbe73a2..59dcb35bac 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -63,6 +63,7 @@ def pre_test(){ ''' return 1 } +def kipstage=0 pipeline { agent none @@ -75,9 +76,27 @@ pipeline { stage('Parallel test stage') { + stage('pre_build'){ + agent{label 'master'} + steps { + sh''' + cd ${WORKSPACE} + git checkout develop + git pull + git fetch origin +refs/pull/${CHANGE_ID}/merge + git checkout -qf FETCH_HEAD + ''' + script{ + skipstage=sh(script:"git --no-pager diff --name-only FETCH_HEAD develop|grep -v -E '.*md|//src//connector|Jenkinsfile|test-all.sh' || echo 1 ",returnStdout:true) + } + } + } //only build pr when { changeRequest() + expression { + skipstage == 0 + } } parallel { stage('python_1_s1') { @@ -127,7 +146,7 @@ pipeline { stage('test_b1_s2') { agent{label 'b1'} steps { - timeout(time: 90, unit: 'MINUTES'){ + timeout(time: 45, unit: 'MINUTES'){ pre_test() sh ''' cd ${WKC}/tests @@ -244,8 +263,8 @@ pipeline { success { emailext ( - subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", - body: ''' + subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS", + body: """ @@ -261,29 +280,29 @@ pipeline {
    -
  • 构建名称>>分支:${PROJECT_NAME}
  • +
  • 构建名称>>分支:${env.BRANCH_NAME}
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • -
  • 触发用户:${CAUSE}
  • +
  • 触发用户:${env.CHANGE_AUTHOR}
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • -
  • 变更集:${JELLY_SCRIPT}
  • +
- ''', + """, to: "${env.CHANGE_AUTHOR_EMAIL}", from: "support@taosdata.com" ) } failure { emailext ( - subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", - body: ''' + subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' FAIL", + body: """ @@ -299,21 +318,21 @@ pipeline {
    -
  • 构建名称>>分支:${PROJECT_NAME}
  • +
  • 构建名称>>分支:${env.BRANCH_NAME}
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • -
  • 触发用户:${CAUSE}
  • +
  • 触发用户:${env.CHANGE_AUTHOR}
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • -
  • 变更集:${JELLY_SCRIPT}
  • +
- ''', + """, to: "${env.CHANGE_AUTHOR_EMAIL}", from: "support@taosdata.com" ) From aee811d65bf34ceb2cf40f8ad00eaf4ceb97c36d Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 11:28:24 +0800 Subject: [PATCH 07/14] change --- Jenkinsfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 59dcb35bac..4165f297ed 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -260,7 +260,6 @@ pipeline { } } post { - success { emailext ( subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS", From e61df9d8a0179f3e48340599e544a3c42ea8338f Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 11:32:50 +0800 Subject: [PATCH 08/14] cancel build excluded regions stategy --- Jenkinsfile | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9dab0d66be..4165f297ed 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -76,9 +76,27 @@ pipeline { stage('Parallel test stage') { + stage('pre_build'){ + agent{label 'master'} + steps { + sh''' + cd ${WORKSPACE} + git checkout develop + git pull + git fetch origin +refs/pull/${CHANGE_ID}/merge + git checkout -qf FETCH_HEAD + ''' + script{ + skipstage=sh(script:"git --no-pager diff --name-only FETCH_HEAD develop|grep -v -E '.*md|//src//connector|Jenkinsfile|test-all.sh' || echo 1 ",returnStdout:true) + } + } + } //only build pr when { changeRequest() + expression { + skipstage == 0 + } } parallel { stage('python_1_s1') { @@ -128,7 +146,7 @@ pipeline { stage('test_b1_s2') { agent{label 'b1'} steps { - timeout(time: 90, unit: 'MINUTES'){ + timeout(time: 45, unit: 'MINUTES'){ pre_test() sh ''' cd ${WKC}/tests @@ -265,7 +283,7 @@ pipeline {
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • 触发用户:${env.CHANGE_AUTHOR}
  • -
  • 提交信息:${env.CHANGE_TITLE}
  • +
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • @@ -303,7 +321,7 @@ pipeline {
  • 构建结果: Successful
  • 构建编号:${BUILD_NUMBER}
  • 触发用户:${env.CHANGE_AUTHOR}
  • -
  • 提交信息:${env.CHANGE_TITLE}
  • +
  • 提交信息:${CHANGE_TITLE}
  • 构建地址:${BUILD_URL}
  • 构建日志:${BUILD_URL}console
  • From 1fc7765dff6fbdf80e683e8f852b7b05835ad90c Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 11:37:17 +0800 Subject: [PATCH 09/14] change --- Jenkinsfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4165f297ed..2947c398c2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -73,10 +73,7 @@ pipeline { } stages { - - - stage('Parallel test stage') { - stage('pre_build'){ + stage('pre_build'){ agent{label 'master'} steps { sh''' @@ -91,6 +88,9 @@ pipeline { } } } + + stage('Parallel test stage') { + //only build pr when { changeRequest() From 70b9a07ea350d386527787b41581b13705f95e74 Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 11:52:29 +0800 Subject: [PATCH 10/14] fix error --- Jenkinsfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2947c398c2..52784020f2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,13 +37,13 @@ def pre_test(){ sudo rmtaos ''' } - sh ''' + sh """ cd ${WKC} git checkout develop git reset --hard HEAD~10 >/dev/null git pull - git fetch origin +refs/pull/${CHANGE_ID}/merge + git fetch origin +refs/pull/${env.CHANGE_ID}/merge git checkout -qf FETCH_HEAD git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD develop)|grep -v -E '.*md|//src//connector|Jenkinsfile' || exit 0 cd ${WK} @@ -60,7 +60,7 @@ def pre_test(){ make > /dev/null make install > /dev/null cd ${WKC}/tests - ''' + """ return 1 } def kipstage=0 @@ -76,13 +76,13 @@ pipeline { stage('pre_build'){ agent{label 'master'} steps { - sh''' + sh""" cd ${WORKSPACE} git checkout develop git pull - git fetch origin +refs/pull/${CHANGE_ID}/merge + git fetch origin +refs/pull/${env.CHANGE_ID}/merge git checkout -qf FETCH_HEAD - ''' + """ script{ skipstage=sh(script:"git --no-pager diff --name-only FETCH_HEAD develop|grep -v -E '.*md|//src//connector|Jenkinsfile|test-all.sh' || echo 1 ",returnStdout:true) } From b2953230c64806057dd49e2e369a5b9ea5c1ed96 Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 13:56:34 +0800 Subject: [PATCH 11/14] fix error --- Jenkinsfile | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 52784020f2..9d5a2928c2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ node { git url: 'https://github.com/taosdata/TDengine.git' } - +def kipstage=0 def abortPreviousBuilds() { def currentJobName = env.JOB_NAME def currentBuildNumber = env.BUILD_NUMBER.toInteger() @@ -37,13 +37,13 @@ def pre_test(){ sudo rmtaos ''' } - sh """ + sh ''' cd ${WKC} git checkout develop git reset --hard HEAD~10 >/dev/null git pull - git fetch origin +refs/pull/${env.CHANGE_ID}/merge + git fetch origin +refs/pull/${CHANGE_ID}/merge git checkout -qf FETCH_HEAD git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD develop)|grep -v -E '.*md|//src//connector|Jenkinsfile' || exit 0 cd ${WK} @@ -60,10 +60,10 @@ def pre_test(){ make > /dev/null make install > /dev/null cd ${WKC}/tests - """ + ''' return 1 } -def kipstage=0 + pipeline { agent none @@ -75,14 +75,17 @@ pipeline { stages { stage('pre_build'){ agent{label 'master'} + when { + changeRequest() + } steps { - sh""" + sh''' cd ${WORKSPACE} git checkout develop git pull - git fetch origin +refs/pull/${env.CHANGE_ID}/merge + git fetch origin +refs/pull/${CHANGE_ID}/merge git checkout -qf FETCH_HEAD - """ + ''' script{ skipstage=sh(script:"git --no-pager diff --name-only FETCH_HEAD develop|grep -v -E '.*md|//src//connector|Jenkinsfile|test-all.sh' || echo 1 ",returnStdout:true) } @@ -259,7 +262,7 @@ pipeline { } } } - post { + post { success { emailext ( subject: "PR-result: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' SUCCESS", @@ -318,7 +321,7 @@ pipeline {
    • 构建名称>>分支:${env.BRANCH_NAME}
    • -
    • 构建结果: Successful
    • +
    • 构建结果: Failure
    • 构建编号:${BUILD_NUMBER}
    • 触发用户:${env.CHANGE_AUTHOR}
    • 提交信息:${CHANGE_TITLE}
    • From 5a8382da3588e975a39d2223b467d9e77a9a4f53 Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 14:12:04 +0800 Subject: [PATCH 12/14] fix --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9d5a2928c2..7028308b34 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -286,7 +286,7 @@ pipeline {
    • 构建结果: Successful
    • 构建编号:${BUILD_NUMBER}
    • 触发用户:${env.CHANGE_AUTHOR}
    • -
    • 提交信息:${CHANGE_TITLE}
    • +
    • 提交信息:${env.CHANGE_TITLE}
    • 构建地址:${BUILD_URL}
    • 构建日志:${BUILD_URL}console
    • @@ -324,7 +324,7 @@ pipeline {
    • 构建结果: Failure
    • 构建编号:${BUILD_NUMBER}
    • 触发用户:${env.CHANGE_AUTHOR}
    • -
    • 提交信息:${CHANGE_TITLE}
    • +
    • 提交信息:${env.CHANGE_TITLE}
    • 构建地址:${BUILD_URL}
    • 构建日志:${BUILD_URL}console
    • From d24295b779c076dd90c212c052430aaea2fff5d3 Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Fri, 5 Feb 2021 15:15:15 +0800 Subject: [PATCH 13/14] fix --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7028308b34..6b3d9e5151 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -98,7 +98,7 @@ pipeline { when { changeRequest() expression { - skipstage == 0 + skipstage != 1 } } parallel { From 3e78374249de401b6bd44e41b4d5002740e23207 Mon Sep 17 00:00:00 2001 From: Elias Soong Date: Fri, 5 Feb 2021 18:02:58 +0800 Subject: [PATCH 14/14] [TD-2639] : fix typo in example of alter table tags. --- documentation20/webdocs/markdowndocs/TAOS SQL-ch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md index c44a8f635b..75c3fb897e 100644 --- a/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md +++ b/documentation20/webdocs/markdowndocs/TAOS SQL-ch.md @@ -290,7 +290,7 @@ TDengine缺省的时间戳是毫秒精度,但通过修改配置参数enableMic - **修改子表标签值** ```mysql - ALTER STABLE tb_name SET TAG tag_name=new_tag_value; + ALTER TABLE tb_name SET TAG tag_name=new_tag_value; ``` 说明:除了更新标签的值的操作是针对子表进行,其他所有的标签操作(添加标签、删除标签等)均只能作用于 STable,不能对单个子表操作。对 STable 添加标签以后,依托于该 STable 建立的所有表将自动增加了一个标签,所有新增标签的默认值都是 NULL。