From 751f6a5d33201a9acf779083b9ac3db4613bc1c0 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 20 Dec 2024 19:49:07 +0100 Subject: [PATCH] IDEMPIERE-6342 Issues when renaming a table that already has records saved (#2591) --- .../compiere/process/DatabaseTableRename.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/process/DatabaseTableRename.java b/org.adempiere.base/src/org/compiere/process/DatabaseTableRename.java index 18032dbab6..104d585ce3 100644 --- a/org.adempiere.base/src/org/compiere/process/DatabaseTableRename.java +++ b/org.adempiere.base/src/org/compiere/process/DatabaseTableRename.java @@ -28,14 +28,19 @@ package org.compiere.process; import java.util.List; import org.adempiere.exceptions.AdempiereException; +import org.compiere.Adempiere; import org.compiere.model.MClient; +import org.compiere.model.MColumn; +import org.compiere.model.MField; import org.compiere.model.MProcessPara; import org.compiere.model.MRefTable; import org.compiere.model.MSequence; import org.compiere.model.MTab; import org.compiere.model.MTable; +import org.compiere.model.MWindow; import org.compiere.model.M_Element; import org.compiere.model.Query; +import org.compiere.util.CacheMgt; import org.compiere.util.DB; import org.compiere.util.Msg; import org.compiere.util.Util; @@ -128,13 +133,11 @@ public class DatabaseTableRename extends SvrProcess { } // Rename table in sequences - String whereSeq = "(Name=? AND Description=? AND IsTableID='Y') OR (Name=? AND Description=? AND IsTableID='N')"; + String whereSeq = "(Name=? AND IsTableID='Y') OR (Name=? AND IsTableID='N')"; List seqs = new Query(getCtx(), MSequence.Table_Name, whereSeq, get_TrxName()) .setParameters( oldTableName, - "Table "+oldTableName, - "DocumentNo_"+oldTableName, - "DocumentNo/Value for Table "+oldTableName + "DocumentNo_"+oldTableName ) .list(); for (MSequence seq : seqs) { @@ -175,7 +178,12 @@ public class DatabaseTableRename extends SvrProcess { table.setTableName(p_NewTableName); table.saveEx(); - + + Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MColumn.Table_Name)); + Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MWindow.Table_Name)); + Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MTab.Table_Name)); + Adempiere.getThreadPoolExecutor().submit(() -> CacheMgt.get().reset(MField.Table_Name)); + return "@OK@"; } } // DatabaseTableRename