diff --git a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java index 329ca08a3d..33ad9952c0 100644 --- a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java +++ b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java @@ -186,10 +186,12 @@ public class Convert_PostgreSQL extends Convert_SQL92 { } private String recoverQuotedStrings(String retValue, VectorretVars) { - Pattern p = Pattern.compile("<-->", REGEX_FLAGS); + Pattern p = Pattern.compile("<-->", Pattern.CASE_INSENSITIVE | Pattern.LITERAL); Matcher m = p.matcher(retValue); for (int cont = 0; cont < retVars.size(); cont++) { - retValue = m.replaceFirst((String) retVars.get(cont)); + //hengsin, special character in replacement can cause exception + String replacement = (String) retVars.get(cont); + retValue = m.replaceFirst(Matcher.quoteReplacement(replacement)); m = p.matcher(retValue); } return retValue;