From 7b210dbfbb02b0949579447d7841de211852a587 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sat, 2 Mar 2024 14:53:50 +0100 Subject: [PATCH] IDEMPIERE-6062 Wrong query when importing translations / IDEMPIERE-5567 (#2259) --- .../src/org/compiere/install/TranslationHandler.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/install/TranslationHandler.java b/org.adempiere.base/src/org/compiere/install/TranslationHandler.java index aef2de9dce..b3cbce934d 100644 --- a/org.adempiere.base/src/org/compiere/install/TranslationHandler.java +++ b/org.adempiere.base/src/org/compiere/install/TranslationHandler.java @@ -20,9 +20,11 @@ import java.sql.Timestamp; import java.util.logging.Level; import org.adempiere.exceptions.AdempiereException; +import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.util.CLogger; import org.compiere.util.DB; +import org.compiere.util.Env; import org.compiere.util.Language; import org.xml.sax.Attributes; import org.xml.sax.SAXException; @@ -172,7 +174,15 @@ public class TranslationHandler extends DefaultHandler // Where section m_sql.append(" WHERE "); if (m_curUUID != null) { - m_sql.append(PO.getUUIDColumnName(m_TableName)).append("=").append(DB.TO_STRING(m_curUUID)); + MTable table = MTable.get(Env.getCtx(), m_TableName); + if (table.isIDKeyTable()) { + StringBuilder sql = new StringBuilder("SELECT ").append(m_TableName).append("_ID").append(" FROM ").append(m_TableName) + .append(" WHERE ").append(m_TableName).append("_UU =?"); + int ID = DB.getSQLValueEx(null, sql.toString(), m_curUUID); + m_sql.append(m_TableName).append("_ID=").append(ID); + } else { + m_sql.append(PO.getUUIDColumnName(m_TableName)).append("=").append(DB.TO_STRING(m_curUUID)); + } } else { m_sql.append(m_TableName).append("_ID=").append(m_curID); }