Skip to content

Commit 7e0dea4

Browse files
committed
add filter/sort/limit/offset/agg test cases in IT
1 parent eca5240 commit 7e0dea4

File tree

1 file changed

+59
-17
lines changed
  • integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent

1 file changed

+59
-17
lines changed

integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBCteIT.java

Lines changed: 59 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -106,48 +106,90 @@ public void tearDown() {
106106
}
107107

108108
@Test
109-
public void testQuery() {
110-
final String mainQuery = "select * from cte order by deviceid";
111-
109+
public void testFilterQuery() {
112110
// case 1
111+
String mainQuery = "select * from cte where time > 1000 order by deviceid";
113112
String[] expectedHeader = new String[] {"time", "deviceid", "voltage"};
114113
String[] retArray =
115114
new String[] {
116-
"1970-01-01T00:00:01.000Z,d1,100.0,",
117115
"1970-01-01T00:00:02.000Z,d1,200.0,",
118-
"1970-01-01T00:00:01.000Z,d2,300.0,"
119116
};
120117
String[] cteTemplateQueries = new String[] {"cte as %s (select * from testtb)"};
121118
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
122119

123120
// case 2
124-
expectedHeader = new String[] {"deviceid", "voltage"};
125-
retArray = new String[] {"d1,100.0,", "d1,200.0,", "d2,300.0,"};
126-
cteTemplateQueries = new String[] {"cte as %s (select deviceid, voltage from testtb)"};
121+
mainQuery = "select * from cte where voltage > 200 order by deviceid";
122+
expectedHeader = new String[] {"time", "deviceid", "voltage"};
123+
retArray = new String[] {"1970-01-01T00:00:01.000Z,d2,300.0,"};
127124
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
125+
}
128126

129-
// case 3
130-
expectedHeader = new String[] {"deviceid", "avg_voltage"};
131-
retArray = new String[] {"d1,150.0,", "d2,300.0,"};
132-
cteTemplateQueries =
127+
@Test
128+
public void testSortQuery() {
129+
final String mainQuery = "select * from cte order by deviceid, voltage desc";
130+
131+
String[] expectedHeader = new String[] {"time", "deviceid", "voltage"};
132+
String[] retArray =
133+
new String[] {
134+
"1970-01-01T00:00:02.000Z,d1,200.0,",
135+
"1970-01-01T00:00:01.000Z,d1,100.0,",
136+
"1970-01-01T00:00:01.000Z,d2,300.0,"
137+
};
138+
String[] cteTemplateQueries = new String[] {"cte as %s (select * from testtb)"};
139+
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
140+
}
141+
142+
@Test
143+
public void testLimitOffsetQuery() {
144+
final String mainQuery = "select * from cte limit 1 offset 1";
145+
146+
String[] expectedHeader = new String[] {"time", "deviceid", "voltage"};
147+
String[] retArray =
148+
new String[] {
149+
"1970-01-01T00:00:02.000Z,d1,200.0,",
150+
};
151+
String[] cteTemplateQueries =
152+
new String[] {"cte as %s (select * from testtb where deviceid = 'd1') "};
153+
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
154+
}
155+
156+
@Test
157+
public void testAggQuery() {
158+
// case 1
159+
String mainQuery = "select * from cte order by deviceid";
160+
String[] expectedHeader = new String[] {"deviceid", "avg_voltage"};
161+
String[] retArray = new String[] {"d1,150.0,", "d2,300.0,"};
162+
String[] cteTemplateQueries =
133163
new String[] {
134164
"cte as %s (select deviceid, avg(voltage) as avg_voltage from testtb group by deviceid)"
135165
};
136166
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
167+
168+
// case 2
169+
mainQuery =
170+
"select deviceid, avg(voltage) as avg_voltage from cte group by deviceid order by deviceid";
171+
cteTemplateQueries = new String[] {"cte as %s (select deviceid, voltage from testtb)"};
172+
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
137173
}
138174

139175
@Test
140176
public void testPartialColumn() {
141-
final String mainQuery = "select * from cte order by id";
142-
143177
// case 1
144-
String[] expectedHeader = new String[] {"id", "v"};
178+
String mainQuery = "select * from cte order by deviceid";
179+
String[] expectedHeader = new String[] {"deviceid", "voltage"};
145180
String[] retArray = new String[] {"d1,100.0,", "d1,200.0,", "d2,300.0,"};
146-
String[] cteTemplateQueries =
147-
new String[] {"cte(id, v) as %s (select deviceid, voltage from testtb)"};
181+
String[] cteTemplateQueries = new String[] {"cte as %s (select deviceid, voltage from testtb)"};
148182
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
149183

184+
mainQuery = "select * from cte order by id";
185+
expectedHeader = new String[] {"id", "v"};
186+
retArray = new String[] {"d1,100.0,", "d1,200.0,", "d2,300.0,"};
187+
150188
// case 2
189+
cteTemplateQueries = new String[] {"cte(id, v) as %s (select deviceid, voltage from testtb)"};
190+
testCteSuccessWithVariants(cteTemplateQueries, mainQuery, expectedHeader, retArray);
191+
192+
// case 3
151193
cteTemplateQueries = new String[] {"cte(v) as %s (select deviceid, voltage from testtb)"};
152194
String errMsg = "701: Column alias list has 1 entries but relation has 2 columns";
153195
testCteFailureWithVariants(cteTemplateQueries, mainQuery, errMsg);

0 commit comments

Comments
 (0)