Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.apache.tsfile.write.UnSupportedDataTypeException;

import java.io.Serializable;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

public abstract class TsPrimitiveType implements Serializable {
Expand Down Expand Up @@ -198,6 +199,11 @@ public void setBoolean(boolean val) {
this.value = val;
}

@Override
public Binary getBinary() {
return new Binary(String.valueOf(this.value), StandardCharsets.UTF_8);
}

@Override
public void setObject(Object val) {
if (val instanceof Boolean) {
Expand Down Expand Up @@ -280,6 +286,11 @@ public float getFloat() {
return (float) value;
}

@Override
public Binary getBinary() {
return new Binary(String.valueOf(this.value), StandardCharsets.UTF_8);
}

@Override
public void setInt(int val) {
this.value = val;
Expand Down Expand Up @@ -357,6 +368,11 @@ public double getDouble() {
return (double) value;
}

@Override
public Binary getBinary() {
return new Binary(String.valueOf(this.value), StandardCharsets.UTF_8);
}

@Override
public void setLong(long val) {
this.value = val;
Expand Down Expand Up @@ -434,6 +450,11 @@ public double getDouble() {
return (double) value;
}

@Override
public Binary getBinary() {
return new Binary(String.valueOf(this.value), StandardCharsets.UTF_8);
}

@Override
public void setFloat(float val) {
this.value = val;
Expand Down Expand Up @@ -506,6 +527,11 @@ public double getDouble() {
return value;
}

@Override
public Binary getBinary() {
return new Binary(String.valueOf(this.value), StandardCharsets.UTF_8);
}

@Override
public void setDouble(double val) {
this.value = val;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnEncoding;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.TsPrimitiveType;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Optional;

Expand Down Expand Up @@ -93,11 +95,25 @@ public boolean getBoolean(int position) {
return values[position + arrayOffset];
}

@Override
public Binary getBinary(int position) {
return new Binary(String.valueOf(values[position + arrayOffset]), StandardCharsets.UTF_8);
}

@Override
public boolean[] getBooleans() {
return values;
}

@Override
public Binary[] getBinaries() {
Binary[] binaries = new Binary[values.length];
for (int i = 0; i < values.length; i++) {
binaries[i] = new Binary(String.valueOf(values[i]), StandardCharsets.UTF_8);
}
return binaries;
}

@Override
public Object getObject(int position) {
return getBoolean(position);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnEncoding;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.TsPrimitiveType;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Optional;

Expand Down Expand Up @@ -94,11 +96,25 @@ public double getDouble(int position) {
return values[position + arrayOffset];
}

@Override
public Binary getBinary(int position) {
return new Binary(String.valueOf(values[position + arrayOffset]), StandardCharsets.UTF_8);
}

@Override
public double[] getDoubles() {
return values;
}

@Override
public Binary[] getBinaries() {
Binary[] binaries = new Binary[values.length];
for (int i = 0; i < values.length; i++) {
binaries[i] = new Binary(String.valueOf(values[i]), StandardCharsets.UTF_8);
}
return binaries;
}

@Override
public Object getObject(int position) {
return getDouble(position);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnEncoding;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.TsPrimitiveType;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Optional;

Expand Down Expand Up @@ -100,6 +102,11 @@ public double getDouble(int position) {
return values[position + arrayOffset];
}

@Override
public Binary getBinary(int position) {
return new Binary(String.valueOf(values[position + arrayOffset]), StandardCharsets.UTF_8);
}

@Override
public float[] getFloats() {
return values;
Expand All @@ -114,6 +121,15 @@ public double[] getDoubles() {
return doubles;
}

@Override
public Binary[] getBinaries() {
Binary[] binaries = new Binary[values.length];
for (int i = 0; i < values.length; i++) {
binaries[i] = new Binary(String.valueOf(values[i]), StandardCharsets.UTF_8);
}
return binaries;
}

@Override
public Object getObject(int position) {
return getFloat(position);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnEncoding;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.TsPrimitiveType;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Optional;

Expand Down Expand Up @@ -110,6 +112,11 @@ public double getDouble(int position) {
return values[position + arrayOffset];
}

@Override
public Binary getBinary(int position) {
return new Binary(String.valueOf(values[position + arrayOffset]), StandardCharsets.UTF_8);
}

@Override
public int[] getInts() {
return values;
Expand Down Expand Up @@ -142,6 +149,15 @@ public double[] getDoubles() {
return result;
}

@Override
public Binary[] getBinaries() {
Binary[] binaries = new Binary[values.length];
for (int i = 0; i < values.length; i++) {
binaries[i] = new Binary(String.valueOf(values[i]), StandardCharsets.UTF_8);
}
return binaries;
}

@Override
public Object getObject(int position) {
return getInt(position);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnEncoding;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.TsPrimitiveType;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Optional;

Expand Down Expand Up @@ -100,6 +102,11 @@ public double getDouble(int position) {
return values[position + arrayOffset];
}

@Override
public Binary getBinary(int position) {
return new Binary(String.valueOf(values[position + arrayOffset]), StandardCharsets.UTF_8);
}

@Override
public long[] getLongs() {
return values;
Expand All @@ -114,6 +121,15 @@ public double[] getDoubles() {
return doubles;
}

@Override
public Binary[] getBinaries() {
Binary[] binaries = new Binary[values.length];
for (int i = 0; i < values.length; i++) {
binaries[i] = new Binary(String.valueOf(values[i]), StandardCharsets.UTF_8);
}
return binaries;
}

@Override
public Object getObject(int position) {
return getLong(position);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@
import org.apache.tsfile.read.common.block.column.RunLengthEncodedColumn;
import org.apache.tsfile.read.common.block.column.TimeColumn;
import org.apache.tsfile.read.common.block.column.TimeColumnBuilder;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.BytesUtils;

import org.junit.Assert;
import org.junit.Test;

import java.nio.charset.StandardCharsets;
import java.util.Optional;

public class ColumnTest {
Expand Down Expand Up @@ -224,7 +226,11 @@ public void booleanColumnFilterPositionsTest() {
Assert.assertTrue(columnByGetPositions instanceof DictionaryColumn);
Assert.assertEquals(2, columnByGetPositions.getPositionCount());
Assert.assertFalse(columnByGetPositions.getBoolean(0));
Assert.assertEquals(
new Binary("false", StandardCharsets.UTF_8), columnByGetPositions.getBinary(0));
Assert.assertTrue(columnByGetPositions.getBoolean(1));
Assert.assertEquals(
new Binary("true", StandardCharsets.UTF_8), columnByGetPositions.getBinary(1));

Column columnByCopyPositions = originalColumn.copyPositions(selectedPositions, 1, 2);
Assert.assertEquals(2, columnByCopyPositions.getPositionCount());
Expand All @@ -242,7 +248,9 @@ public void doubleColumnSubColumnTest() {
doubleColumn1 = (DoubleColumn) doubleColumn1.subColumn(5);
Assert.assertEquals(5, doubleColumn1.getPositionCount());
Assert.assertEquals(5.0, doubleColumn1.getDouble(0), 0.001);
Assert.assertEquals(new Binary("5.0", StandardCharsets.UTF_8), doubleColumn1.getBinary(0));
Assert.assertEquals(9.0, doubleColumn1.getDouble(4), 0.001);
Assert.assertEquals(new Binary("9.0", StandardCharsets.UTF_8), doubleColumn1.getBinary(4));

DoubleColumn doubleColumn2 = (DoubleColumn) doubleColumn1.subColumn(3);
Assert.assertEquals(2, doubleColumn2.getPositionCount());
Expand Down Expand Up @@ -303,7 +311,9 @@ public void floatColumnSubColumnTest() {
floatColumn1 = (FloatColumn) floatColumn1.subColumn(5);
Assert.assertEquals(5, floatColumn1.getPositionCount());
Assert.assertEquals(5.0, floatColumn1.getFloat(0), 0.001);
Assert.assertEquals(new Binary("5.0", StandardCharsets.UTF_8), floatColumn1.getBinary(0));
Assert.assertEquals(9.0, floatColumn1.getFloat(4), 0.001);
Assert.assertEquals(new Binary("9.0", StandardCharsets.UTF_8), floatColumn1.getBinary(4));

FloatColumn floatColumn2 = (FloatColumn) floatColumn1.subColumn(3);
Assert.assertEquals(2, floatColumn2.getPositionCount());
Expand Down Expand Up @@ -414,6 +424,10 @@ public void intColumnFilterPositionsTest() {
Assert.assertEquals(2, columnByCopyPositions.getPositionCount());
Assert.assertEquals(3, columnByCopyPositions.getInt(0));
Assert.assertEquals(5, columnByCopyPositions.getInt(1));
Assert.assertEquals(
new Binary("3", StandardCharsets.UTF_8), columnByCopyPositions.getBinary(0));
Assert.assertEquals(
new Binary("5", StandardCharsets.UTF_8), columnByCopyPositions.getBinary(1));
}

@Test
Expand All @@ -427,11 +441,15 @@ public void longColumnSubColumnTest() {
Assert.assertEquals(5, longColumn1.getPositionCount());
Assert.assertEquals(5, longColumn1.getLong(0));
Assert.assertEquals(9, longColumn1.getLong(4));
Assert.assertEquals(new Binary("5", StandardCharsets.UTF_8), longColumn1.getBinary(0));
Assert.assertEquals(new Binary("9", StandardCharsets.UTF_8), longColumn1.getBinary(4));

LongColumn longColumn2 = (LongColumn) longColumn1.subColumn(3);
Assert.assertEquals(2, longColumn2.getPositionCount());
Assert.assertEquals(8, longColumn2.getLong(0));
Assert.assertEquals(9, longColumn2.getLong(1));
Assert.assertEquals(new Binary("8", StandardCharsets.UTF_8), longColumn2.getBinary(0));
Assert.assertEquals(new Binary("9", StandardCharsets.UTF_8), longColumn2.getBinary(1));

Assert.assertSame(longColumn1.getLongs(), longColumn2.getLongs());
}
Expand Down
Loading