From f8cfbbd7654922e6bff193f95d5722379f02a173 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Tue, 26 Dec 2006 13:32:29 +0000 Subject: [PATCH] * Fixed for bug [ 1622302 ] --- .../src/org/compiere/dbPort/Convert_PostgreSQL.java | 12 ++++++++++++ .../org/compiere/dbPort/Convert_PostgreSQLTest.java | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java index c0c4fb4dec..2438f78c43 100644 --- a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java +++ b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQL.java @@ -1417,6 +1417,18 @@ public class Convert_PostgreSQL extends Convert_SQL92 { String converted = sqlStatement.replaceFirst("\\s"+alias+"\\s", " "); converted = converted.replaceAll("\\s"+alias+"\\.", " " + table+"."); converted = converted.replaceAll(","+alias+"\\.", "," + table+"."); + converted = converted.replaceAll("\\("+alias+"\\.", "(" + table+"."); + converted = converted.replaceAll("\\+"+alias+"\\.", "+" + table+"."); + converted = converted.replaceAll("\\-"+alias+"\\.", "-" + table+"."); + converted = converted.replaceAll("\\*"+alias+"\\.", "*" + table+"."); + converted = converted.replaceAll("/"+alias+"\\.", "/" + table+"."); + converted = converted.replaceAll("%"+alias+"\\.", "%" + table+"."); + converted = converted.replaceAll("="+alias+"\\.", "=" + table+"."); + converted = converted.replaceAll("<>"+alias+"\\.", "<>" + table+"."); + converted = converted.replaceAll(">"+alias+"\\.", ">" + table+"."); + converted = converted.replaceAll("<"+alias+"\\.", "<" + table+"."); + converted = converted.replaceAll("<="+alias+"\\.", "<=" + table+"."); + converted = converted.replaceAll(">="+alias+"\\.", ">=" + table+"."); return converted; } else { return sqlStatement; diff --git a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQLTest.java b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQLTest.java index 9b99c575df..82ad55c2e6 100644 --- a/dbPort/src/org/compiere/dbPort/Convert_PostgreSQLTest.java +++ b/dbPort/src/org/compiere/dbPort/Convert_PostgreSQLTest.java @@ -117,6 +117,13 @@ public final class Convert_PostgreSQLTest { + "WHERE Fact_Acct_ID <> 0 AND AD_PInstance_ID=0"; r = convert.convert(sql); verify(sql, r, "UPDATE T_Report SET Name=e.Name,Description=fa.Description FROM Fact_Acct fa INNER JOIN AD_Table t ON (fa.AD_Table_ID=t.AD_Table_ID) INNER JOIN AD_Element e ON (t.TableName||'_ID'=e.ColumnName) WHERE T_Report.Fact_Acct_ID=fa.Fact_Acct_ID AND T_Report.Fact_Acct_ID <> 0 AND T_Report.AD_PInstance_ID=0"); + + //MInOutLineMa bug [ 1622302 ] + sql = "DELETE FROM M_InOutLineMA ma WHERE EXISTS " + + "(SELECT * FROM M_InOutLine l WHERE l.M_InOutLine_ID=ma.M_InOutLine_ID" + + " AND M_InOut_ID=0)"; + r = convert.convert(sql); + verify(sql, r, "DELETE FROM M_InOutLineMA WHERE EXISTS (SELECT * FROM M_InOutLine l WHERE l.M_InOutLine_ID=M_InOutLineMA.M_InOutLine_ID AND M_InOut_ID=0)"); } private void verify(String original, String[] converted, String expected) {