You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/05/30 03:35:03 UTC
[iotdb] 01/01: Fix aligned data in memory query bug
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch fix_mem_data_query
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 2cf17a9a678be716694ee056e36997a5ba672cc5
Author: HTHou <hh...@outlook.com>
AuthorDate: Mon May 30 11:34:46 2022 +0800
Fix aligned data in memory query bug
---
.../iotdb/db/query/reader/chunk/MemAlignedPageReader.java | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
index 6b561c4fed..092715404d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/reader/chunk/MemAlignedPageReader.java
@@ -101,10 +101,14 @@ public class MemAlignedPageReader implements IPageReader, IAlignedPageReader {
for (int row = 0; row < tsBlock.getPositionCount(); row++) {
long time = tsBlock.getTimeByIndex(row);
Object value = tsBlock.getColumn(0).getObject(row);
- if (!tsBlock.getColumn(0).isNull(row)
- && (valueFilter == null || valueFilter.satisfy(time, value))) {
+ boolean valueIsNull = tsBlock.getColumn(0).isNull(row);
+ if ((valueFilter == null || !valueIsNull && valueFilter.satisfy(time, value))) {
builder.getTimeColumnBuilder().write(timeColumn, row);
- builder.getColumnBuilder(0).write(valueColumn, row);
+ if (!valueIsNull) {
+ builder.getColumnBuilder(0).write(valueColumn, row);
+ } else {
+ builder.getColumnBuilder(0).appendNull();
+ }
satisfyInfo[row] = true;
builder.declarePosition();
}