This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/develop by this push:
new e877120e Dicard all null row (#27)
e877120e is described below
commit e877120eb68de52070abb2108defd6d10fdd185a
Author: Jackie Tien <[email protected]>
AuthorDate: Mon Jan 29 11:11:31 2024 +0800
Dicard all null row (#27)
---
.../java/org/apache/tsfile/read/reader/page/AlignedPageReader.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
b/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
index 421c3b68..b60a0b8d 100644
---
a/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
+++
b/tsfile/src/main/java/org/apache/tsfile/read/reader/page/AlignedPageReader.java
@@ -101,6 +101,8 @@ public class AlignedPageReader implements IPageReader {
timeIndex++;
TsPrimitiveType[] v = new TsPrimitiveType[valueCount];
+ // if all the sub sensors' value are null in current row, just discard it
+ boolean hasNotNullValues = false;
for (int i = 0; i < valueCount; i++) {
ValuePageReader pageReader = valuePageReaderList.get(i);
if (pageReader != null) {
@@ -110,9 +112,12 @@ public class AlignedPageReader implements IPageReader {
v[i] = null;
rowValues[i] = null;
}
+ if (rowValues[i] != null) {
+ hasNotNullValues = true;
+ }
}
- if (satisfyRecordFilter(timestamp, rowValues)) {
+ if (hasNotNullValues && satisfyRecordFilter(timestamp, rowValues)) {
pageData.putVector(timestamp, v);
}
}