From bc99a2669c04670d91bbfcd4ceebf9ae1cd9604e Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sat, 10 Nov 2018 23:19:17 -0200 Subject: [PATCH] IDEMPIERE-3816 Deadlock in 2Pack after creating a foreign key constraint with AD_Sequence --- org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java index 708948629d..0db87d3389 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInHandler.java @@ -426,12 +426,14 @@ public class PackInHandler extends DefaultHandler { String fkConstraintSql = MColumn.getForeignKeyConstraintSql(md, catalog, schema, tableName, table, column, false); if (! Util.isEmpty(fkConstraintSql)) { + if (fkConstraintSql.toLowerCase().contains(" ad_sequence(ad_sequence_id)")) + fkConstraintSql = fkConstraintSql + "; COMMIT"; if (fkConstraintSql.indexOf(DB.SQLSTATEMENT_SEPARATOR) == -1) { DB.executeUpdate(fkConstraintSql, false, m_ctx.trx.getTrxName()); } else { String statements[] = fkConstraintSql.split(DB.SQLSTATEMENT_SEPARATOR); for (int i = 0; i < statements.length; i++) { - if (Util.isEmpty(statements[i])) + if (Util.isEmpty(statements[i], true)) continue; DB.executeUpdateEx(statements[i], m_ctx.trx.getTrxName()); }