Skip to content

Commit bda3a91

Browse files
authored
Extend some satisfy functions in every data type corresponding Value Filter class so that accept other type as match object. (#684)
1 parent 80b3733 commit bda3a91

1 file changed

Lines changed: 61 additions & 1 deletion

File tree

java/tsfile/src/main/codegen/templates/FilterTemplate.ftl

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.${filter
2323

2424
import org.apache.tsfile.block.column.Column;
2525
import org.apache.tsfile.read.common.block.TsBlock;
26-
<#if filter.dataType == "Binary">
26+
<#if filter.dataType == "Binary" || filter.dataType == "String">
2727
import org.apache.tsfile.utils.Binary;
28+
import java.nio.charset.StandardCharsets;
2829
</#if>
2930
import org.apache.tsfile.utils.ReadWriteIOUtils;
3031

@@ -66,6 +67,65 @@ public abstract class ${className} extends ValueFilter {
6667
}
6768
</#if>
6869

70+
<#if filter.dataType == "float">
71+
@Override
72+
public boolean satisfyInteger(long time, int value){
73+
return satisfyFloat(time, value);
74+
}
75+
</#if>
76+
77+
<#if filter.dataType == "double">
78+
@Override
79+
public boolean satisfyInteger(long time, int value){
80+
return satisfyDouble(time, value);
81+
}
82+
83+
@Override
84+
public boolean satisfyLong(long time, long value){
85+
return satisfyDouble(time, value);
86+
}
87+
88+
@Override
89+
public boolean satisfyFloat(long time, float value){
90+
return satisfyDouble(time, value);
91+
}
92+
</#if>
93+
94+
<#if filter.dataType == "String" || filter.dataType == "Binary">
95+
@Override
96+
public boolean satisfyInteger(long time, int value){
97+
return satisfyBinary(time, new Binary(String.valueOf(value), StandardCharsets.UTF_8));
98+
}
99+
100+
@Override
101+
public boolean satisfyLong(long time, long value){
102+
return satisfyBinary(time, new Binary(String.valueOf(value), StandardCharsets.UTF_8));
103+
}
104+
105+
@Override
106+
public boolean satisfyFloat(long time, float value){
107+
return satisfyBinary(time, new Binary(String.valueOf(value), StandardCharsets.UTF_8));
108+
}
109+
110+
@Override
111+
public boolean satisfyDouble(long time, double value){
112+
return satisfyBinary(time, new Binary(String.valueOf(value), StandardCharsets.UTF_8));
113+
}
114+
115+
@Override
116+
public boolean satisfyBoolean(long time, boolean value){
117+
return satisfyBinary(time, new Binary(String.valueOf(value), StandardCharsets.UTF_8));
118+
}
119+
120+
<#if filter.javaBoxName == "Tag">
121+
<#else>
122+
@Override
123+
public boolean satisfyString(long time, String value){
124+
return satisfyBinary(time, new Binary(value, StandardCharsets.UTF_8));
125+
}
126+
</#if>
127+
</#if>
128+
69129
@Override
70130
public ClassSerializeId getClassSerializeId() {
71131
return ${filter.classSerializeName};

0 commit comments

Comments
 (0)