From 3ec871d61a8c95741c6f092a3176e6bf3ac847ab Mon Sep 17 00:00:00 2001 From: Dominik Przybysz Date: Mon, 8 Jan 2024 07:58:36 +0100 Subject: [PATCH] SNOW-1001928: Fix flaky test DatabaseMetaDataLatestIT.testHandlingSpecialChars --- .../client/jdbc/DatabaseMetaDataLatestIT.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/test/java/net/snowflake/client/jdbc/DatabaseMetaDataLatestIT.java b/src/test/java/net/snowflake/client/jdbc/DatabaseMetaDataLatestIT.java index ec74d3d9a..355a57d9b 100644 --- a/src/test/java/net/snowflake/client/jdbc/DatabaseMetaDataLatestIT.java +++ b/src/test/java/net/snowflake/client/jdbc/DatabaseMetaDataLatestIT.java @@ -914,9 +914,13 @@ public void testHandlingSpecialChars() throws SQLException { "create or replace table \"TEST\\1\\_1\" (\"C%1\" integer,\"C\\1\\\\11\" integer)"); statement.execute("INSERT INTO \"TEST\\1\\_1\" (\"C%1\",\"C\\1\\\\11\") VALUES (0,0)"); // test getColumns with escaped special characters in schema and table name - statement.execute("create or replace schema \"SPECIAL%_\\SCHEMA\""); + String specialSchemaSuffix = SnowflakeUtil.randomAlphaNumeric(5); + String specialSchema = "\"SPECIAL%_\\SCHEMA" + specialSchemaSuffix + "\""; + statement.execute("create or replace schema " + specialSchema); statement.execute( - "create or replace table \"SPECIAL%_\\SCHEMA\".\"TEST_1_1\" ( \"RNUM\" integer not null, " + "create or replace table " + + specialSchema + + ".\"TEST_1_1\" ( \"RNUM\" integer not null, " + "\"C21\" integer," + "\"C11\" integer,\"C%1\" integer,\"C\\1\\\\11\" integer , primary key (\"RNUM\"))"); statement.execute( @@ -940,7 +944,8 @@ public void testHandlingSpecialChars() throws SQLException { assertFalse(resultSet.next()); String escapedTable2 = "TEST" + escapeChar + "_1" + escapeChar + "_1"; - String escapedSchema = "SPECIAL%" + escapeChar + "_" + escapeChar + "\\SCHEMA"; + String escapedSchema = + "SPECIAL%" + escapeChar + "_" + escapeChar + "\\SCHEMA" + specialSchemaSuffix; resultSet = metaData.getColumns(database, escapedSchema, escapedTable2, null); assertTrue(resultSet.next()); assertEquals("RNUM", resultSet.getString("COLUMN_NAME")); @@ -976,6 +981,8 @@ public void testHandlingSpecialChars() throws SQLException { resultSet = metaData.getColumns(database, schema, "special" + escapeChar + "%table", null); assertTrue(resultSet.next()); assertEquals("COLA", resultSet.getString("COLUMN_NAME")); + + statement.execute("drop schema " + specialSchema); } @Test