You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2021/03/10 12:26:00 UTC
[iotdb] 01/02: s
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch TYQuery
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 50258821bcf5ede02d857ad489f8cb75dd88f10b
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Tue Mar 9 11:08:09 2021 +0800
s
---
.../tsfile/file/metadata/enums/TSDataType.java | 5 +-
.../apache/iotdb/tsfile/utils/TsPrimitiveType.java | 59 ++++++++++++++++++++++
2 files changed, 63 insertions(+), 1 deletion(-)
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
index 0edda45..a2b7eef 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/enums/TSDataType.java
@@ -41,7 +41,10 @@ public enum TSDataType {
DOUBLE((byte) 4),
/** TEXT */
- TEXT((byte) 5);
+ TEXT((byte) 5),
+
+ /** Vector */
+ Vector((byte) 6);
private final byte type;
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TsPrimitiveType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TsPrimitiveType.java
index 73b01d2..e5ffb4e 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TsPrimitiveType.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TsPrimitiveType.java
@@ -74,6 +74,10 @@ public abstract class TsPrimitiveType implements Serializable {
throw new UnsupportedOperationException("getBinary() is not supported for current sub-class");
}
+ public TsPrimitiveType[] getVector() {
+ throw new UnsupportedOperationException("setDouble() is not supported for current sub-class");
+ }
+
public void setBoolean(boolean val) {
throw new UnsupportedOperationException("setBoolean() is not supported for current sub-class");
}
@@ -98,6 +102,10 @@ public abstract class TsPrimitiveType implements Serializable {
throw new UnsupportedOperationException("setBinary() is not supported for current sub-class");
}
+ public void setVector(TsPrimitiveType[] val) {
+ throw new UnsupportedOperationException("setDouble() is not supported for current sub-class");
+ }
+
/**
* get the size of one instance of current class.
*
@@ -462,4 +470,55 @@ public abstract class TsPrimitiveType implements Serializable {
return false;
}
}
+
+ public static class TsVector extends TsPrimitiveType {
+
+ private TsPrimitiveType[] value;
+
+ public TsVector(TsPrimitiveType[] value) {
+ this.value = value;
+ }
+
+
+ @Override
+ public TsPrimitiveType[] getVector() {
+ return value;
+ }
+
+ @Override
+ public void setVector(TsPrimitiveType[] val) {
+ this.value = val;
+ }
+
+ @Override
+ public int getSize() {
+ int size = 0;
+ for (TsPrimitiveType type : value) {
+ size += type.getSize();
+ }
+ // object header + array object header
+ return 4 + 4 + size;
+ }
+
+ @Override
+ public Object getValue() {
+ return getVector();
+ }
+
+ @Override
+ public String getStringValue() {
+ StringBuilder builder = new StringBuilder("[");
+ builder.append(value[0].getStringValue());
+ for (TsPrimitiveType type : value) {
+ builder.append(", ").append(type.getStringValue());
+ }
+ builder.append("]");
+ return builder.toString();
+ }
+
+ @Override
+ public TSDataType getDataType() {
+ return TSDataType.Vector;
+ }
+ }
}