提交 c822daaf 编写于 作者: S serge-rider

#3496 PG: array elements -> string conversion fix


Former-commit-id: 60826656
上级 59f1b5f2
......@@ -29,6 +29,7 @@ import org.jkiss.dbeaver.model.exec.DBCException;
import org.jkiss.dbeaver.model.exec.DBCSession;
import org.jkiss.dbeaver.model.impl.jdbc.data.JDBCCollection;
import org.jkiss.dbeaver.model.impl.jdbc.data.handlers.JDBCArrayValueHandler;
import org.jkiss.dbeaver.model.sql.SQLUtils;
import org.jkiss.dbeaver.model.struct.DBSTypedObject;
import java.util.ArrayList;
......@@ -108,7 +109,11 @@ public class PostgreArrayValueHandler extends JDBCArrayValueHandler {
} else {
itemString = valueHandler.getValueDisplayString(collection.getComponentType(), item, DBDDisplayFormat.NATIVE);
}
str.append(itemString);
if (format == DBDDisplayFormat.NATIVE) {
str.append(SQLUtils.escapeString(collection.getComponentType().getDataSource(), itemString));
} else {
str.append(itemString);
}
}
str.append("}");
if (format == DBDDisplayFormat.NATIVE) {
......
......@@ -210,11 +210,16 @@ public final class SQLUtils {
}
public static String quoteString(DBPDataSource dataSource, String string)
{
return "'" + escapeString(dataSource, string) + "'";
}
public static String escapeString(DBPDataSource dataSource, String string)
{
@NotNull
SQLDialect dialect = dataSource instanceof SQLDataSource ?
((SQLDataSource) dataSource).getSQLDialect() : BasicSQLDialect.INSTANCE;
return "'" + dialect.escapeString(string) + "'";
((SQLDataSource) dataSource).getSQLDialect() : BasicSQLDialect.INSTANCE;
return dialect.escapeString(string);
}
public static String unQuoteString(DBPDataSource dataSource, String string)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册