more code
This commit is contained in:
parent
40470531e7
commit
88f244bca5
|
@ -377,15 +377,29 @@ void tRowGet(SRow *pRow, STSchema *pTSchema, int32_t iCol, SColVal *pColVal) {
|
||||||
|
|
||||||
if (pRow->flag & 0xf0) { // KV Row
|
if (pRow->flag & 0xf0) { // KV Row
|
||||||
SKVIdx *pIdx = (SKVIdx *)pRow->data;
|
SKVIdx *pIdx = (SKVIdx *)pRow->data;
|
||||||
uint8_t *pv = pRow->data + sizeof(*pIdx) + sizeof(int32_t) * pIdx->nCol;
|
uint8_t *pv = NULL;
|
||||||
|
if (pRow->flag & KV_FLG_LIT) {
|
||||||
|
pv = pIdx->idx + pIdx->nCol;
|
||||||
|
} else if (pRow->flag & KV_FLG_MID) {
|
||||||
|
pv = pIdx->idx + (pIdx->nCol << 1);
|
||||||
|
} else {
|
||||||
|
pv = pIdx->idx + (pIdx->nCol << 2);
|
||||||
|
}
|
||||||
|
|
||||||
int16_t lidx = 0;
|
int16_t lidx = 0;
|
||||||
int16_t ridx = pIdx->nCol - 1;
|
int16_t ridx = pIdx->nCol - 1;
|
||||||
while (lidx <= ridx) {
|
while (lidx <= ridx) {
|
||||||
int16_t mid = (lidx + ridx) >> 1;
|
int16_t mid = (lidx + ridx) >> 1;
|
||||||
uint8_t *pData = pv + pIdx->idx[mid]; // todo
|
uint8_t *pData = NULL;
|
||||||
int16_t cid = 0;
|
if (pRow->flag & KV_FLG_LIT) {
|
||||||
|
pData = pv + ((uint8_t *)pIdx->idx)[mid];
|
||||||
|
} else if (pRow->flag & KV_FLG_MID) {
|
||||||
|
pData = pv + ((uint16_t *)pIdx->idx)[mid];
|
||||||
|
} else {
|
||||||
|
pData = pv + ((uint32_t *)pIdx->idx)[mid];
|
||||||
|
}
|
||||||
|
|
||||||
|
int16_t cid;
|
||||||
pData += tGetI16v(pData, &cid);
|
pData += tGetI16v(pData, &cid);
|
||||||
|
|
||||||
if (TABS(cid) == pTColumn->colId) {
|
if (TABS(cid) == pTColumn->colId) {
|
||||||
|
|
Loading…
Reference in New Issue