diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index f7a223626261d645687b32878f9f3c7b1fc72425..fc1ed1a177d7d65f484744f6a53dc228ff20dcc5 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -721,6 +721,8 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) { pQueryMsg->numOfTags = htonl(numOfTags); pQueryMsg->queryType = htonl(pQueryInfo->type); pQueryMsg->vgroupLimit = htobe64(pQueryInfo->vgroupLimit); + + strcpy(pQueryMsg->sqlstr, pSql->sqlstr); size_t numOfOutput = tscSqlExprNumOfExprs(pQueryInfo); pQueryMsg->numOfOutput = htons((int16_t)numOfOutput); // this is the stage one output column number diff --git a/src/inc/taosmsg.h b/src/inc/taosmsg.h index 200fe2b0f97869ba5b73881188493718181bb82d..c48ebfe852ee7a93d9e2dc126100a56ad99aebd7 100644 --- a/src/inc/taosmsg.h +++ b/src/inc/taosmsg.h @@ -494,6 +494,7 @@ typedef struct { int32_t tsNumOfBlocks; // ts comp block numbers int32_t tsOrder; // ts comp block order int32_t numOfTags; // number of tags columns involved + char sqlstr[256]; SColumnInfo colList[]; } SQueryTableMsg; diff --git a/src/query/inc/qExecutor.h b/src/query/inc/qExecutor.h index 201b3b2abc5df629135cb3daac61b55e2e64cd21..59c800d5532e2e71b1ea53544d050a904d5f648b 100644 --- a/src/query/inc/qExecutor.h +++ b/src/query/inc/qExecutor.h @@ -172,6 +172,7 @@ typedef struct SQuery { SOrderedPrjQueryInfo prjInfo; // limit value for each vgroup, only available in global order projection query. SSingleColumnFilterInfo* pFilterInfo; + char sqlstr[256]; } SQuery; typedef struct SQueryRuntimeEnv { diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index 7fb366160cece0e9a6fcd40a2b9634e2f7466a5c..eca4d55e7829f8e135b5cd59d60903bdb1526cc6 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -6837,6 +6837,8 @@ static int32_t initQInfo(SQueryTableMsg *pQueryMsg, void *tsdb, int32_t vgId, SQ int32_t code = TSDB_CODE_SUCCESS; SQuery *pQuery = pQInfo->runtimeEnv.pQuery; + strcpy(pQuery->sqlstr, pQueryMsg->sqlstr); + STSBuf *pTSBuf = NULL; if (pQueryMsg->tsLen > 0) { // open new file to save the result char *tsBlock = (char *) pQueryMsg + pQueryMsg->tsOffset;