* Fixed concurrency issue of having retVars as instance variable
This commit is contained in:
parent
1731844601
commit
1138622ba8
|
|
@ -45,8 +45,7 @@ public class Convert_PostgreSQL extends Convert_SQL92 {
|
||||||
/** Logger */
|
/** Logger */
|
||||||
private static CLogger log = CLogger.getCLogger(Convert_PostgreSQL.class);
|
private static CLogger log = CLogger.getCLogger(Convert_PostgreSQL.class);
|
||||||
|
|
||||||
/** Vector to save previous values of quoted strings **/
|
|
||||||
private Vector<String> retVars = new Vector<String>();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is Oracle DB
|
* Is Oracle DB
|
||||||
|
|
@ -69,9 +68,18 @@ public class Convert_PostgreSQL extends Convert_SQL92 {
|
||||||
|
|
||||||
// remove comments
|
// remove comments
|
||||||
String statement = sqlStatement;
|
String statement = sqlStatement;
|
||||||
statement = replaceQuotedStrings(statement);
|
/** Vector to save previous values of quoted strings **/
|
||||||
statement = convertMapStatement(removeComments(statement));
|
Vector<String> retVars = new Vector<String>();
|
||||||
statement = recoverQuotedStrings(statement);
|
try
|
||||||
|
{
|
||||||
|
statement = replaceQuotedStrings(statement,retVars);
|
||||||
|
statement = convertMapStatement(removeComments(statement));
|
||||||
|
statement = recoverQuotedStrings(statement,retVars);
|
||||||
|
}
|
||||||
|
catch (RuntimeException e) {
|
||||||
|
System.err.println(sqlStatement);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
// log.info("------------------------------------------------------------");
|
// log.info("------------------------------------------------------------");
|
||||||
// log.info(statement);
|
// log.info(statement);
|
||||||
// log.info("------------------->");
|
// log.info("------------------->");
|
||||||
|
|
@ -163,7 +171,7 @@ public class Convert_PostgreSQL extends Convert_SQL92 {
|
||||||
return retValue;
|
return retValue;
|
||||||
} // convertSimpleStatement
|
} // convertSimpleStatement
|
||||||
|
|
||||||
private String replaceQuotedStrings(String retValue) {
|
private String replaceQuotedStrings(String retValue, Vector<String>retVars) {
|
||||||
// save every value
|
// save every value
|
||||||
// Pattern p = Pattern.compile("'[[\\w]*[-:,\\(\\)]*[ ]*]*'");
|
// Pattern p = Pattern.compile("'[[\\w]*[-:,\\(\\)]*[ ]*]*'");
|
||||||
// Carlos Ruiz - globalqss - better matching regexp
|
// Carlos Ruiz - globalqss - better matching regexp
|
||||||
|
|
@ -177,7 +185,7 @@ public class Convert_PostgreSQL extends Convert_SQL92 {
|
||||||
return retValue;
|
return retValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String recoverQuotedStrings(String retValue) {
|
private String recoverQuotedStrings(String retValue, Vector<String>retVars) {
|
||||||
Pattern p = Pattern.compile("<-->", REGEX_FLAGS);
|
Pattern p = Pattern.compile("<-->", REGEX_FLAGS);
|
||||||
Matcher m = p.matcher(retValue);
|
Matcher m = p.matcher(retValue);
|
||||||
for (int cont = 0; cont < retVars.size(); cont++) {
|
for (int cont = 0; cont < retVars.size(); cont++) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue