This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch rc/1.3.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rc/1.3.3 by this push:
new 4134d6fbbd1 [To rc/1.3.3]Adaptation of Filter generated by FreeMarker
in TsFile
4134d6fbbd1 is described below
commit 4134d6fbbd1f991001b11768ded9629da6910ad2
Author: yuyong <[email protected]>
AuthorDate: Tue Aug 13 17:44:22 2024 +0800
[To rc/1.3.3]Adaptation of Filter generated by FreeMarker in TsFile
---
.github/workflows/cluster-it-1c1d.yml | 2 +
.github/workflows/cluster-it-1c3d.yml | 2 +
.github/workflows/pipe-it-2cluster.yml | 2 +
.github/workflows/sonar-codecov.yml | 2 +
.github/workflows/unit-test.yml | 2 +
.../predicate/ConvertPredicateToFilterVisitor.java | 55 ++++++++++++----------
.../reader/chunk/AlignedMemPageReaderTest.java | 38 ++++++++++-----
.../read/reader/chunk/MemPageReaderTest.java | 6 ++-
.../AlignedSeriesScanPredicatePushDownTest.java | 4 +-
.../series/SeriesScanPredicatePushDownTest.java | 27 +++++++++--
pom.xml | 2 +-
11 files changed, 95 insertions(+), 47 deletions(-)
diff --git a/.github/workflows/cluster-it-1c1d.yml
b/.github/workflows/cluster-it-1c1d.yml
index 5b1c3e19667..48900e54314 100644
--- a/.github/workflows/cluster-it-1c1d.yml
+++ b/.github/workflows/cluster-it-1c1d.yml
@@ -6,6 +6,7 @@ on:
- master
- 'rel/1.*'
- pipe-meta-sync
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
@@ -14,6 +15,7 @@ on:
- master
- 'rel/1.*'
- pipe-meta-sync
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
diff --git a/.github/workflows/cluster-it-1c3d.yml
b/.github/workflows/cluster-it-1c3d.yml
index a850009e6f6..0a8607dba0f 100644
--- a/.github/workflows/cluster-it-1c3d.yml
+++ b/.github/workflows/cluster-it-1c3d.yml
@@ -6,6 +6,7 @@ on:
- master
- 'rel/1.*'
- pipe-meta-sync
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
@@ -14,6 +15,7 @@ on:
- master
- 'rel/1.*'
- pipe-meta-sync
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
diff --git a/.github/workflows/pipe-it-2cluster.yml
b/.github/workflows/pipe-it-2cluster.yml
index 676fae32d51..e19a4b2f9ef 100644
--- a/.github/workflows/pipe-it-2cluster.yml
+++ b/.github/workflows/pipe-it-2cluster.yml
@@ -5,6 +5,7 @@ on:
branches:
- master
- 'rel/1.*'
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
@@ -12,6 +13,7 @@ on:
branches:
- master
- 'rel/1.*'
+ - 'rc/1.*'
paths-ignore:
- 'docs/**'
- 'site/**'
diff --git a/.github/workflows/sonar-codecov.yml
b/.github/workflows/sonar-codecov.yml
index 1c5c4827401..b20bdeb0aaa 100644
--- a/.github/workflows/sonar-codecov.yml
+++ b/.github/workflows/sonar-codecov.yml
@@ -8,6 +8,7 @@ on:
branches:
- master
- "rel/*"
+ - "rc/*"
paths-ignore:
- "docs/**"
- 'site/**'
@@ -16,6 +17,7 @@ on:
- master
- "rel/*"
- "new_*"
+ - "rc/*"
paths-ignore:
- "docs/**"
- 'site/**'
diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index 2379c66efe8..ac9e4b38a32 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -9,6 +9,7 @@ on:
- master
- 'rel/*'
- pipe-meta-sync
+ - "rc/*"
paths-ignore:
- 'docs/**'
- 'site/**'
@@ -17,6 +18,7 @@ on:
- master
- 'rel/*'
- pipe-meta-sync
+ - "rc/*"
paths-ignore:
- 'docs/**'
- 'site/**'
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
index 688668e568a..3aba8d479e7 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
@@ -49,7 +49,6 @@ import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.filter.basic.Filter;
import org.apache.tsfile.read.filter.factory.FilterFactory;
import org.apache.tsfile.read.filter.factory.ValueFilterApi;
-import org.apache.tsfile.read.filter.operator.ValueFilterOperators;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.write.schema.IMeasurementSchema;
@@ -106,18 +105,20 @@ public class ConvertPredicateToFilterVisitor
}
}
- private <T extends Comparable<T>> ValueFilterOperators.ValueNotIn<T>
constructNotInFilter(
+ private <T extends Comparable<T>> Filter constructNotInFilter(
PartialPath path, Set<String> stringValues, Context context) {
int measurementIndex = context.getMeasurementIndex(path.getMeasurement());
- Set<T> values = constructInSet(stringValues, context.getType(path));
- return ValueFilterApi.notIn(measurementIndex, values);
+ TSDataType dataType = context.getType(path);
+ Set<T> values = constructInSet(stringValues, dataType);
+ return ValueFilterApi.notIn(measurementIndex, values, dataType);
}
- private <T extends Comparable<T>> ValueFilterOperators.ValueIn<T>
constructInFilter(
+ private <T extends Comparable<T>> Filter constructInFilter(
PartialPath path, Set<String> stringValues, Context context) {
int measurementIndex = context.getMeasurementIndex(path.getMeasurement());
- Set<T> values = constructInSet(stringValues, context.getType(path));
- return ValueFilterApi.in(measurementIndex, values);
+ TSDataType dataType = context.getType(path);
+ Set<T> values = constructInSet(stringValues, dataType);
+ return ValueFilterApi.in(measurementIndex, values, dataType);
}
private <T extends Comparable<T>> Set<T> constructInSet(
@@ -154,12 +155,13 @@ public class ConvertPredicateToFilterVisitor
}
checkArgument(operand.getExpressionType().equals(ExpressionType.TIMESERIES));
- int measurementIndex =
- context.getMeasurementIndex(((TimeSeriesOperand)
operand).getPath().getMeasurement());
+ PartialPath path = ((TimeSeriesOperand) operand).getPath();
+ TSDataType dataType = context.getType(path);
+ int measurementIndex = context.getMeasurementIndex(path.getMeasurement());
if (likeExpression.isNot()) {
- return ValueFilterApi.notLike(measurementIndex,
likeExpression.getPattern());
+ return ValueFilterApi.notLike(measurementIndex,
likeExpression.getPattern(), dataType);
} else {
- return ValueFilterApi.like(measurementIndex,
likeExpression.getPattern());
+ return ValueFilterApi.like(measurementIndex,
likeExpression.getPattern(), dataType);
}
}
@@ -171,12 +173,13 @@ public class ConvertPredicateToFilterVisitor
}
checkArgument(operand.getExpressionType().equals(ExpressionType.TIMESERIES));
- int measurementIndex =
- context.getMeasurementIndex(((TimeSeriesOperand)
operand).getPath().getMeasurement());
+ PartialPath path = ((TimeSeriesOperand) operand).getPath();
+ TSDataType dataType = context.getType(path);
+ int measurementIndex = context.getMeasurementIndex(path.getMeasurement());
if (regularExpression.isNot()) {
- return ValueFilterApi.notRegexp(measurementIndex,
regularExpression.getPattern());
+ return ValueFilterApi.notRegexp(measurementIndex,
regularExpression.getPattern(), dataType);
} else {
- return ValueFilterApi.regexp(measurementIndex,
regularExpression.getPattern());
+ return ValueFilterApi.regexp(measurementIndex,
regularExpression.getPattern(), dataType);
}
}
@@ -256,20 +259,20 @@ public class ConvertPredicateToFilterVisitor
PartialPath path = ((TimeSeriesOperand) timeseriesOperand).getPath();
int measurementIndex = context.getMeasurementIndex(path.getMeasurement());
T value = getValue(((ConstantOperand) constantOperand).getValueString(),
context.getType(path));
-
+ TSDataType dataType = context.getType(path);
switch (expressionType) {
case EQUAL_TO:
- return ValueFilterApi.eq(measurementIndex, value);
+ return ValueFilterApi.eq(measurementIndex, value, dataType);
case NON_EQUAL:
- return ValueFilterApi.notEq(measurementIndex, value);
+ return ValueFilterApi.notEq(measurementIndex, value, dataType);
case GREATER_THAN:
- return ValueFilterApi.gt(measurementIndex, value);
+ return ValueFilterApi.gt(measurementIndex, value, dataType);
case GREATER_EQUAL:
- return ValueFilterApi.gtEq(measurementIndex, value);
+ return ValueFilterApi.gtEq(measurementIndex, value, dataType);
case LESS_THAN:
- return ValueFilterApi.lt(measurementIndex, value);
+ return ValueFilterApi.lt(measurementIndex, value, dataType);
case LESS_EQUAL:
- return ValueFilterApi.ltEq(measurementIndex, value);
+ return ValueFilterApi.ltEq(measurementIndex, value, dataType);
default:
throw new UnsupportedOperationException(
String.format("Unsupported expression type %s", expressionType));
@@ -326,12 +329,12 @@ public class ConvertPredicateToFilterVisitor
if (minValue == maxValue) {
return isNot
- ? ValueFilterApi.notEq(measurementIndex, minValue)
- : ValueFilterApi.eq(measurementIndex, minValue);
+ ? ValueFilterApi.notEq(measurementIndex, minValue, dataType)
+ : ValueFilterApi.eq(measurementIndex, minValue, dataType);
}
return isNot
- ? ValueFilterApi.notBetween(measurementIndex, minValue, maxValue)
- : ValueFilterApi.between(measurementIndex, minValue, maxValue);
+ ? ValueFilterApi.notBetween(measurementIndex, minValue, maxValue,
dataType)
+ : ValueFilterApi.between(measurementIndex, minValue, maxValue,
dataType);
}
@SuppressWarnings("unchecked")
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/AlignedMemPageReaderTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/AlignedMemPageReaderTest.java
index 7f1af66ad05..28c78226417 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/AlignedMemPageReaderTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/AlignedMemPageReaderTest.java
@@ -38,6 +38,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Optional;
+import static
org.apache.tsfile.read.filter.factory.ValueFilterApi.DEFAULT_MEASUREMENT_INDEX;
+
public class AlignedMemPageReaderTest {
private static final TsBlock tsBlock1;
@@ -138,13 +140,15 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(0L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.gtEq(50));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 50, TSDataType.INT32));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(50, tsBlock1.getPositionCount());
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.gtEq(50));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 50, TSDataType.INT32));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(40, tsBlock2.getPositionCount());
}
@@ -154,7 +158,8 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(0L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.gtEq(50));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 50, TSDataType.INT32));
alignedPageReader1.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock1.getPositionCount());
@@ -163,7 +168,8 @@ public class AlignedMemPageReaderTest {
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.gtEq(50));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 50, TSDataType.INT32));
alignedPageReader2.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock2.getPositionCount());
@@ -176,13 +182,15 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(50L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.gtEq(0));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 0, TSDataType.INT32));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(50, tsBlock1.getPositionCount());
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.gtEq(0));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 0, TSDataType.INT32));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(40, tsBlock2.getPositionCount());
}
@@ -192,7 +200,8 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(50L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.gtEq(0));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 0, TSDataType.INT32));
alignedPageReader1.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock1.getPositionCount());
@@ -201,7 +210,8 @@ public class AlignedMemPageReaderTest {
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.gtEq(0));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 0, TSDataType.INT32));
alignedPageReader2.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock2.getPositionCount());
@@ -214,13 +224,15 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(30L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.lt(80));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX, 80, TSDataType.INT32));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(50, tsBlock1.getPositionCount());
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.lt(80));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX, 80, TSDataType.INT32));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(50, tsBlock2.getPositionCount());
}
@@ -230,7 +242,8 @@ public class AlignedMemPageReaderTest {
Filter globalTimeFilter = TimeFilterApi.gtEq(50L);
MemAlignedPageReader alignedPageReader1 = generateAlignedPageReader();
alignedPageReader1.addRecordFilter(globalTimeFilter);
- alignedPageReader1.addRecordFilter(ValueFilterApi.lt(80));
+ alignedPageReader1.addRecordFilter(
+ ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX, 80, TSDataType.INT32));
alignedPageReader1.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock1 = alignedPageReader1.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock1.getPositionCount());
@@ -239,7 +252,8 @@ public class AlignedMemPageReaderTest {
MemAlignedPageReader alignedPageReader2 =
generateSingleColumnAlignedPageReader();
alignedPageReader2.addRecordFilter(globalTimeFilter);
- alignedPageReader2.addRecordFilter(ValueFilterApi.lt(80));
+ alignedPageReader2.addRecordFilter(
+ ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX, 80, TSDataType.INT32));
alignedPageReader2.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock2 = alignedPageReader2.getAllSatisfiedData();
Assert.assertEquals(10, tsBlock2.getPositionCount());
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReaderTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReaderTest.java
index ec0a7cebaf7..f9a13a71ad8 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReaderTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReaderTest.java
@@ -36,6 +36,8 @@ import java.io.IOException;
import java.util.Collections;
import java.util.Optional;
+import static
org.apache.tsfile.read.filter.factory.ValueFilterApi.DEFAULT_MEASUREMENT_INDEX;
+
public class MemPageReaderTest {
private static final TsBlock tsBlock;
@@ -110,7 +112,7 @@ public class MemPageReaderTest {
public void testFilter() throws IOException {
IPageReader pageReader = generatePageReader();
pageReader.addRecordFilter(TimeFilterApi.gtEq(50));
- pageReader.addRecordFilter(ValueFilterApi.lt(80));
+ pageReader.addRecordFilter(ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX,
80, TSDataType.INT32));
TsBlock tsBlock = pageReader.getAllSatisfiedData();
@@ -121,7 +123,7 @@ public class MemPageReaderTest {
public void testFilterAndLimitOffset() throws IOException {
IPageReader pageReader = generatePageReader();
pageReader.addRecordFilter(TimeFilterApi.gtEq(50));
- pageReader.addRecordFilter(ValueFilterApi.lt(80));
+ pageReader.addRecordFilter(ValueFilterApi.lt(DEFAULT_MEASUREMENT_INDEX,
80, TSDataType.INT32));
pageReader.setLimitOffset(new PaginationController(10, 10));
TsBlock tsBlock = pageReader.getAllSatisfiedData();
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/AlignedSeriesScanPredicatePushDownTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/AlignedSeriesScanPredicatePushDownTest.java
index a7bcce09634..9c63821bfd2 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/AlignedSeriesScanPredicatePushDownTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/AlignedSeriesScanPredicatePushDownTest.java
@@ -188,7 +188,9 @@ public class AlignedSeriesScanPredicatePushDownTest extends
AbstractAlignedSerie
AlignedSeriesScanUtil seriesScanUtil =
getAlignedSeriesScanUtil(
TimeFilterApi.gt(10),
- FilterFactory.and(ValueFilterApi.gtEq(0, 20), ValueFilterApi.lt(1,
30)));
+ FilterFactory.and(
+ ValueFilterApi.gtEq(0, 20, TSDataType.INT32),
+ ValueFilterApi.lt(1, 30, TSDataType.INT32)));
// File 1 skipped
// File 2 skipped
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/SeriesScanPredicatePushDownTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/SeriesScanPredicatePushDownTest.java
index e9d03b5aae1..de295f1ce9a 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/SeriesScanPredicatePushDownTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/series/SeriesScanPredicatePushDownTest.java
@@ -38,6 +38,8 @@ import org.junit.Test;
import java.io.IOException;
import java.util.Collections;
+import static
org.apache.tsfile.read.filter.factory.ValueFilterApi.DEFAULT_MEASUREMENT_INDEX;
+
public class SeriesScanPredicatePushDownTest extends AbstractSeriesScanTest {
private SeriesScanUtil getSeriesScanUtil(Filter globalTimeFilter, Filter
pushDownFilter)
@@ -155,7 +157,10 @@ public class SeriesScanPredicatePushDownTest extends
AbstractSeriesScanTest {
@Test
public void testSkipFileByPushDownFilter() throws IllegalPathException,
IOException {
- SeriesScanUtil seriesScanUtil = getSeriesScanUtil(TimeFilterApi.gt(0),
ValueFilterApi.gtEq(10));
+ SeriesScanUtil seriesScanUtil =
+ getSeriesScanUtil(
+ TimeFilterApi.gt(0),
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 10,
TSDataType.INT32));
checkFile1Skipped(seriesScanUtil);
}
@@ -184,7 +189,10 @@ public class SeriesScanPredicatePushDownTest extends
AbstractSeriesScanTest {
@Test
public void testSkipChunkByPushDownFilter() throws IllegalPathException,
IOException {
- SeriesScanUtil seriesScanUtil = getSeriesScanUtil(TimeFilterApi.gt(0),
ValueFilterApi.gtEq(20));
+ SeriesScanUtil seriesScanUtil =
+ getSeriesScanUtil(
+ TimeFilterApi.gt(0),
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 20,
TSDataType.INT32));
checkFile2Chunk1Skipped(seriesScanUtil);
}
@@ -223,7 +231,10 @@ public class SeriesScanPredicatePushDownTest extends
AbstractSeriesScanTest {
@Test
public void testSkipPageByPushDownFilter() throws IllegalPathException,
IOException {
- SeriesScanUtil seriesScanUtil = getSeriesScanUtil(TimeFilterApi.gt(0),
ValueFilterApi.gtEq(40));
+ SeriesScanUtil seriesScanUtil =
+ getSeriesScanUtil(
+ TimeFilterApi.gt(0),
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 40,
TSDataType.INT32));
checkFile1AndFile2Skipped(seriesScanUtil);
// File 3 - Chunk 1 - Page 1 skipped
@@ -261,7 +272,10 @@ public class SeriesScanPredicatePushDownTest extends
AbstractSeriesScanTest {
@Test
public void testSkipMergeReaderPointByPushDownFilter() throws
IllegalPathException, IOException {
- SeriesScanUtil seriesScanUtil = getSeriesScanUtil(TimeFilterApi.gt(0),
ValueFilterApi.gtEq(55));
+ SeriesScanUtil seriesScanUtil =
+ getSeriesScanUtil(
+ TimeFilterApi.gt(0),
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 55,
TSDataType.INT32));
checkFile1AndFile2AndMergeReaderPointSkipped(seriesScanUtil);
}
@@ -307,7 +321,10 @@ public class SeriesScanPredicatePushDownTest extends
AbstractSeriesScanTest {
@Test
public void testSkipMergeReaderByPushDownFilter() throws
IllegalPathException, IOException {
- SeriesScanUtil seriesScanUtil = getSeriesScanUtil(TimeFilterApi.gt(0),
ValueFilterApi.gtEq(60));
+ SeriesScanUtil seriesScanUtil =
+ getSeriesScanUtil(
+ TimeFilterApi.gt(0),
+ ValueFilterApi.gtEq(DEFAULT_MEASUREMENT_INDEX, 60,
TSDataType.INT32));
checkFile1AndFile2AndFile3Chunk1Skipped(seriesScanUtil);
diff --git a/pom.xml b/pom.xml
index e29fe9e5365..d4bb7dce342 100644
--- a/pom.xml
+++ b/pom.xml
@@ -166,7 +166,7 @@
<thrift.version>0.14.1</thrift.version>
<xz.version>1.9</xz.version>
<zstd-jni.version>1.5.6-3</zstd-jni.version>
- <tsfile.version>1.0.1-a6fb416-SNAPSHOT</tsfile.version>
+ <tsfile.version>1.1.0-86d5641f-SNAPSHOT</tsfile.version>
</properties>
<!--
if we claim dependencies in dependencyManagement, then we do not claim