IDEMPIERE-6142 Can't add new column to partitioned table (#2358)
* IDEMPIERE-6142 Can't add new column to partitioned table * IDEMPIERE-6142 Can't add new column to partitioned table - Fix issue with foreign key * IDEMPIERE-6142 Can't add new column to partitioned table - Fix issue with foreign key
This commit is contained in:
parent
4091c74093
commit
c47db344e8
|
|
@ -592,11 +592,12 @@ public class MColumn extends X_AD_Column implements ImmutablePOSupport
|
||||||
setSeqNoPartition(ii);
|
setSeqNoPartition(ii);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_ValueChanged(COLUMNNAME_IsPartitionKey)
|
// Validate partition column changes
|
||||||
|
if (!newRecord && (is_ValueChanged(COLUMNNAME_IsPartitionKey)
|
||||||
|| is_ValueChanged(COLUMNNAME_PartitioningMethod)
|
|| is_ValueChanged(COLUMNNAME_PartitioningMethod)
|
||||||
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_IsActive))
|
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_IsActive))
|
||||||
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_SeqNoPartition))
|
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_SeqNoPartition))
|
||||||
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_RangePartitionInterval))) {
|
|| (isPartitionKey() && is_ValueChanged(COLUMNNAME_RangePartitionInterval)))) {
|
||||||
ITablePartitionService service = DB.getDatabase().getTablePartitionService();
|
ITablePartitionService service = DB.getDatabase().getTablePartitionService();
|
||||||
if (service == null) {
|
if (service == null) {
|
||||||
log.saveError("Error", Msg.getMsg(getCtx(), "DBAdapterNoTablePartitionSupport"));
|
log.saveError("Error", Msg.getMsg(getCtx(), "DBAdapterNoTablePartitionSupport"));
|
||||||
|
|
@ -1034,6 +1035,10 @@ public class MColumn extends X_AD_Column implements ImmutablePOSupport
|
||||||
String referenceTableName = column.getReferenceTableName();
|
String referenceTableName = column.getReferenceTableName();
|
||||||
if (referenceTableName != null)
|
if (referenceTableName != null)
|
||||||
{
|
{
|
||||||
|
// Fk doesn't work for partitioned PostgreSQL table
|
||||||
|
if (DB.isPostgreSQL() && MTable.get(Env.getCtx(), referenceTableName) != null && MTable.get(Env.getCtx(), referenceTableName).isPartition())
|
||||||
|
return null;
|
||||||
|
|
||||||
Hashtable<String, DatabaseKey> htForeignKeys = new Hashtable<String, DatabaseKey>();
|
Hashtable<String, DatabaseKey> htForeignKeys = new Hashtable<String, DatabaseKey>();
|
||||||
|
|
||||||
if (md.storesUpperCaseIdentifiers()) {
|
if (md.storesUpperCaseIdentifiers()) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue