From 013d5c4fd40e2f529f10c7323d3f87b6f0f273a3 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 28 May 2013 12:09:17 -0500 Subject: [PATCH] IDEMPIERE-965 the "create table" process must also create the unique index for the UU column when found --- .../src/org/adempiere/process/UUIDGenerator.java | 13 ------------- .../src/org/compiere/model/MColumn.java | 12 +++++++++++- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java b/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java index 08a4f0f8f4..a0714f2884 100644 --- a/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java +++ b/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java @@ -300,19 +300,6 @@ public class UUIDGenerator extends SvrProcess { } } - if (no != -1) - { - StringBuilder indexName = new StringBuilder().append(column.getColumnName()).append("_idx"); - if (indexName.length() > 30) { - int i = indexName.length() - 31; - indexName = new StringBuilder().append(column.getColumnName().substring(0, column.getColumnName().length() - i)); - indexName.append("_uu_idx"); - } - StringBuilder indexSql = new StringBuilder("CREATE UNIQUE INDEX ").append(indexName).append(" ON ").append(tableName) - .append("(").append(column.getColumnName()).append(")"); - DB.executeUpdateEx(indexSql.toString(), null); - } - if (no == -1) { StringBuilder msg = new StringBuilder("@Error@ "); diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index 325b9010f8..769be5cb51 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -543,7 +543,17 @@ public class MColumn extends X_AD_Column + " FOREIGN KEY (" + getColumnName() + ") REFERENCES " + AD_Table(AD_Table_ID) ON DELETE CASCADE **/ - + // IDEMPIERE-965 + if (getColumnName().equals(PO.getUUIDColumnName(tableName))) { + StringBuilder indexName = new StringBuilder().append(getColumnName()).append("_idx"); + if (indexName.length() > 30) { + int i = indexName.length() - 31; + indexName = new StringBuilder().append(getColumnName().substring(0, getColumnName().length() - i)); + indexName.append("_uu_idx"); + } + StringBuilder msgreturn = new StringBuilder("CONSTRAINT ").append(indexName).append(" UNIQUE (").append(getColumnName()).append(")"); + return msgreturn.toString(); + } return ""; } // getConstraint