This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch AdminCommand
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 9fb920908dc2b83d5ba1eb18e90bd940f5d98d3c
Author: JackieTien97 <[email protected]>
AuthorDate: Fri Oct 25 17:50:15 2024 +0800

    Add it
---
 .../org/apache/iotdb/db/it/utils/TestUtils.java    | 43 ++++++++++++++++++++++
 .../it/query/recent/IoTDBNullIdQueryIT.java        | 34 +++++++++++++++++
 2 files changed, 77 insertions(+)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java 
b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
index d95f5f60e89..bc1794223d7 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
@@ -265,6 +265,49 @@ public class TestUtils {
     }
   }
 
+  public static void tableResultSetFuzzyTest(
+      String sql, String[] expectedHeader, int expectedCount, String database) 
{
+    tableResultSetFuzzyTest(
+        sql,
+        expectedHeader,
+        expectedCount,
+        SessionConfig.DEFAULT_USER,
+        SessionConfig.DEFAULT_PASSWORD,
+        database);
+  }
+
+  public static void tableResultSetFuzzyTest(
+      String sql,
+      String[] expectedHeader,
+      int expectedCount,
+      String userName,
+      String password,
+      String database) {
+    try (Connection connection =
+        EnvFactory.getEnv().getConnection(userName, password, 
BaseEnv.TABLE_SQL_DIALECT)) {
+      connection.setClientInfo("time_zone", "+00:00");
+      try (Statement statement = connection.createStatement()) {
+        statement.execute("use " + database);
+        try (ResultSet resultSet = statement.executeQuery(sql)) {
+          ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+          for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+            assertEquals(expectedHeader[i - 1], 
resultSetMetaData.getColumnName(i));
+          }
+          assertEquals(expectedHeader.length, 
resultSetMetaData.getColumnCount());
+
+          int cnt = 0;
+          while (resultSet.next()) {
+            cnt++;
+          }
+          assertEquals(expectedCount, cnt);
+        }
+      }
+    } catch (SQLException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
+
   public static void tableAssertTestFail(String sql, String errMsg, String 
databaseName) {
     tableAssertTestFail(
         sql, errMsg, SessionConfig.DEFAULT_USER, 
SessionConfig.DEFAULT_PASSWORD, databaseName);
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java
index cf25973b037..d88c63f5aaa 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullIdQueryIT.java
@@ -40,6 +40,7 @@ import java.sql.Types;
 import static org.apache.iotdb.db.it.utils.TestUtils.defaultFormatDataTime;
 import static org.apache.iotdb.db.it.utils.TestUtils.prepareTableData;
 import static org.apache.iotdb.db.it.utils.TestUtils.tableResultSetEqualTest;
+import static org.apache.iotdb.db.it.utils.TestUtils.tableResultSetFuzzyTest;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -462,4 +463,37 @@ public class IoTDBNullIdQueryIT {
         retArray,
         DATABASE_NAME);
   }
+
+  @Test
+  public void showStatementTest() {
+    String[] expectedHeader = new String[] {"CurrentSqlDialect"};
+    String[] retArray =
+        new String[] {
+          "TABLE,",
+        };
+    tableResultSetEqualTest("show current_sql_dialect", expectedHeader, 
retArray, DATABASE_NAME);
+
+    expectedHeader = new String[] {"CurrentUser"};
+    retArray =
+        new String[] {
+          "root,",
+        };
+    tableResultSetEqualTest("show current_user", expectedHeader, retArray, 
DATABASE_NAME);
+
+    expectedHeader = new String[] {"CurrentDatabase"};
+    retArray =
+        new String[] {
+          DATABASE_NAME + ",",
+        };
+    tableResultSetEqualTest("show current_database", expectedHeader, retArray, 
DATABASE_NAME);
+
+    expectedHeader = new String[] {"Version", "BuildInfo"};
+    tableResultSetFuzzyTest("show version", expectedHeader, 1, DATABASE_NAME);
+
+    expectedHeader = new String[] {"Variable", "Value"};
+    tableResultSetFuzzyTest("show variables", expectedHeader, 15, 
DATABASE_NAME);
+
+    expectedHeader = new String[] {"ClusterId"};
+    tableResultSetFuzzyTest("show clusterid", expectedHeader, 1, 
DATABASE_NAME);
+  }
 }

Reply via email to