fix: get firstNRows Length
This commit is contained in:
parent
ae660f95ed
commit
1fe35031e0
|
@ -1690,6 +1690,7 @@ int32_t blockDataTrimFirstRows(SSDataBlock* pBlock, size_t n) {
|
||||||
static void colDataKeepFirstNRows(SColumnInfoData* pColInfoData, size_t n, size_t total) {
|
static void colDataKeepFirstNRows(SColumnInfoData* pColInfoData, size_t n, size_t total) {
|
||||||
if (n >= total || n == 0) return;
|
if (n >= total || n == 0) return;
|
||||||
if (IS_VAR_DATA_TYPE(pColInfoData->info.type)) {
|
if (IS_VAR_DATA_TYPE(pColInfoData->info.type)) {
|
||||||
|
if (pColInfoData->varmeta.length != 0) {
|
||||||
int32_t newLen = pColInfoData->varmeta.offset[n];
|
int32_t newLen = pColInfoData->varmeta.offset[n];
|
||||||
if (-1 == newLen) {
|
if (-1 == newLen) {
|
||||||
for (int i = n - 1; i >= 0; --i) {
|
for (int i = n - 1; i >= 0; --i) {
|
||||||
|
@ -1704,7 +1705,12 @@ static void colDataKeepFirstNRows(SColumnInfoData* pColInfoData, size_t n, size_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (newLen <= -1) {
|
||||||
|
uFatal("colDataKeepFirstNRows: newLen:%d old:%d", newLen, pColInfoData->varmeta.length);
|
||||||
|
} else {
|
||||||
pColInfoData->varmeta.length = newLen;
|
pColInfoData->varmeta.length = newLen;
|
||||||
|
}
|
||||||
|
}
|
||||||
// pColInfoData->varmeta.length = colDataMoveVarData(pColInfoData, 0, n);
|
// pColInfoData->varmeta.length = colDataMoveVarData(pColInfoData, 0, n);
|
||||||
memset(&pColInfoData->varmeta.offset[n], 0, total - n);
|
memset(&pColInfoData->varmeta.offset[n], 0, total - n);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue