opti: group by tag
This commit is contained in:
parent
38f0eccaad
commit
2743ac6193
|
@ -680,15 +680,24 @@ int32_t getColInfoResultForGroupby(void* metaHandle, SNodeList* group, STableLis
|
||||||
for(int j = 0; j < taosArrayGetSize(groupData); j++){
|
for(int j = 0; j < taosArrayGetSize(groupData); j++){
|
||||||
SColumnInfoData* pValue = (SColumnInfoData*)taosArrayGetP(groupData, j);
|
SColumnInfoData* pValue = (SColumnInfoData*)taosArrayGetP(groupData, j);
|
||||||
|
|
||||||
ASSERT(pValue->info.type != TSDB_DATA_TYPE_JSON);
|
if (colDataIsNull_s(pValue, i)) {
|
||||||
|
|
||||||
if (pValue->info.type == TSDB_DATA_TYPE_NULL || colDataIsNull_s(pValue, i)) {
|
|
||||||
isNull[j] = 1;
|
isNull[j] = 1;
|
||||||
continue;
|
|
||||||
} else {
|
} else {
|
||||||
isNull[j] = 0;
|
isNull[j] = 0;
|
||||||
char* data = colDataGetData(pValue, i);
|
char* data = colDataGetData(pValue, i);
|
||||||
if (IS_VAR_DATA_TYPE(pValue->info.type)) {
|
if (pValue->info.type == TSDB_DATA_TYPE_JSON) {
|
||||||
|
if (tTagIsJson(data)) {
|
||||||
|
code = TSDB_CODE_QRY_JSON_IN_GROUP_ERROR;
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(tTagIsJsonNull(data)){
|
||||||
|
isNull[j] = 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int32_t len = getJsonValueLen(data);
|
||||||
|
memcpy(pStart, data, len);
|
||||||
|
pStart += len;
|
||||||
|
} else if (IS_VAR_DATA_TYPE(pValue->info.type)) {
|
||||||
memcpy(pStart, data, varDataTLen(data));
|
memcpy(pStart, data, varDataTLen(data));
|
||||||
pStart += varDataTLen(data);
|
pStart += varDataTLen(data);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue