parent
9ce1e8ccf4
commit
788b521592
|
@ -1484,25 +1484,18 @@ static int32_t setSelectValueColumnInfo(SqlFunctionCtx* pCtx, int32_t numOfOutpu
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
SHashObj *pSelectFuncs = taosHashInit(8, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_ENTRY_LOCK);
|
int32_t numOfSelectFunc = 0;
|
||||||
for (int32_t i = 0; i < numOfOutput; ++i) {
|
for (int32_t i = 0; i < numOfOutput; ++i) {
|
||||||
const char* pName = pCtx[i].pExpr->pExpr->_function.functionName;
|
const char* pName = pCtx[i].pExpr->pExpr->_function.functionName;
|
||||||
if ((strcmp(pName, "_select_value") == 0) || (strcmp(pName, "_group_key") == 0)) {
|
if ((strcmp(pName, "_select_value") == 0) || (strcmp(pName, "_group_key") == 0)) {
|
||||||
pValCtx[num++] = &pCtx[i];
|
pValCtx[num++] = &pCtx[i];
|
||||||
} else if (fmIsSelectFunc(pCtx[i].functionId)) {
|
} else if (fmIsSelectFunc(pCtx[i].functionId)) {
|
||||||
void* data = taosHashGet(pSelectFuncs, &pName, strlen(pName));
|
p = &pCtx[i];
|
||||||
if (taosHashGetSize(pSelectFuncs) != 0 && data == NULL) {
|
numOfSelectFunc++;
|
||||||
p = NULL;
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
taosHashPut(pSelectFuncs, pName, strlen(pName), &num, sizeof(num));
|
|
||||||
p = &pCtx[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
taosHashCleanup(pSelectFuncs);
|
|
||||||
|
|
||||||
if (p != NULL) {
|
if (p != NULL && numOfSelectFunc == 1) {
|
||||||
p->subsidiaries.pCtx = pValCtx;
|
p->subsidiaries.pCtx = pValCtx;
|
||||||
p->subsidiaries.num = num;
|
p->subsidiaries.num = num;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue