[TD-5618]<fix> fix distinct(tbname) error
This commit is contained in:
parent
27b7eeccf5
commit
86a6a87666
|
@ -6661,19 +6661,20 @@ static SSDataBlock* hashDistinct(void* param, bool* newgroup) {
|
||||||
if (isNull(val, type)) {
|
if (isNull(val, type)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
char* p = val;
|
||||||
size_t keyLen = 0;
|
size_t keyLen = 0;
|
||||||
if (IS_VAR_DATA_TYPE(pOperator->pExpr->base.colType)) {
|
if (IS_VAR_DATA_TYPE(pOperator->pExpr->base.colType)) {
|
||||||
tstr* var = (tstr*)(val);
|
tstr* var = (tstr*)(val);
|
||||||
|
p = var->data;
|
||||||
keyLen = varDataLen(var);
|
keyLen = varDataLen(var);
|
||||||
} else {
|
} else {
|
||||||
keyLen = bytes;
|
keyLen = bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dummy;
|
int dummy;
|
||||||
void* res = taosHashGet(pInfo->pSet, val, keyLen);
|
void* res = taosHashGet(pInfo->pSet, p, keyLen);
|
||||||
if (res == NULL) {
|
if (res == NULL) {
|
||||||
taosHashPut(pInfo->pSet, val, keyLen, &dummy, sizeof(dummy));
|
taosHashPut(pInfo->pSet, p, keyLen, &dummy, sizeof(dummy));
|
||||||
char* start = pResultColInfoData->pData + bytes * pInfo->pRes->info.rows;
|
char* start = pResultColInfoData->pData + bytes * pInfo->pRes->info.rows;
|
||||||
memcpy(start, val, bytes);
|
memcpy(start, val, bytes);
|
||||||
pRes->info.rows += 1;
|
pRes->info.rows += 1;
|
||||||
|
|
Loading…
Reference in New Issue