Skip to content

Commit 0251382

Browse files
SNOW-1844765 Make createArrayOf case-insensitive (#2010)
1 parent b3a2763 commit 0251382

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/main/java/net/snowflake/client/jdbc/SnowflakeConnectionV1.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ public String getClientInfo(String name) throws SQLException {
726726
@Override
727727
public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
728728
logger.trace("Array createArrayOf(String typeName, Object[] " + "elements)", false);
729-
return new SfSqlArray(JDBCType.valueOf(typeName).getVendorTypeNumber(), elements);
729+
return new SfSqlArray(JDBCType.valueOf(typeName.toUpperCase()).getVendorTypeNumber(), elements);
730730
}
731731

732732
@Override

src/test/java/net/snowflake/client/jdbc/BindingAndInsertingStructuredTypesLatestIT.java

+7
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,11 @@ public void testWriteArray(ResultSetFormatType queryResultFormat) throws SQLExce
272272
statement.execute(" CREATE OR REPLACE TABLE array_of_integers(arrayInt ARRAY(INTEGER))");
273273

274274
Array array = connection.createArrayOf("INTEGER", new Integer[] {1, 2, 3});
275+
Array arrayFromLowerCaseType = connection.createArrayOf("integer", new Integer[] {1, 2, 3});
275276
stmt.setArray(1, array);
276277
stmt.executeUpdate();
278+
stmt.setArray(1, arrayFromLowerCaseType);
279+
stmt.executeUpdate();
277280

278281
try (ResultSet resultSet = statement.executeQuery("SELECT * from array_of_integers"); ) {
279282
resultSet.next();
@@ -282,6 +285,10 @@ public void testWriteArray(ResultSetFormatType queryResultFormat) throws SQLExce
282285
assertEquals(Long.valueOf(1), resultArray[0]);
283286
assertEquals(Long.valueOf(2), resultArray[1]);
284287
assertEquals(Long.valueOf(3), resultArray[2]);
288+
289+
resultSet.next();
290+
Long[] resultArrayFromLowerCaseType = (Long[]) resultSet.getArray(1).getArray();
291+
assertArrayEquals(resultArray, resultArrayFromLowerCaseType);
285292
}
286293
}
287294
}

0 commit comments

Comments
 (0)