diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index b785f741db198350423c32224e7dd9e55f8af42b..7f6fb4eb9aa494cc71f652c03ff1a1de67789a48 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -42,6 +42,11 @@ static void tscCheckpSql(SSqlObj* pSql) { assert(parent->metaSubPtr == pSql && parent->self == pSql->parentRid && parent->metaSubRid == pSql->self); } +static void tscCheckpSql2(SSqlObj* pSql, SSqlObj* parent) { + assert(parent->metaSubPtr == pSql && parent->self == pSql->parentRid && parent->metaSubRid == pSql->self); +} + + static int32_t minMsgSize() { return tsRpcHeadSize + 100; } static int32_t getWaitingTimeInterval(int32_t count) { int32_t initial = 100; // 100 ms by default diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c index 00689918250245a9e8b73553add0f8b03b1cfb6d..ee744962557140fe4379f11fdea1a386bcbda72d 100644 --- a/src/client/src/tscSubquery.c +++ b/src/client/src/tscSubquery.c @@ -1336,6 +1336,8 @@ void tscJoinQueryCallback(void* param, TAOS_RES* tres, int code) { SJoinSupporter* pSupporter = (SJoinSupporter*)param; SSqlObj* pParentSql = pSupporter->pObj; + tscCheckpSql2(pSql, pParentSql); + // There is only one subquery and table for each subquery. SQueryInfo* pQueryInfo = tscGetQueryInfoDetail(&pSql->cmd, 0); assert(pQueryInfo->numOfTables == 1 && pSql->cmd.numOfClause == 1); diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index b2ac5deb155e3d97692c69beccaac246bb7850e2..85401f826e223381e813bf3cf3ba75306303a803 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -1997,6 +1997,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, void (*fp)(), void pNew->pTscObj = pSql->pTscObj; pNew->signature = pNew; pNew->sqlstr = strdup(pSql->sqlstr); + pNew->parentRid = pSql->self; SSqlCmd* pnCmd = &pNew->cmd; memcpy(pnCmd, pCmd, sizeof(SSqlCmd)); @@ -2145,6 +2146,10 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, void (*fp)(), void } registerSqlObj(pNew); + + pSql->metaSubRid = pNew->self; + pSql->metaSubPtr = pNew; + return pNew; _error: