From aa8c93cfe28a12729dce9e60d3791c9ccfca6df4 Mon Sep 17 00:00:00 2001 From: Uniqueyou Date: Tue, 31 Dec 2024 09:52:43 +0800 Subject: [PATCH] branch-2.1: [fix](sql) Wrong result for alter set property #46028 (#46141) pick https://github.com/apache/doris/pull/46028 --- .../persist/ModifyTablePropertyOperationLog.java | 7 ++++++- .../persist/ModifyDynamicPartitionInfoTest.java | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java b/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java index a782db9f9c..2f06624c5e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java @@ -51,7 +51,8 @@ public class ModifyTablePropertyOperationLog implements Writable { StringBuilder sb = new StringBuilder(); sb.append("SET ("); for (Map.Entry entry : properties.entrySet()) { - sb.append(entry.getKey()).append("=").append(entry.getValue()).append(","); + sb.append("\"").append(entry.getKey()).append("\"").append(" = ").append("\"").append(entry.getValue()) + .append("\" ").append(","); } sb.deleteCharAt(sb.length() - 1); // remove last ',' sb.append(")"); @@ -82,4 +83,8 @@ public class ModifyTablePropertyOperationLog implements Writable { public String toJson() { return GsonUtils.GSON.toJson(this); } + + public String toSql() { + return sql; + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/persist/ModifyDynamicPartitionInfoTest.java b/fe/fe-core/src/test/java/org/apache/doris/persist/ModifyDynamicPartitionInfoTest.java index bff50dcf76..a54f91dd82 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/persist/ModifyDynamicPartitionInfoTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/persist/ModifyDynamicPartitionInfoTest.java @@ -67,4 +67,17 @@ public class ModifyDynamicPartitionInfoTest { Assert.assertEquals(readModifyDynamicPartitionInfo.getProperties(), properties); in.close(); } + + @Test + public void testToSql() { + HashMap properties = new HashMap<>(); + properties.put(DynamicPartitionProperty.ENABLE, "true"); + properties.put(DynamicPartitionProperty.TIME_UNIT, "day"); + properties.put(DynamicPartitionProperty.START, "-3"); + ModifyTablePropertyOperationLog modifyDynamicPartitionInfo = new ModifyTablePropertyOperationLog(100L, 200L, + "test", properties); + Assert.assertTrue(modifyDynamicPartitionInfo.toSql().contains("\"dynamic_partition.enable\" = \"true\"")); + Assert.assertTrue(modifyDynamicPartitionInfo.toSql().contains("\"dynamic_partition.time_unit\" = \"day\"")); + Assert.assertTrue(modifyDynamicPartitionInfo.toSql().contains("\"dynamic_partition.start\" = \"-3\"")); + } }