diff --git a/plugin/trino-druid/src/test/java/io/trino/plugin/druid/TestDruidConnectorTest.java b/plugin/trino-druid/src/test/java/io/trino/plugin/druid/TestDruidConnectorTest.java index 840e0f7867fe..525c1e123791 100644 --- a/plugin/trino-druid/src/test/java/io/trino/plugin/druid/TestDruidConnectorTest.java +++ b/plugin/trino-druid/src/test/java/io/trino/plugin/druid/TestDruidConnectorTest.java @@ -160,43 +160,22 @@ public void testShowCreateTable() ")"); } - @Test @Override - public void testSelectInformationSchemaColumns() + protected @Language("SQL") String getOrdersTableWithColumns() { - String catalog = getSession().getCatalog().get(); - String schema = getSession().getSchema().get(); - String schemaPattern = schema.replaceAll(".$", "_"); - - @Language("SQL") String ordersTableWithColumns = "VALUES " + - "('orders', 'orderkey'), " + - "('orders', 'custkey'), " + - "('orders', 'orderstatus'), " + - "('orders', 'totalprice'), " + - "('orders', 'orderdate'), " + - "('orders', '__time'), " + - "('orders', 'orderpriority'), " + - "('orders', 'clerk'), " + - "('orders', 'shippriority'), " + - "('orders', 'comment')"; - - assertQuery("SELECT table_schema FROM information_schema.columns WHERE table_schema = '" + schema + "' GROUP BY table_schema", "VALUES '" + schema + "'"); - assertQuery("SELECT table_name FROM information_schema.columns WHERE table_name = 'orders' GROUP BY table_name", "VALUES 'orders'"); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = '" + schema + "' AND table_name = 'orders'", ordersTableWithColumns); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = '" + schema + "' AND table_name LIKE '%rders'", ordersTableWithColumns); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema LIKE '" + schemaPattern + "' AND table_name LIKE '_rder_'", ordersTableWithColumns); - assertQuery( - "SELECT table_name, column_name FROM information_schema.columns " + - "WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "' AND table_name LIKE '%orders%'", - ordersTableWithColumns); - - assertQuerySucceeds("SELECT * FROM information_schema.columns"); - assertQuery("SELECT DISTINCT table_name, column_name FROM information_schema.columns WHERE table_name LIKE '_rders'", ordersTableWithColumns); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "'"); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "'"); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "' AND table_name LIKE '_rders'", ordersTableWithColumns); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_name LIKE '%'"); - assertQuery("SELECT column_name FROM information_schema.columns WHERE table_catalog = 'something_else'", "SELECT '' WHERE false"); + return """ + VALUES + ('orders', 'orderkey'), + ('orders', 'custkey'), + ('orders', 'orderstatus'), + ('orders', 'totalprice'), + ('orders', 'orderdate'), + ('orders', '__time'), + ('orders', 'orderpriority'), + ('orders', 'clerk'), + ('orders', 'shippriority'), + ('orders', 'comment') + """; } @Test diff --git a/plugin/trino-pinot/src/test/java/io/trino/plugin/pinot/TestPinotConnectorTest.java b/plugin/trino-pinot/src/test/java/io/trino/plugin/pinot/TestPinotConnectorTest.java index ec4677dba43f..ed62211db1b2 100644 --- a/plugin/trino-pinot/src/test/java/io/trino/plugin/pinot/TestPinotConnectorTest.java +++ b/plugin/trino-pinot/src/test/java/io/trino/plugin/pinot/TestPinotConnectorTest.java @@ -100,15 +100,10 @@ public void testSelectAll() assertQuery("SELECT orderkey, custkey, orderstatus, totalprice, orderdate, orderpriority, clerk, shippriority, comment FROM orders"); } - @Test - @Override // Override because updated_at_seconds column exists - public void testSelectInformationSchemaColumns() + @Override + protected @Language("SQL") String getOrdersTableWithColumns() { - String catalog = getSession().getCatalog().get(); - String schema = getSession().getSchema().get(); - String schemaPattern = schema.replaceAll(".$", "_"); - - @Language("SQL") String ordersTableWithColumns = """ + return """ VALUES ('orders', 'orderkey'), ('orders', 'custkey'), @@ -121,24 +116,6 @@ public void testSelectInformationSchemaColumns() ('orders', 'shippriority'), ('orders', 'comment') """; - - assertQuery("SELECT table_schema FROM information_schema.columns WHERE table_schema = '" + schema + "' GROUP BY table_schema", "VALUES '" + schema + "'"); - assertQuery("SELECT table_name FROM information_schema.columns WHERE table_name = 'orders' GROUP BY table_name", "VALUES 'orders'"); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = '" + schema + "' AND table_name = 'orders'", ordersTableWithColumns); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = '" + schema + "' AND table_name LIKE '%rders'", ordersTableWithColumns); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_schema LIKE '" + schemaPattern + "' AND table_name LIKE '_rder_'", ordersTableWithColumns); - assertQuery( - "SELECT table_name, column_name FROM information_schema.columns " + - "WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "' AND table_name LIKE '%orders%'", - ordersTableWithColumns); - - assertQuerySucceeds("SELECT * FROM information_schema.columns"); - assertQuery("SELECT DISTINCT table_name, column_name FROM information_schema.columns WHERE table_name LIKE '_rders'", ordersTableWithColumns); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "'"); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "'"); - assertQuery("SELECT table_name, column_name FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_schema = '" + schema + "' AND table_name LIKE '_rders'", ordersTableWithColumns); - assertQuerySucceeds("SELECT * FROM information_schema.columns WHERE table_catalog = '" + catalog + "' AND table_name LIKE '%'"); - assertQuery("SELECT column_name FROM information_schema.columns WHERE table_catalog = 'something_else'", "SELECT '' WHERE false"); } @Test diff --git a/testing/trino-testing/src/main/java/io/trino/testing/BaseConnectorTest.java b/testing/trino-testing/src/main/java/io/trino/testing/BaseConnectorTest.java index 8ad72392e577..bd0e0ca721df 100644 --- a/testing/trino-testing/src/main/java/io/trino/testing/BaseConnectorTest.java +++ b/testing/trino-testing/src/main/java/io/trino/testing/BaseConnectorTest.java @@ -2067,16 +2067,7 @@ public void testSelectInformationSchemaColumns() String schema = getSession().getSchema().get(); String schemaPattern = schema.replaceAll(".$", "_"); - @Language("SQL") String ordersTableWithColumns = "VALUES " + - "('orders', 'orderkey'), " + - "('orders', 'custkey'), " + - "('orders', 'orderstatus'), " + - "('orders', 'totalprice'), " + - "('orders', 'orderdate'), " + - "('orders', 'orderpriority'), " + - "('orders', 'clerk'), " + - "('orders', 'shippriority'), " + - "('orders', 'comment')"; + String ordersTableWithColumns = getOrdersTableWithColumns(); assertQuery("SELECT table_schema FROM information_schema.columns WHERE table_schema = '" + schema + "' GROUP BY table_schema", "VALUES '" + schema + "'"); assertQuery("SELECT table_name FROM information_schema.columns WHERE table_name = 'orders' GROUP BY table_name", "VALUES 'orders'"); @@ -2110,6 +2101,22 @@ public void testSelectInformationSchemaColumns() "('views')"); } + protected @Language("SQL") String getOrdersTableWithColumns() + { + return """ + VALUES + ('orders', 'orderkey'), + ('orders', 'custkey'), + ('orders', 'orderstatus'), + ('orders', 'totalprice'), + ('orders', 'orderdate'), + ('orders', 'orderpriority'), + ('orders', 'clerk'), + ('orders', 'shippriority'), + ('orders', 'comment') + """; + } + @Test public void testShowCreateInformationSchema() {