You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2023/04/09 14:22:04 UTC
[iotdb] 02/02: add UTs
This is an automated email from the ASF dual-hosted git repository.
hui pushed a commit to branch lmh/FixAliasBug
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit df658b9a9bd76209bacb774f83d4ad52f4842ea7
Author: liuminghui233 <54...@qq.com>
AuthorDate: Sun Apr 9 22:14:05 2023 +0800
add UTs
---
.../iotdb/db/mpp/plan/analyze/AnalyzeTest.java | 36 ++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeTest.java
index 3fbf8f44c1..ac16f04ec3 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeTest.java
@@ -758,6 +758,42 @@ public class AnalyzeTest {
}
}
+ @Test
+ public void testAlias1() {
+ Analysis analysis = analyzeSQL("select s1 as a, s2 as b from root.sg.d2.a, root.sg.d2.b");
+ assert analysis != null;
+ Assert.assertEquals(
+ analysis.getRespDatasetHeader(),
+ new DatasetHeader(
+ Arrays.asList(
+ new ColumnHeader("root.sg.d2.a.s1", TSDataType.INT32, "a"),
+ new ColumnHeader("root.sg.d2.a.s2", TSDataType.DOUBLE, "b")),
+ false));
+ }
+
+ @Test
+ public void testAlias2() {
+ assertTestFail(
+ "select s1 as a from root.sg.*", "alias 'a' can only be matched with one time series");
+ assertTestFail(
+ "select s1 as a from root.sg.d1, root.sg.d2",
+ "alias 'a' can only be matched with one time series");
+ }
+
+ private void assertTestFail(String sql, String errMsg) {
+ try {
+ Statement statement =
+ StatementGenerator.createStatement(sql, ZonedDateTime.now().getOffset());
+ MPPQueryContext context = new MPPQueryContext(new QueryId("test_query"));
+ Analyzer analyzer =
+ new Analyzer(context, new FakePartitionFetcherImpl(), new FakeSchemaFetcherImpl());
+ analyzer.analyze(statement);
+ fail("No exception!");
+ } catch (Exception e) {
+ Assert.assertTrue(e.getMessage(), e.getMessage().contains(errMsg));
+ }
+ }
+
private Analysis analyzeSQL(String sql) {
try {
Statement statement =