提交 15a4d199 编写于 作者: Y yschengzi 提交者: Steve Yurong Su

[IOTDB-5966] Pipe: Revision of Tablet serialize and deserialize (#10045)

Co-authored-by: NSteve Yurong Su <rong@apache.org>
(cherry picked from commit 562048d4)
上级 56255be4
......@@ -30,6 +30,7 @@ import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
......@@ -61,6 +62,43 @@ public class TabletTest {
values,
new BitMap[] {new BitMap(1024), new BitMap(1024)},
rowSize);
try {
ByteBuffer byteBuffer = tablet.serialize();
Tablet newTablet = Tablet.deserialize(byteBuffer);
assertEquals(newTablet, tablet);
} catch (Exception e) {
e.printStackTrace();
fail();
}
}
@Test
public void testSerializationAndDeSerializationWithMoreData() {
String deviceId = "root.sg";
List<MeasurementSchema> measurementSchemas = new ArrayList<>();
measurementSchemas.add(new MeasurementSchema("s0", TSDataType.INT32, TSEncoding.PLAIN));
measurementSchemas.add(new MeasurementSchema("s1", TSDataType.INT64, TSEncoding.PLAIN));
measurementSchemas.add(new MeasurementSchema("s2", TSDataType.FLOAT, TSEncoding.PLAIN));
measurementSchemas.add(new MeasurementSchema("s3", TSDataType.DOUBLE, TSEncoding.PLAIN));
measurementSchemas.add(new MeasurementSchema("s4", TSDataType.BOOLEAN, TSEncoding.PLAIN));
measurementSchemas.add(new MeasurementSchema("s5", TSDataType.TEXT, TSEncoding.PLAIN));
int rowSize = 1000;
Tablet tablet = new Tablet(deviceId, measurementSchemas);
tablet.rowSize = rowSize;
tablet.initBitMaps();
for (int i = 0; i < rowSize; i++) {
tablet.addTimestamp(i, i);
tablet.addValue(measurementSchemas.get(0).getMeasurementId(), i, i);
tablet.addValue(measurementSchemas.get(1).getMeasurementId(), i, (long) i);
tablet.addValue(measurementSchemas.get(2).getMeasurementId(), i, (float) i);
tablet.addValue(measurementSchemas.get(3).getMeasurementId(), i, (double) i);
tablet.addValue(measurementSchemas.get(4).getMeasurementId(), i, (i % 2) == 0);
tablet.addValue(measurementSchemas.get(5).getMeasurementId(), i, String.valueOf(i));
tablet.bitMaps[i % measurementSchemas.size()].mark(i);
}
try {
ByteBuffer byteBuffer = tablet.serialize();
Tablet newTablet = Tablet.deserialize(byteBuffer);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册