You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/06/22 08:00:48 UTC
[incubator-iotdb] branch rel/0.10 updated: fix insert tablet
serialize (#1404)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch rel/0.10
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/rel/0.10 by this push:
new 6474694 fix insert tablet serialize (#1404)
6474694 is described below
commit 64746943d1bdef7cda19528433d248118b75f868
Author: Jialin Qiao <qj...@mails.tsinghua.edu.cn>
AuthorDate: Mon Jun 22 16:00:08 2020 +0800
fix insert tablet serialize (#1404)
---
.../db/qp/physical/crud/InsertTabletPlan.java | 2 +-
.../apache/iotdb/db/writelog/WriteLogNodeTest.java | 32 ++++++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
index 4fcd813..2928116 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
@@ -285,7 +285,7 @@ public class InsertTabletPlan extends PhysicalPlan {
case BOOLEAN:
boolean[] boolValues = (boolean[]) column;
for (int j = start; j < end; j++) {
- buffer.putInt(BytesUtils.boolToByte(boolValues[j]));
+ buffer.put(BytesUtils.boolToByte(boolValues[j]));
}
break;
case TEXT:
diff --git a/server/src/test/java/org/apache/iotdb/db/writelog/WriteLogNodeTest.java b/server/src/test/java/org/apache/iotdb/db/writelog/WriteLogNodeTest.java
index 953a76e..006e8bb 100644
--- a/server/src/test/java/org/apache/iotdb/db/writelog/WriteLogNodeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/writelog/WriteLogNodeTest.java
@@ -24,16 +24,20 @@ import static junit.framework.TestCase.assertTrue;
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.qp.physical.crud.DeletePlan;
import org.apache.iotdb.db.qp.physical.crud.InsertPlan;
+import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.db.writelog.io.ILogReader;
import org.apache.iotdb.db.writelog.node.ExclusiveWriteLogNode;
import org.apache.iotdb.db.writelog.node.WriteLogNode;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.Path;
+import org.apache.iotdb.tsfile.utils.Binary;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -71,8 +75,34 @@ public class WriteLogNodeTest {
new String[]{"1.0", "15", "str", "false"});
DeletePlan deletePlan = new DeletePlan(50, new Path(identifier + ".s1"));
+ long[] times = new long[]{110L, 111L, 112L, 113L};
+ List<Integer> dataTypes = new ArrayList<>();
+ dataTypes.add(TSDataType.DOUBLE.ordinal());
+ dataTypes.add(TSDataType.INT64.ordinal());
+ dataTypes.add(TSDataType.TEXT.ordinal());
+ dataTypes.add(TSDataType.BOOLEAN.ordinal());
+ Object[] columns = new Object[4];
+ columns[0] = new double[4];
+ columns[1] = new long[4];
+ columns[2] = new Binary[4];
+ columns[3] = new boolean[4];
+ for (int r = 0; r < 4; r++) {
+ ((double[]) columns[0])[r] = 1.0;
+ ((long[]) columns[1])[r] = 1;
+ ((Binary[]) columns[2])[r] = new Binary("hh" + r);
+ ((boolean[]) columns[3])[r] = false;
+ }
+ InsertTabletPlan tabletPlan = new InsertTabletPlan(identifier,
+ new String[]{"s1", "s2", "s3", "s4"}, dataTypes);
+ tabletPlan.setTimes(times);
+ tabletPlan.setColumns(columns);
+ tabletPlan.setRowCount(times.length);
+ tabletPlan.setStart(0);
+ tabletPlan.setEnd(4);
+
logNode.write(bwInsertPlan);
logNode.write(deletePlan);
+ logNode.write(tabletPlan);
logNode.close();
@@ -83,6 +113,8 @@ public class WriteLogNodeTest {
ILogReader reader = logNode.getLogReader();
assertEquals(bwInsertPlan, reader.next());
assertEquals(deletePlan, reader.next());
+ InsertTabletPlan newPlan = (InsertTabletPlan) reader.next();
+ assertEquals(newPlan.getMeasurements().length, 4);
reader.close();
logNode.delete();