comparison tests/JDBC_API_Tester.java @ 966:39b74cc688d2

Fix a bug in DatabaseMetaData.getTables() where a provided string in the array of table types argument would contain a single quote or back slash. It was not escaped properly, resulting in an SQL syntax error.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Wed, 12 Feb 2025 22:31:08 +0100 (2 months ago)
parents 8aaa9964359a
children 5cc071c5c170
comparison
equal deleted inserted replaced
965:8aaa9964359a 966:39b74cc688d2
1322 "Resultset with 10 columns\n" + 1322 "Resultset with 10 columns\n" +
1323 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" + 1323 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
1324 "char(1) varchar(1024) varchar(1024) varchar(25) varchar(1048576) char(1) char(1) char(1) char(1) char(1)\n" + 1324 "char(1) varchar(1024) varchar(1024) varchar(25) varchar(1048576) char(1) char(1) char(1) char(1) char(1)\n" +
1325 "null tmp tlargechar LOCAL TEMPORARY TABLE null null null null null null\n"); 1325 "null tmp tlargechar LOCAL TEMPORARY TABLE null null null null null null\n");
1326 1326
1327 String badtabletypes[] = {null, "", null, ""}; 1327 String badtabletypes[] = {null, "", "'", "\\'", "\"", null, "bad", "%", "% %"};
1328 compareResultSet(dbmd.getTables(null, "tmp", "tlargechar", badtabletypes), "getTables(null, tmp, tlargechar, badtabletypes)", 1328 compareResultSet(dbmd.getTables(null, "tmp", "tlargechar", badtabletypes), "getTables(null, tmp, tlargechar, badtabletypes)",
1329 "Resultset with 10 columns\n" + 1329 "Resultset with 10 columns\n" +
1330 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" + 1330 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
1331 "char(1) varchar(1024) varchar(1024) varchar(25) varchar(1048576) char(1) char(1) char(1) char(1) char(1)\n"); 1331 "char(1) varchar(1024) varchar(1024) varchar(25) varchar(1048576) char(1) char(1) char(1) char(1) char(1)\n");
1332 1332