This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch column_builder_compatibility
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/column_builder_compatibility
by this push:
new 425953a3 add column compatibility
425953a3 is described below
commit 425953a39be65e1372c6ea65511ce780eaf5b8a0
Author: Tian Jiang <[email protected]>
AuthorDate: Mon Jan 13 13:11:05 2025 +0800
add column compatibility
(cherry picked from commit 8dd5f1c18b0b0c0e0268ea3fe04f5c9ed953058c)
---
.../read/common/block/column/FloatColumn.java | 15 ++++++++
.../tsfile/read/common/block/column/IntColumn.java | 43 ++++++++++++++++++++++
.../read/common/block/column/LongColumn.java | 15 ++++++++
3 files changed, 73 insertions(+)
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/FloatColumn.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/FloatColumn.java
index 56306736..8f61d10b 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/FloatColumn.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/FloatColumn.java
@@ -32,6 +32,7 @@ import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkValidRe
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfBooleanArray;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfFloatArray;
+@SuppressWarnings("java:S3012")
public class FloatColumn implements Column {
private static final int INSTANCE_SIZE =
@@ -92,11 +93,25 @@ public class FloatColumn implements Column {
return values[position + arrayOffset];
}
+ @Override
+ public double getDouble(int position) {
+ return values[position + arrayOffset];
+ }
+
@Override
public float[] getFloats() {
return values;
}
+ @Override
+ public double[] getDoubles() {
+ double[] doubles = new double[values.length];
+ for (int i = 0; i < values.length; i++) {
+ doubles[i] = values[i];
+ }
+ return doubles;
+ }
+
@Override
public Object getObject(int position) {
return getFloat(position);
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/IntColumn.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/IntColumn.java
index 2c3c35c1..92cf2a31 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/IntColumn.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/IntColumn.java
@@ -32,6 +32,7 @@ import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkValidRe
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfBooleanArray;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfIntArray;
+@SuppressWarnings("java:S3012")
public class IntColumn implements Column {
private static final int INSTANCE_SIZE =
@@ -92,11 +93,53 @@ public class IntColumn implements Column {
return values[position + arrayOffset];
}
+ @Override
+ public long getLong(int position) {
+ return values[position + arrayOffset];
+ }
+
+ @Override
+ public float getFloat(int position) {
+ return values[position + arrayOffset];
+ }
+
+ @Override
+ public double getDouble(int position) {
+ return values[position + arrayOffset];
+ }
+
@Override
public int[] getInts() {
return values;
}
+ @Override
+ public float[] getFloats() {
+ float[] result = new float[values.length];
+ for (int i = 0; i < values.length; i++) {
+ result[i] = values[i];
+ }
+ return result;
+ }
+
+ @Override
+ public long[] getLongs() {
+ long[] result = new long[values.length];
+ for (int i = 0; i < values.length; i++) {
+ result[i] = values[i];
+ }
+ return result;
+ }
+
+ @Override
+ public double[] getDoubles() {
+ double[] result = new double[values.length];
+ for (int i = 0; i < values.length; i++) {
+ result[i] = values[i];
+ }
+ return result;
+ }
+
@Override
public Object getObject(int position) {
return getInt(position);
diff --git
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/LongColumn.java
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/LongColumn.java
index 1c022369..ad4d1ec4 100644
---
a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/LongColumn.java
+++
b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/LongColumn.java
@@ -32,6 +32,7 @@ import static
org.apache.tsfile.read.common.block.column.ColumnUtil.checkValidRe
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfBooleanArray;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfLongArray;
+@SuppressWarnings("java:S3012")
public class LongColumn implements Column {
private static final int INSTANCE_SIZE =
@@ -92,11 +93,25 @@ public class LongColumn implements Column {
return values[position + arrayOffset];
}
+ @Override
+ public double getDouble(int position) {
+ return values[position + arrayOffset];
+ }
+
@Override
public long[] getLongs() {
return values;
}
+ @Override
+ public double[] getDoubles() {
+ double[] doubles = new double[values.length];
+ for (int i = 0; i < values.length; i++) {
+ doubles[i] = values[i];
+ }
+ return doubles;
+ }
+
@Override
public Object getObject(int position) {
return getLong(position);