From 6fb313717ebcdb3e7b81404e67e210b9ec081a25 Mon Sep 17 00:00:00 2001 From: Steve Yurong Su Date: Fri, 18 Oct 2024 15:19:21 +0800 Subject: [PATCH] fix --- ...sertionEventTableParserTabletIterator.java | 29 ++++++++++--------- pom.xml | 2 +- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java index 4f54ec26f033..5ae2cf6188a8 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java @@ -30,10 +30,10 @@ import org.apache.tsfile.write.schema.IMeasurementSchema; import java.io.IOException; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; -import java.util.stream.Collectors; public class TsFileInsertionEventTableParserTabletIterator implements Iterator { @@ -43,6 +43,7 @@ public class TsFileInsertionEventTableParserTabletIterator implements Iterator columnSchemas; + private final List columnTypes; private final List columnNames; private final TsBlockReader tsBlockReader; @@ -56,18 +57,19 @@ public TsFileInsertionEventTableParserTabletIterator( this.startTime = startTime; this.endTime = endTime; + columnSchemas = new ArrayList<>(); + columnTypes = new ArrayList<>(); + columnNames = new ArrayList<>(); try { - columnSchemas = - tableSchema.getColumnSchemas().stream() - // time column in aligned time-series should not be a query column - .filter( - schema -> - schema.getMeasurementId() != null && !schema.getMeasurementId().isEmpty()) - .collect(Collectors.toList()); - columnNames = - columnSchemas.stream() - .map(IMeasurementSchema::getMeasurementId) - .collect(Collectors.toList()); + for (int i = 0, size = tableSchema.getColumnSchemas().size(); i < size; i++) { + final IMeasurementSchema schema = tableSchema.getColumnSchemas().get(i); + if (schema.getMeasurementId() != null && !schema.getMeasurementId().isEmpty()) { + columnSchemas.add(schema); + columnTypes.add(tableSchema.getColumnTypes().get(i)); + columnNames.add(schema.getMeasurementId()); + } + } + tsBlockReader = tableQueryExecutor.query(tableName, columnNames, null, null, null); } catch (final ReadProcessException e) { throw new PipeException("Failed to build query data set", e); @@ -96,7 +98,8 @@ public Tablet next() { private Tablet buildNextTablet() throws IOException { final TsBlock tsBlock = tsBlockReader.next(); - final Tablet tablet = new Tablet(tableName, columnSchemas, tsBlock.getPositionCount()); + final Tablet tablet = + new Tablet(tableName, columnSchemas, columnTypes, tsBlock.getPositionCount()); tablet.initBitMaps(); final TsBlock.TsBlockRowIterator rowIterator = tsBlock.getTsBlockRowIterator(); diff --git a/pom.xml b/pom.xml index 4e849e5ab21f..2ea7ee7e908a 100644 --- a/pom.xml +++ b/pom.xml @@ -166,7 +166,7 @@ 0.14.1 1.9 1.5.6-3 - 1.2.0-1eb2078-SNAPSHOT + 1.2.0-241018-SNAPSHOT