• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

apache / iotdb / #9629

pending completion
#9629

push

travis_ci

web-flow
Add executeGroupByQueryIntervalQuery rpc interface (#10571)

260 of 260 new or added lines in 6 files covered. (100.0%)

79015 of 165199 relevant lines covered (47.83%)

0.48 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.5
/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterFactory.java
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one
3
 * or more contributor license agreements.  See the NOTICE file
4
 * distributed with this work for additional information
5
 * regarding copyright ownership.  The ASF licenses this file
6
 * to you under the Apache License, Version 2.0 (the
7
 * "License"); you may not use this file except in compliance
8
 * with the License.  You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing,
13
 * software distributed under the License is distributed on an
14
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
 * KIND, either express or implied.  See the License for the
16
 * specific language governing permissions and limitations
17
 * under the License.
18
 */
19

20
package org.apache.iotdb.tsfile.read.filter.factory;
21

22
import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
23
import org.apache.iotdb.tsfile.read.filter.GroupByMonthFilter;
24
import org.apache.iotdb.tsfile.read.filter.TimeFilter;
25
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
26
import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
27
import org.apache.iotdb.tsfile.read.filter.operator.Between;
28
import org.apache.iotdb.tsfile.read.filter.operator.Eq;
29
import org.apache.iotdb.tsfile.read.filter.operator.Gt;
30
import org.apache.iotdb.tsfile.read.filter.operator.GtEq;
31
import org.apache.iotdb.tsfile.read.filter.operator.In;
32
import org.apache.iotdb.tsfile.read.filter.operator.Like;
33
import org.apache.iotdb.tsfile.read.filter.operator.Lt;
34
import org.apache.iotdb.tsfile.read.filter.operator.LtEq;
35
import org.apache.iotdb.tsfile.read.filter.operator.NotEq;
36
import org.apache.iotdb.tsfile.read.filter.operator.NotFilter;
37
import org.apache.iotdb.tsfile.read.filter.operator.OrFilter;
38
import org.apache.iotdb.tsfile.read.filter.operator.Regexp;
39

40
import java.nio.ByteBuffer;
41

42
public class FilterFactory {
43

44
  private FilterFactory() {
45
    // forbidden construction
46
  }
47

48
  public static AndFilter and(Filter left, Filter right) {
49
    return new AndFilter(left, right);
1✔
50
  }
51

52
  public static OrFilter or(Filter left, Filter right) {
53
    return new OrFilter(left, right);
1✔
54
  }
55

56
  public static NotFilter not(Filter filter) {
57
    return new NotFilter(filter);
1✔
58
  }
59

60
  public static Filter deserialize(ByteBuffer buffer) {
61
    FilterSerializeId id = FilterSerializeId.values()[buffer.get()];
1✔
62

63
    Filter filter;
64
    switch (id) {
1✔
65
      case EQ:
66
        filter = new Eq<>();
1✔
67
        break;
1✔
68
      case GT:
69
        filter = new Gt<>();
1✔
70
        break;
1✔
71
      case LT:
72
        filter = new Lt<>();
1✔
73
        break;
1✔
74
      case OR:
75
        filter = new OrFilter();
1✔
76
        break;
1✔
77
      case AND:
78
        filter = new AndFilter();
1✔
79
        break;
1✔
80
      case NEQ:
81
        filter = new NotEq<>();
1✔
82
        break;
1✔
83
      case NOT:
84
        filter = new NotFilter();
1✔
85
        break;
1✔
86
      case GTEQ:
87
        filter = new GtEq<>();
1✔
88
        break;
1✔
89
      case LTEQ:
90
        filter = new LtEq<>();
1✔
91
        break;
1✔
92
      case IN:
93
        filter = new In<>();
1✔
94
        break;
1✔
95
      case GROUP_BY:
96
        filter = new GroupByFilter();
1✔
97
        break;
1✔
98
      case GROUP_BY_MONTH:
99
        filter = new GroupByMonthFilter();
1✔
100
        break;
1✔
101
      case REGEXP:
102
        filter = new Regexp<>();
1✔
103
        break;
1✔
104
      case LIKE:
105
        filter = new Like<>();
1✔
106
        break;
1✔
107
      case BETWEEN:
108
        filter = new Between<>();
1✔
109
        break;
1✔
110
      case TIME_GTEQ_AND_LT:
111
        filter = new TimeFilter.TimeGtEqAndLt();
×
112
        break;
×
113
      default:
114
        throw new UnsupportedOperationException("Unknown filter type " + id);
×
115
    }
116
    filter.deserialize(buffer);
1✔
117
    return filter;
1✔
118
  }
119
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc