richardantal commented on a change in pull request #1278:
URL: https://github.com/apache/phoenix/pull/1278#discussion_r680736027
##########
File path:
phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
##########
@@ -352,6 +355,60 @@ public void testSequenceMetadataScan() throws SQLException
{
}
}
+ @Test
+ public void testShowSchemas() throws SQLException {
+ try (Connection conn = DriverManager.getConnection(getUrl())) {
+ ResultSet rs = conn.prepareStatement("show
schemas").executeQuery();
+ assertTrue(rs.next());
+ assertEquals("SYSTEM", rs.getString("TABLE_SCHEM"));
+ assertEquals(null, rs.getString("TABLE_CATALOG"));
+ assertFalse(rs.next());
+ // Create another schema and make sure it is listed.
+ String schema = "showschemastest_" + generateUniqueName();
+ String fullTable = schema + "." + generateUniqueName();
+ ensureTableCreated(getUrl(), fullTable, ENTITY_HISTORY_TABLE_NAME,
null);
+ // show schemas
+ rs = conn.prepareStatement("show schemas").executeQuery();
+ Set<String> schemas = new HashSet<>();
+ while (rs.next()) {
+ schemas.add(rs.getString("TABLE_SCHEM"));
+ assertEquals(null, rs.getString("TABLE_CATALOG"));
+ }
+ assertEquals(2, schemas.size());
+ assertTrue(schemas.contains("SYSTEM"));
+ assertTrue(schemas.contains(schema.toUpperCase()));
+ // show schemas like 'SYST%' and only SYSTEM should show up.
+ rs = conn.prepareStatement("show schemas like
'SYST%'").executeQuery();
+ assertTrue(rs.next());
+ assertEquals("SYSTEM", rs.getString("TABLE_SCHEM"));
+ assertEquals(null, rs.getString("TABLE_CATALOG"));
+ assertFalse(rs.next());
+ }
+ }
+
+ @Test
+ public void testShowTables() throws SQLException {
+ try (Connection conn = DriverManager.getConnection(getUrl())) {
+ // List all the tables in a particular schema.
+ ResultSet rs = conn.prepareStatement("show tables in
SYSTEM").executeQuery();
+ Set<String> tables = new HashSet<>();
+ while (rs.next()) {
+ tables.add(rs.getString("TABLE_NAME"));
+ assertEquals("SYSTEM", rs.getString("TABLE_SCHEM"));
+ }
+ assertEquals(8, tables.size());
+ assertTrue(tables.contains("CATALOG"));
Review comment:
In line 396 we add what is in the TABLE_NAME column to the set called
tables, here we assert that `CATALOG` and `FUNCTION` is in that set of tables.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]