[bugfix](odbc) escape identifiers for sqlserver and postgresql (#12487)

Delimited identifier format for sqlserver and postgresql is different from MySQL.
Sqlserver use brackets ([ ]) and postgresql use double quotes("").
This commit is contained in:
TengJianPing
2022-09-09 09:11:03 +08:00
committed by GitHub
parent 3c4c4b1a87
commit b45a8379eb

View File

@ -76,10 +76,22 @@ public class OdbcTable extends Table {
return "`" + name + "`";
}
private static String mssqlProperName(String name) {
return "[" + name + "]";
}
private static String psqlProperName(String name) {
return "\"" + name + "\"";
}
public static String databaseProperName(TOdbcTableType tableType, String name) {
switch (tableType) {
case MYSQL:
return mysqlProperName(name);
case SQLSERVER:
return mssqlProperName(name);
case POSTGRESQL:
return psqlProperName(name);
default:
return name;
}