Merge branch 'feat/tsdb_refact' of github.com:taosdata/tdengine into feat/tsdb_refact
This commit is contained in:
commit
b890676a74
|
@ -322,7 +322,7 @@ STSRow *mergeTwoRows(void *buffer, STSRow *row1, STSRow *row2, STSchema *pSchema
|
||||||
int32_t tdGetColDataOfRow(SCellVal *pVal, SDataCol *pCol, int32_t row, int8_t bitmapMode);
|
int32_t tdGetColDataOfRow(SCellVal *pVal, SDataCol *pCol, int32_t row, int8_t bitmapMode);
|
||||||
bool tdSTpRowGetVal(STSRow *pRow, col_id_t colId, col_type_t colType, int32_t flen, uint32_t offset, col_id_t colIdx,
|
bool tdSTpRowGetVal(STSRow *pRow, col_id_t colId, col_type_t colType, int32_t flen, uint32_t offset, col_id_t colIdx,
|
||||||
SCellVal *pVal);
|
SCellVal *pVal);
|
||||||
bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, uint32_t offset, col_id_t colIdx, SCellVal *pVal);
|
bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, col_id_t colIdx, SCellVal *pVal);
|
||||||
int32_t dataColGetNEleLen(SDataCol *pDataCol, int32_t rows, int8_t bitmapMode);
|
int32_t dataColGetNEleLen(SDataCol *pDataCol, int32_t rows, int8_t bitmapMode);
|
||||||
void tdSCellValPrint(SCellVal *pVal, int8_t colType);
|
void tdSCellValPrint(SCellVal *pVal, int8_t colType);
|
||||||
void tdSRowPrint(STSRow *row, STSchema *pSchema, const char *tag);
|
void tdSRowPrint(STSRow *row, STSchema *pSchema, const char *tag);
|
||||||
|
|
|
@ -34,6 +34,7 @@ const uint8_t tdVTypeByte[2][3] = {{
|
||||||
// declaration
|
// declaration
|
||||||
static uint8_t tdGetBitmapByte(uint8_t byte);
|
static uint8_t tdGetBitmapByte(uint8_t byte);
|
||||||
static int32_t tdCompareColId(const void *arg1, const void *arg2);
|
static int32_t tdCompareColId(const void *arg1, const void *arg2);
|
||||||
|
static FORCE_INLINE int32_t compareKvRowColId(const void *key1, const void *key2);
|
||||||
|
|
||||||
// static void dataColSetNEleNull(SDataCol *pCol, int nEle);
|
// static void dataColSetNEleNull(SDataCol *pCol, int nEle);
|
||||||
|
|
||||||
|
@ -1045,13 +1046,28 @@ int32_t dataColGetNEleLen(SDataCol *pDataCol, int32_t rows, int8_t bitmapMode) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, uint32_t offset, col_id_t colIdx, SCellVal *pVal) {
|
bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, col_id_t colIdx, SCellVal *pVal) {
|
||||||
if (colId == PRIMARYKEY_TIMESTAMP_COL_ID) {
|
if (colId == PRIMARYKEY_TIMESTAMP_COL_ID) {
|
||||||
tdRowSetVal(pVal, TD_VTYPE_NORM, TD_ROW_KEY_ADDR(pRow));
|
tdRowSetVal(pVal, TD_VTYPE_NORM, TD_ROW_KEY_ADDR(pRow));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
int16_t nCols = tdRowGetNCols(pRow) - 1;
|
||||||
|
if (nCols <= 0) {
|
||||||
|
pVal->valType = TD_VTYPE_NONE;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
SKvRowIdx *pColIdx =
|
||||||
|
(SKvRowIdx *)taosbsearch(&colId, TD_ROW_COL_IDX(pRow), nCols, sizeof(SKvRowIdx), compareKvRowColId, TD_EQ);
|
||||||
|
|
||||||
|
if (!pColIdx) {
|
||||||
|
pVal->valType = TD_VTYPE_NONE;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void *pBitmap = tdGetBitmapAddrKv(pRow, tdRowGetNCols(pRow));
|
void *pBitmap = tdGetBitmapAddrKv(pRow, tdRowGetNCols(pRow));
|
||||||
tdGetKvRowValOfCol(pVal, pRow, pBitmap, offset, colIdx);
|
tdGetKvRowValOfCol(pVal, pRow, pBitmap, pColIdx->offset,
|
||||||
|
POINTER_DISTANCE(pColIdx, TD_ROW_COL_IDX(pRow)) / sizeof(SKvRowIdx));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1687,7 +1703,6 @@ int32_t tdAppendColValToTpRow(SRowBuilder *pBuilder, TDRowValT valType, const vo
|
||||||
|
|
||||||
int32_t tdSRowSetExtendedInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t nBoundCols, int32_t flen,
|
int32_t tdSRowSetExtendedInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t nBoundCols, int32_t flen,
|
||||||
int32_t allNullLen, int32_t boundNullLen) {
|
int32_t allNullLen, int32_t boundNullLen) {
|
||||||
#if 0
|
|
||||||
if ((boundNullLen > 0) && (allNullLen > 0) && (nBoundCols > 0)) {
|
if ((boundNullLen > 0) && (allNullLen > 0) && (nBoundCols > 0)) {
|
||||||
uint32_t tpLen = allNullLen;
|
uint32_t tpLen = allNullLen;
|
||||||
uint32_t kvLen = sizeof(col_id_t) + sizeof(SKvRowIdx) * nBoundCols + boundNullLen;
|
uint32_t kvLen = sizeof(col_id_t) + sizeof(SKvRowIdx) * nBoundCols + boundNullLen;
|
||||||
|
@ -1700,8 +1715,6 @@ int32_t tdSRowSetExtendedInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t nBou
|
||||||
} else {
|
} else {
|
||||||
pBuilder->rowType = TD_ROW_TP;
|
pBuilder->rowType = TD_ROW_TP;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
pBuilder->rowType = TD_ROW_TP;
|
|
||||||
pBuilder->flen = flen;
|
pBuilder->flen = flen;
|
||||||
pBuilder->nCols = nCols;
|
pBuilder->nCols = nCols;
|
||||||
pBuilder->nBoundCols = nBoundCols;
|
pBuilder->nBoundCols = nBoundCols;
|
||||||
|
@ -1976,8 +1989,7 @@ void tTSRowGetVal(STSRow *pRow, STSchema *pTSchema, int16_t iCol, SColVal *pColV
|
||||||
tdSTpRowGetVal(pRow, pTColumn->colId, pTColumn->type, pTSchema->flen, pTColumn->offset, iCol - 1, &cv);
|
tdSTpRowGetVal(pRow, pTColumn->colId, pTColumn->type, pTSchema->flen, pTColumn->offset, iCol - 1, &cv);
|
||||||
} else if (TD_IS_KV_ROW(pRow)) {
|
} else if (TD_IS_KV_ROW(pRow)) {
|
||||||
ASSERT(iCol > 0);
|
ASSERT(iCol > 0);
|
||||||
SKvRowIdx *pColIdx = tdKvRowColIdxAt(pRow, iCol - 1);
|
tdSKvRowGetVal(pRow, pTColumn->colId, iCol - 1, &cv);
|
||||||
tdSKvRowGetVal(pRow, pTColumn->colId, pColIdx->offset, iCol - 1, &cv);
|
|
||||||
} else {
|
} else {
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,8 +226,8 @@ int32_t tGetBlockIdx(uint8_t *p, void *ph) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tCmprBlockIdx(void const *lhs, void const *rhs) {
|
int32_t tCmprBlockIdx(void const *lhs, void const *rhs) {
|
||||||
SBlockIdx *lBlockIdx = *(SBlockIdx **)lhs;
|
SBlockIdx *lBlockIdx = (SBlockIdx *)lhs;
|
||||||
SBlockIdx *rBlockIdx = *(SBlockIdx **)rhs;
|
SBlockIdx *rBlockIdx = (SBlockIdx *)rhs;
|
||||||
|
|
||||||
if (lBlockIdx->suid < rBlockIdx->suid) {
|
if (lBlockIdx->suid < rBlockIdx->suid) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -382,8 +382,8 @@ int32_t tBlockColCmprFn(const void *p1, const void *p2) {
|
||||||
|
|
||||||
// SDelIdx ======================================================
|
// SDelIdx ======================================================
|
||||||
int32_t tCmprDelIdx(void const *lhs, void const *rhs) {
|
int32_t tCmprDelIdx(void const *lhs, void const *rhs) {
|
||||||
SDelIdx *lDelIdx = *(SDelIdx **)lhs;
|
SDelIdx *lDelIdx = (SDelIdx *)lhs;
|
||||||
SDelIdx *rDelIdx = *(SDelIdx **)rhs;
|
SDelIdx *rDelIdx = (SDelIdx *)rhs;
|
||||||
|
|
||||||
if (lDelIdx->suid < rDelIdx->suid) {
|
if (lDelIdx->suid < rDelIdx->suid) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue