more code
This commit is contained in:
parent
08bf69e15a
commit
37239ffaea
|
@ -93,6 +93,7 @@ int32_t tRowMergeSort(SArray *aRowP, STSchema *pTSchema, int8_t flag);
|
|||
int32_t tRowIterOpen(SRow *pRow, STSchema *pTSchema, SRowIter **ppIter);
|
||||
void tRowIterClose(SRowIter **ppIter);
|
||||
SColVal *tRowIterNext(SRowIter *pIter);
|
||||
int32_t tRowAppendToColData(SRow *pRow, STSchema *pTSchema, SArray *aColData, int32_t nColData);
|
||||
|
||||
// STag ================================
|
||||
int32_t tTagNew(SArray *pArray, int32_t version, int8_t isJson, STag **ppTag);
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#include "tdatablock.h"
|
||||
#include "tlog.h"
|
||||
|
||||
static int32_t (*tColDataAppendValueImpl[8][3])(SColData *pColData, uint8_t *pData, uint32_t nData);
|
||||
|
||||
// SBuffer ================================
|
||||
void tBufferDestroy(SBuffer *pBuffer) {
|
||||
tFree(pBuffer->pBuf);
|
||||
|
@ -839,7 +841,96 @@ _exit:
|
|||
return &pIter->cv;
|
||||
}
|
||||
|
||||
// STSchema ========================================
|
||||
static int32_t tRowAppendNoneToColData(SArray *aColData, int32_t nColData) {
|
||||
int32_t code = 0;
|
||||
|
||||
for (int32_t iColData = 0; iColData < nColData; iColData++) {
|
||||
SColData *pColData = taosArrayGet(aColData, iColData);
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NONE](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
}
|
||||
|
||||
_exit:
|
||||
return code;
|
||||
}
|
||||
static int32_t tRowAppendNullToColData(SArray *aColData, int32_t nColData, STSchema *pSchema) {
|
||||
int32_t code = 0;
|
||||
|
||||
int32_t iColData = 0;
|
||||
SColData *pColData = taosArrayGet(aColData, iColData);
|
||||
int32_t iTColumn = 1;
|
||||
STColumn *pTColumn = &pSchema->columns[iTColumn];
|
||||
|
||||
while (pColData) {
|
||||
if (pTColumn) {
|
||||
if (pTColumn->colId == pColData->cid) { // NULL
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NULL](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
pColData = (++iColData < nColData) ? taosArrayGet(aColData, iColData) : NULL;
|
||||
pTColumn = (++iTColumn < pSchema->numOfCols) ? &pSchema->columns[iTColumn] : NULL;
|
||||
} else if (pTColumn->colId > pColData->cid) { // NONE
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NONE](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
pColData = (++iColData < nColData) ? taosArrayGet(aColData, iColData) : NULL;
|
||||
} else {
|
||||
pTColumn = (++iTColumn < pSchema->numOfCols) ? &pSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
} else {
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NONE](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
|
||||
pColData = (++iColData < nColData) ? taosArrayGet(aColData, iColData) : NULL;
|
||||
}
|
||||
}
|
||||
|
||||
_exit:
|
||||
return code;
|
||||
}
|
||||
int32_t tRowAppendToColData(SRow *pRow, STSchema *pTSchema, SArray *aColData, int32_t nColData) {
|
||||
ASSERT(pRow->sver == pTSchema->version);
|
||||
ASSERT(nColData > 0);
|
||||
|
||||
int32_t code = 0;
|
||||
|
||||
if (pRow->flag == HAS_NONE) {
|
||||
code = tRowAppendNoneToColData(aColData, nColData);
|
||||
goto _exit;
|
||||
} else if (pRow->flag == HAS_NULL) {
|
||||
code = tRowAppendNullToColData(aColData, nColData, pTSchema);
|
||||
goto _exit;
|
||||
}
|
||||
|
||||
if (pRow->flag >> 4) { // KV row
|
||||
// todo
|
||||
} else { // Tuple row
|
||||
int32_t iColData = 0;
|
||||
SColData *pColData = taosArrayGet(aColData, iColData);
|
||||
int32_t iTColumn = 1;
|
||||
STColumn *pTColumn = &pTSchema->columns[iTColumn];
|
||||
|
||||
while (pColData) {
|
||||
if (pTColumn) {
|
||||
if (pTColumn->colId == pColData->cid) {
|
||||
} else if (pTColumn->colId > pColData->cid) { // NONE
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NONE](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
|
||||
pColData = (++iColData < nColData) ? taosArrayGet(aColData, iColData) : NULL;
|
||||
} else {
|
||||
pTColumn = (++iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
} else {
|
||||
code = tColDataAppendValueImpl[pColData->flag][CV_FLAG_NONE](pColData, NULL, 0);
|
||||
if (code) goto _exit;
|
||||
|
||||
pColData = (++iColData < nColData) ? taosArrayGet(aColData, iColData) : NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_exit:
|
||||
return code;
|
||||
}
|
||||
|
||||
// STag ========================================
|
||||
static int tTagValCmprFn(const void *p1, const void *p2) {
|
||||
|
@ -1217,6 +1308,7 @@ void tTagSetCid(const STag *pTag, int16_t iTag, int16_t cid) {
|
|||
tPutI16v(p + offset, cid);
|
||||
}
|
||||
|
||||
// STSchema ========================================
|
||||
STSchema *tBuildTSchema(SSchema *aSchema, int32_t numOfCols, int32_t version) {
|
||||
STSchema *pTSchema = taosMemoryCalloc(1, sizeof(STSchema) + sizeof(STColumn) * numOfCols);
|
||||
if (pTSchema == NULL) return NULL;
|
||||
|
@ -1305,7 +1397,11 @@ static FORCE_INLINE int32_t tColDataPutValue(SColData *pColData, uint8_t *pData,
|
|||
ASSERT(pColData->nData == tDataTypes[pColData->type].bytes * pColData->nVal);
|
||||
code = tRealloc(&pColData->pData, pColData->nData + tDataTypes[pColData->type].bytes);
|
||||
if (code) goto _exit;
|
||||
memcpy(pColData->pData + pColData->nData, pData, tDataTypes[pColData->type].bytes);
|
||||
if (pData) {
|
||||
memcpy(pColData->pData + pColData->nData, pData, TYPE_BYTES[pColData->type]);
|
||||
} else {
|
||||
memset(pColData->pData + pColData->nData, 0, TYPE_BYTES[pColData->type]);
|
||||
}
|
||||
pColData->nData += tDataTypes[pColData->type].bytes;
|
||||
}
|
||||
pColData->nVal++;
|
||||
|
@ -1489,7 +1585,7 @@ static FORCE_INLINE int32_t tColDataAppendValue41(SColData *pColData, uint8_t *p
|
|||
memset(pColData->pBitMap, 255, nBit);
|
||||
SET_BIT1(pColData->pBitMap, pColData->nVal, 0);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue42(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1503,7 +1599,7 @@ static FORCE_INLINE int32_t tColDataAppendValue42(SColData *pColData, uint8_t *p
|
|||
memset(pColData->pBitMap, 255, nBit);
|
||||
SET_BIT1(pColData->pBitMap, pColData->nVal, 0);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue50(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1523,7 +1619,7 @@ static FORCE_INLINE int32_t tColDataAppendValue51(SColData *pColData, uint8_t *p
|
|||
|
||||
SET_BIT1(pColData->pBitMap, pColData->nVal, 0);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue52(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1542,7 +1638,7 @@ static FORCE_INLINE int32_t tColDataAppendValue52(SColData *pColData, uint8_t *p
|
|||
tFree(pColData->pBitMap);
|
||||
pColData->pBitMap = pBitMap;
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue60(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1570,7 +1666,7 @@ static FORCE_INLINE int32_t tColDataAppendValue61(SColData *pColData, uint8_t *p
|
|||
tFree(pColData->pBitMap);
|
||||
pColData->pBitMap = pBitMap;
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue62(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1579,7 +1675,7 @@ static FORCE_INLINE int32_t tColDataAppendValue62(SColData *pColData, uint8_t *p
|
|||
if (code) return code;
|
||||
SET_BIT1(pColData->pBitMap, pColData->nVal, 0);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue70(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1597,7 +1693,7 @@ static FORCE_INLINE int32_t tColDataAppendValue71(SColData *pColData, uint8_t *p
|
|||
if (code) return code;
|
||||
SET_BIT2(pColData->pBitMap, pColData->nVal, 0);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static FORCE_INLINE int32_t tColDataAppendValue72(SColData *pColData, uint8_t *pData, uint32_t nData) {
|
||||
int32_t code = 0;
|
||||
|
@ -1606,7 +1702,7 @@ static FORCE_INLINE int32_t tColDataAppendValue72(SColData *pColData, uint8_t *p
|
|||
if (code) return code;
|
||||
SET_BIT2(pColData->pBitMap, pColData->nVal, 1);
|
||||
|
||||
return tColDataPutValue(pColData, pData, nData);
|
||||
return tColDataPutValue(pColData, NULL, 0);
|
||||
}
|
||||
static int32_t (*tColDataAppendValueImpl[8][3])(SColData *pColData, uint8_t *pData, uint32_t nData) = {
|
||||
{tColDataAppendValue00, tColDataAppendValue01, tColDataAppendValue02}, // 0
|
||||
|
|
|
@ -1073,152 +1073,152 @@ _exit:
|
|||
return code;
|
||||
}
|
||||
|
||||
static int32_t tBlockDataAppendTPRow(SBlockData *pBlockData, STSRow *pRow, STSchema *pTSchema) {
|
||||
int32_t code = 0;
|
||||
// static int32_t tBlockDataAppendTPRow(SBlockData *pBlockData, STSRow *pRow, STSchema *pTSchema) {
|
||||
// int32_t code = 0;
|
||||
|
||||
int32_t iTColumn = 1;
|
||||
STColumn *pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
void *pBitmap = pRow->statis ? tdGetBitmapAddrTp(pRow, pTSchema->flen) : NULL;
|
||||
// int32_t iTColumn = 1;
|
||||
// STColumn *pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// void *pBitmap = pRow->statis ? tdGetBitmapAddrTp(pRow, pTSchema->flen) : NULL;
|
||||
|
||||
for (int32_t iColData = 0; iColData < pBlockData->nColData; iColData++) {
|
||||
SColData *pColData = &((SColData *)pBlockData->aColData->pData)[iColData];
|
||||
// for (int32_t iColData = 0; iColData < pBlockData->nColData; iColData++) {
|
||||
// SColData *pColData = &((SColData *)pBlockData->aColData->pData)[iColData];
|
||||
|
||||
while (pTColumn && pTColumn->colId < pColData->cid) {
|
||||
iTColumn++;
|
||||
pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
// while (pTColumn && pTColumn->colId < pColData->cid) {
|
||||
// iTColumn++;
|
||||
// pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// }
|
||||
|
||||
if (pTColumn == NULL || pTColumn->colId > pColData->cid) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else {
|
||||
ASSERT(pTColumn->type == pColData->type);
|
||||
// if (pTColumn == NULL || pTColumn->colId > pColData->cid) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else {
|
||||
// ASSERT(pTColumn->type == pColData->type);
|
||||
|
||||
SColVal cv = {.cid = pTColumn->colId, .type = pTColumn->type};
|
||||
// SColVal cv = {.cid = pTColumn->colId, .type = pTColumn->type};
|
||||
|
||||
if (pRow->statis) {
|
||||
TDRowValT vt = TD_VTYPE_MAX;
|
||||
tdGetBitmapValTypeII(pBitmap, iTColumn - 1, &vt);
|
||||
// if (pRow->statis) {
|
||||
// TDRowValT vt = TD_VTYPE_MAX;
|
||||
// tdGetBitmapValTypeII(pBitmap, iTColumn - 1, &vt);
|
||||
|
||||
if (vt == TD_VTYPE_NORM) {
|
||||
cv.flag = CV_FLAG_VALUE;
|
||||
// if (vt == TD_VTYPE_NORM) {
|
||||
// cv.flag = CV_FLAG_VALUE;
|
||||
|
||||
if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
void *pData = (char *)pRow + *(int32_t *)(pRow->data + pTColumn->offset);
|
||||
cv.value.nData = varDataLen(pData);
|
||||
cv.value.pData = varDataVal(pData);
|
||||
} else {
|
||||
memcpy(&cv.value.val, pRow->data + pTColumn->offset, pTColumn->bytes);
|
||||
}
|
||||
// if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
// void *pData = (char *)pRow + *(int32_t *)(pRow->data + pTColumn->offset);
|
||||
// cv.value.nData = varDataLen(pData);
|
||||
// cv.value.pData = varDataVal(pData);
|
||||
// } else {
|
||||
// memcpy(&cv.value.val, pRow->data + pTColumn->offset, pTColumn->bytes);
|
||||
// }
|
||||
|
||||
code = tColDataAppendValue(pColData, &cv);
|
||||
if (code) goto _exit;
|
||||
} else if (vt == TD_VTYPE_NONE) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else if (vt == TD_VTYPE_NULL) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NULL(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else {
|
||||
ASSERT(0);
|
||||
}
|
||||
} else {
|
||||
cv.flag = CV_FLAG_VALUE;
|
||||
// code = tColDataAppendValue(pColData, &cv);
|
||||
// if (code) goto _exit;
|
||||
// } else if (vt == TD_VTYPE_NONE) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else if (vt == TD_VTYPE_NULL) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NULL(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else {
|
||||
// ASSERT(0);
|
||||
// }
|
||||
// } else {
|
||||
// cv.flag = CV_FLAG_VALUE;
|
||||
|
||||
if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
void *pData = (char *)pRow + *(int32_t *)(pRow->data + pTColumn->offset);
|
||||
cv.value.nData = varDataLen(pData);
|
||||
cv.value.pData = varDataVal(pData);
|
||||
} else {
|
||||
memcpy(&cv.value.val, pRow->data + pTColumn->offset, pTColumn->bytes);
|
||||
}
|
||||
// if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
// void *pData = (char *)pRow + *(int32_t *)(pRow->data + pTColumn->offset);
|
||||
// cv.value.nData = varDataLen(pData);
|
||||
// cv.value.pData = varDataVal(pData);
|
||||
// } else {
|
||||
// memcpy(&cv.value.val, pRow->data + pTColumn->offset, pTColumn->bytes);
|
||||
// }
|
||||
|
||||
code = tColDataAppendValue(pColData, &cv);
|
||||
if (code) goto _exit;
|
||||
}
|
||||
// code = tColDataAppendValue(pColData, &cv);
|
||||
// if (code) goto _exit;
|
||||
// }
|
||||
|
||||
iTColumn++;
|
||||
pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
}
|
||||
// iTColumn++;
|
||||
// pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// }
|
||||
// }
|
||||
|
||||
_exit:
|
||||
return code;
|
||||
}
|
||||
// _exit:
|
||||
// return code;
|
||||
// }
|
||||
|
||||
static int32_t tBlockDataAppendKVRow(SBlockData *pBlockData, STSRow *pRow, STSchema *pTSchema) {
|
||||
int32_t code = 0;
|
||||
// static int32_t tBlockDataAppendKVRow(SBlockData *pBlockData, STSRow *pRow, STSchema *pTSchema) {
|
||||
// int32_t code = 0;
|
||||
|
||||
col_id_t kvIter = 0;
|
||||
col_id_t nKvCols = tdRowGetNCols(pRow) - 1;
|
||||
void *pColIdx = TD_ROW_COL_IDX(pRow);
|
||||
void *pBitmap = tdGetBitmapAddrKv(pRow, tdRowGetNCols(pRow));
|
||||
int32_t iTColumn = 1;
|
||||
STColumn *pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// col_id_t kvIter = 0;
|
||||
// col_id_t nKvCols = tdRowGetNCols(pRow) - 1;
|
||||
// void *pColIdx = TD_ROW_COL_IDX(pRow);
|
||||
// void *pBitmap = tdGetBitmapAddrKv(pRow, tdRowGetNCols(pRow));
|
||||
// int32_t iTColumn = 1;
|
||||
// STColumn *pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
|
||||
for (int32_t iColData = 0; iColData < pBlockData->nColData; iColData++) {
|
||||
SColData *pColData = &((SColData *)pBlockData->aColData->pData)[iColData];
|
||||
// for (int32_t iColData = 0; iColData < pBlockData->nColData; iColData++) {
|
||||
// SColData *pColData = &((SColData *)pBlockData->aColData->pData)[iColData];
|
||||
|
||||
while (pTColumn && pTColumn->colId < pColData->cid) {
|
||||
iTColumn++;
|
||||
pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
// while (pTColumn && pTColumn->colId < pColData->cid) {
|
||||
// iTColumn++;
|
||||
// pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// }
|
||||
|
||||
if (pTColumn == NULL || pTColumn->colId > pColData->cid) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else {
|
||||
ASSERT(pTColumn->type == pColData->type);
|
||||
// if (pTColumn == NULL || pTColumn->colId > pColData->cid) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else {
|
||||
// ASSERT(pTColumn->type == pColData->type);
|
||||
|
||||
SColVal cv = {.cid = pTColumn->colId, .type = pTColumn->type};
|
||||
TDRowValT vt = TD_VTYPE_NONE; // default is NONE
|
||||
SKvRowIdx *pKvIdx = NULL;
|
||||
// SColVal cv = {.cid = pTColumn->colId, .type = pTColumn->type};
|
||||
// TDRowValT vt = TD_VTYPE_NONE; // default is NONE
|
||||
// SKvRowIdx *pKvIdx = NULL;
|
||||
|
||||
while (kvIter < nKvCols) {
|
||||
pKvIdx = (SKvRowIdx *)POINTER_SHIFT(pColIdx, kvIter * sizeof(SKvRowIdx));
|
||||
if (pKvIdx->colId == pTColumn->colId) {
|
||||
tdGetBitmapValTypeII(pBitmap, kvIter, &vt);
|
||||
++kvIter;
|
||||
break;
|
||||
} else if (pKvIdx->colId > pTColumn->colId) {
|
||||
vt = TD_VTYPE_NONE;
|
||||
break;
|
||||
} else {
|
||||
++kvIter;
|
||||
}
|
||||
}
|
||||
// while (kvIter < nKvCols) {
|
||||
// pKvIdx = (SKvRowIdx *)POINTER_SHIFT(pColIdx, kvIter * sizeof(SKvRowIdx));
|
||||
// if (pKvIdx->colId == pTColumn->colId) {
|
||||
// tdGetBitmapValTypeII(pBitmap, kvIter, &vt);
|
||||
// ++kvIter;
|
||||
// break;
|
||||
// } else if (pKvIdx->colId > pTColumn->colId) {
|
||||
// vt = TD_VTYPE_NONE;
|
||||
// break;
|
||||
// } else {
|
||||
// ++kvIter;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (vt == TD_VTYPE_NORM) {
|
||||
cv.flag = CV_FLAG_VALUE;
|
||||
// if (vt == TD_VTYPE_NORM) {
|
||||
// cv.flag = CV_FLAG_VALUE;
|
||||
|
||||
void *pData = POINTER_SHIFT(pRow, pKvIdx->offset);
|
||||
if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
cv.value.nData = varDataLen(pData);
|
||||
cv.value.pData = varDataVal(pData);
|
||||
} else {
|
||||
memcpy(&cv.value.val, pData, pTColumn->bytes);
|
||||
}
|
||||
// void *pData = POINTER_SHIFT(pRow, pKvIdx->offset);
|
||||
// if (IS_VAR_DATA_TYPE(pTColumn->type)) {
|
||||
// cv.value.nData = varDataLen(pData);
|
||||
// cv.value.pData = varDataVal(pData);
|
||||
// } else {
|
||||
// memcpy(&cv.value.val, pData, pTColumn->bytes);
|
||||
// }
|
||||
|
||||
code = tColDataAppendValue(pColData, &cv);
|
||||
if (code) goto _exit;
|
||||
} else if (vt == TD_VTYPE_NONE) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else if (vt == TD_VTYPE_NULL) {
|
||||
code = tColDataAppendValue(pColData, &COL_VAL_NULL(pColData->cid, pColData->type));
|
||||
if (code) goto _exit;
|
||||
} else {
|
||||
ASSERT(0);
|
||||
}
|
||||
// code = tColDataAppendValue(pColData, &cv);
|
||||
// if (code) goto _exit;
|
||||
// } else if (vt == TD_VTYPE_NONE) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NONE(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else if (vt == TD_VTYPE_NULL) {
|
||||
// code = tColDataAppendValue(pColData, &COL_VAL_NULL(pColData->cid, pColData->type));
|
||||
// if (code) goto _exit;
|
||||
// } else {
|
||||
// ASSERT(0);
|
||||
// }
|
||||
|
||||
iTColumn++;
|
||||
pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
}
|
||||
}
|
||||
// iTColumn++;
|
||||
// pTColumn = (iTColumn < pTSchema->numOfCols) ? &pTSchema->columns[iTColumn] : NULL;
|
||||
// }
|
||||
// }
|
||||
|
||||
_exit:
|
||||
return code;
|
||||
}
|
||||
// _exit:
|
||||
// return code;
|
||||
// }
|
||||
|
||||
int32_t tBlockDataAppendRow(SBlockData *pBlockData, TSDBROW *pRow, STSchema *pTSchema, int64_t uid) {
|
||||
int32_t code = 0;
|
||||
|
@ -1243,16 +1243,8 @@ int32_t tBlockDataAppendRow(SBlockData *pBlockData, TSDBROW *pRow, STSchema *pTS
|
|||
|
||||
SColVal cv = {0};
|
||||
if (pRow->type == 0) {
|
||||
ASSERT(0);
|
||||
// if (TD_IS_TP_ROW(pRow->pTSRow)) {
|
||||
// code = tBlockDataAppendTPRow(pBlockData, pRow->pTSRow, pTSchema);
|
||||
// if (code) goto _err;
|
||||
// } else if (TD_IS_KV_ROW(pRow->pTSRow)) {
|
||||
// code = tBlockDataAppendKVRow(pBlockData, pRow->pTSRow, pTSchema);
|
||||
// if (code) goto _err;
|
||||
// } else {
|
||||
// ASSERT(0);
|
||||
// }
|
||||
code = tRowAppendToColData(pRow->pTSRow, pTSchema, pBlockData->aColData, pBlockData->nColData);
|
||||
if (code) goto _err;
|
||||
} else {
|
||||
code = tBlockDataAppendBlockRow(pBlockData, pRow->pBlockData, pRow->iRow);
|
||||
if (code) goto _err;
|
||||
|
|
Loading…
Reference in New Issue