From d4430f427085a247c0595d641ec3bc84723bd04c Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 19 Jan 2007 14:34:46 +0000 Subject: [PATCH] * Special character like $ in the original sql can cause exception in the recoverQuotedString method. --- dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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;