fix more
This commit is contained in:
parent
f2e26de8c5
commit
26f740f26b
|
@ -110,7 +110,8 @@ void tColDataDestroy(void *ph);
|
|||
void tColDataInit(SColData *pColData, int16_t cid, int8_t type, int8_t smaOn);
|
||||
void tColDataClear(SColData *pColData);
|
||||
int32_t tColDataAppendValue(SColData *pColData, SColVal *pColVal);
|
||||
void tColDataGetValue(SColData *pColData, int32_t iRow, SColVal *pColVal);
|
||||
void tColDataGetValue(SColData *pColData, int32_t iVal, SColVal *pColVal);
|
||||
uint8_t tColDataGetBitValue(SColData *pColData, int32_t iVal);
|
||||
int32_t tColDataCopy(SColData *pColDataSrc, SColData *pColDataDest);
|
||||
|
||||
// STRUCT ================================
|
||||
|
|
|
@ -1592,6 +1592,38 @@ void tColDataGetValue(SColData *pColData, int32_t iVal, SColVal *pColVal) {
|
|||
tColDataGetValueImpl[pColData->flag](pColData, iVal, pColVal);
|
||||
}
|
||||
|
||||
uint8_t tColDataGetBitValue(SColData *pColData, int32_t iVal) {
|
||||
uint8_t v;
|
||||
switch (pColData->flag) {
|
||||
case HAS_NONE:
|
||||
v = 0;
|
||||
break;
|
||||
case HAS_NULL:
|
||||
v = 1;
|
||||
break;
|
||||
case (HAS_NULL | HAS_NONE):
|
||||
v = GET_BIT1(pColData->pBitMap, iVal);
|
||||
break;
|
||||
case HAS_VALUE:
|
||||
v = 2;
|
||||
break;
|
||||
case (HAS_VALUE | HAS_NONE):
|
||||
v = GET_BIT1(pColData->pBitMap, iVal);
|
||||
if (v) v = 2;
|
||||
break;
|
||||
case (HAS_VALUE | HAS_NULL):
|
||||
v = GET_BIT1(pColData->pBitMap, iVal) + 1;
|
||||
break;
|
||||
case (HAS_VALUE | HAS_NULL | HAS_NONE):
|
||||
v = GET_BIT2(pColData->pBitMap, iVal);
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
break;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
int32_t tColDataCopy(SColData *pColDataSrc, SColData *pColDataDest) {
|
||||
int32_t code = 0;
|
||||
int32_t size;
|
||||
|
|
|
@ -903,7 +903,7 @@ static int32_t copyBlockDataToSDataBlock(STsdbReader* pReader, STableBlockScanIn
|
|||
// null value exists, check one-by-one
|
||||
if (pData->flag != HAS_VALUE) {
|
||||
for (int32_t j = pDumpInfo->rowIndex; rowIndex < remain; j += step, rowIndex++) {
|
||||
uint8_t v = GET_BIT2(pData->pBitMap, j);
|
||||
uint8_t v = tColDataGetBitValue(pData, j);
|
||||
if (v == 0 || v == 1) {
|
||||
colDataSetNull_f(pColData->nullbitmap, rowIndex);
|
||||
}
|
||||
|
@ -4078,4 +4078,4 @@ void tsdbUntakeReadSnap(STsdb* pTsdb, STsdbReadSnap* pSnap) {
|
|||
}
|
||||
|
||||
tsdbTrace("vgId:%d, untake read snapshot", TD_VID(pTsdb->pVnode));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue