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);

Reply via email to