From 0199a356a88061055f4d1ab8dcbe9dbc39d3b9af Mon Sep 17 00:00:00 2001 From: Yaobin Chen Date: Fri, 6 Nov 2026 10:31:05 +0800 Subject: [PATCH 1/2] Fix the 552 message of ALTER VIEW ADD COLUMN --- .../en/org/apache/iotdb/confignode/i18n/ManagerMessages.java | 5 +++-- .../zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java | 4 +++- .../confignode/manager/schema/ClusterSchemaManager.java | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java b/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java index a6df250eed70..fa87cfb7dc2e 100644 --- a/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java +++ b/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java @@ -655,8 +655,9 @@ public final class ManagerMessages { public static final String MESSAGE_ARG_SHOULD_BE_GREATER_THAN_OR_EQUAL_TO_DEFAULT_ARGREGIONGROUPNUM_ARG_4C00E92C = "%s should be greater than or equal to default %sRegionGroupNum: %d."; - public static final String MESSAGE_COLUMN_ARG_ALREADY_EXIST_92F91B6A = - "Column '%s' already exist"; + public static final String + MESSAGE_COLUMN_ARG_ALREADY_EXISTS_OR_ITS_SOURCE_MEASUREMENT_IS_ALREADY_MAPPED_8421FEAD = + "Column '%s' already exists or its source measurement is already mapped"; public static final String MESSAGE_COLUMN_ARG_DOES_NOT_EXIST_FF67AE82 = "Column '%s' does not exist"; public static final String diff --git a/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java b/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java index 34aa75da4795..aa51ba247f1f 100644 --- a/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java +++ b/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java @@ -643,7 +643,9 @@ public final class ManagerMessages { public static final String MESSAGE_ARG_SHOULD_BE_GREATER_THAN_OR_EQUAL_TO_DEFAULT_ARGREGIONGROUPNUM_ARG_4C00E92C = "%s 应大于或等于默认的 %sRegionGroupNum:%d。"; - public static final String MESSAGE_COLUMN_ARG_ALREADY_EXIST_92F91B6A = "列 '%s' 已存在"; + public static final String + MESSAGE_COLUMN_ARG_ALREADY_EXISTS_OR_ITS_SOURCE_MEASUREMENT_IS_ALREADY_MAPPED_8421FEAD = + "列 '%s' 已存在,或它引用的源测点已被映射"; public static final String MESSAGE_COLUMN_ARG_DOES_NOT_EXIST_FF67AE82 = "列 '%s' 不存在"; public static final String MESSAGE_CONFIGNODE_LEADER_IS_WAITING_FOR_CLUSTER_HEARTBEAT_SAMPLING_EDB0331F = diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java index f6988828f405..0b3262c64edd 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java @@ -1703,7 +1703,8 @@ public Pair tableColumnCheckForColumnExtension( // the table read above is a copy, which this check expands and returns final String errorMsg = String.format( - ManagerMessages.MESSAGE_COLUMN_ARG_ALREADY_EXIST_92F91B6A, + ManagerMessages + .MESSAGE_COLUMN_ARG_ALREADY_EXISTS_OR_ITS_SOURCE_MEASUREMENT_IS_ALREADY_MAPPED_8421FEAD, columnSchemaList.stream() .map(TsTableColumnSchema::getColumnName) .collect(Collectors.joining(", "))); From 2ed7a1648885d096b8f6bc3761fc1ae5de630ed2 Mon Sep 17 00:00:00 2001 From: Yaobin Chen Date: Fri, 6 Nov 2026 11:22:47 +0800 Subject: [PATCH 2/2] fix IT --- .../org/apache/iotdb/relational/it/schema/IoTDBTableIT.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java index 078a6a71a71c..ef003debab67 100644 --- a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java @@ -414,7 +414,9 @@ public void testManageTable() { try { statement.execute("alter table table2 add column speed DOUBLE FIELD"); } catch (final SQLException e) { - assertEquals("552: Column 'speed' already exist", e.getMessage()); + assertEquals( + "552: Column 'speed' already exists or its source measurement is already mapped", + e.getMessage()); } statement.execute("alter table table2 add column if not exists speed DOUBLE FIELD");