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); + } }
