This is an automated email from the ASF dual-hosted git repository.

Gabriel39 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 57487940e7c [fix](fe) Preserve Paimon error message capitalization 
(#66750)
57487940e7c is described below

commit 57487940e7cc91230bd730b515095feeaeea5029
Author: Gabriel <[email protected]>
AuthorDate: Mon Aug 17 09:48:35 2026 +0800

    [fix](fe) Preserve Paimon error message capitalization (#66750)
    
    ## Proposed changes
    
    - Declare `Paimon` as the connector-owned display engine name used by
    system-table diagnostics.
    - Keep the catalog routing type and accepted `CREATE TABLE ...
    ENGINE=paimon` syntax lowercase.
    - Add a provider unit test that locks the three contracts independently.
    
    ## Problem summary
    
    #66628 changed generic system-table errors from the placeholder `Plugin`
    to the connector's display engine. Paimon inherited its lowercase
    routing type as the display name, so the established error contract
    changed from `Paimon system tables...` to `paimon system tables...`.
    
    This change keeps the generic scan path connector-agnostic and lets the
    Paimon provider own its canonical product spelling. Because the display
    engine name is also used by table metadata, Paimon engine metadata will
    use the same canonical capitalization.
    
    ## Testing
    
    - `mvn -f fe/pom.xml -pl :fe-connector-paimon -am install
    -Dskip.doc=true -Dmaven.build.cache.enabled=false`
    - Paimon module: 535 tests, 0 failures, 0 errors, 1
    environment-dependent test skipped.
      - FE Checkstyle: 0 violations.
---
 .../connector/paimon/PaimonConnectorProvider.java  |  7 +++++
 .../paimon/PaimonConnectorProviderTest.java        | 35 ++++++++++++++++++++++
 .../paimon/test_paimon_table_properties.out        |  2 +-
 3 files changed, 43 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java
 
b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java
index 7bdd8753eef..273a486e82c 100644
--- 
a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java
+++ 
b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java
@@ -53,6 +53,13 @@ public class PaimonConnectorProvider implements 
ConnectorProvider {
         return Collections.singleton("paimon");
     }
 
+    @Override
+    public String displayEngineName() {
+        // System-table diagnostics use this connector-owned name; keep the 
canonical product spelling while
+        // catalog routing and CREATE TABLE continue to accept the lowercase 
type through their own contracts.
+        return "Paimon";
+    }
+
     /**
      * Binds and validates through the typed holder. {@code of(...)} carries 
what the connector cannot
      * run without; {@code checkCreateTimeOnlyRules()} carries the rules that 
only ever applied to a
diff --git 
a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorProviderTest.java
 
b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorProviderTest.java
new file mode 100644
index 00000000000..fee61742adb
--- /dev/null
+++ 
b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorProviderTest.java
@@ -0,0 +1,35 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package org.apache.doris.connector.paimon;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.util.Collections;
+
+public class PaimonConnectorProviderTest {
+
+    @Test
+    public void displayEngineNamePreservesLegacyDiagnosticCase() {
+        PaimonConnectorProvider provider = new PaimonConnectorProvider();
+
+        Assertions.assertEquals("paimon", provider.getType());
+        Assertions.assertEquals(Collections.singleton("paimon"), 
provider.acceptedCreateTableEngineNames());
+        Assertions.assertEquals("Paimon", provider.displayEngineName());
+    }
+}
diff --git 
a/regression-test/data/external_table_p0/paimon/test_paimon_table_properties.out
 
b/regression-test/data/external_table_p0/paimon/test_paimon_table_properties.out
index 0601d62955f..5e60e5d68bf 100644
--- 
a/regression-test/data/external_table_p0/paimon/test_paimon_table_properties.out
+++ 
b/regression-test/data/external_table_p0/paimon/test_paimon_table_properties.out
@@ -1,4 +1,4 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !show_create_table --
-ts_scale_orc   CREATE TABLE `ts_scale_orc` (\n  `id` int NULL,\n  `ts1` 
datetimev2(1) NULL,\n  `ts2` datetimev2(2) NULL,\n  `ts3` datetimev2(3) NULL,\n 
 `ts4` datetimev2(4) NULL,\n  `ts5` datetimev2(5) NULL,\n  `ts6` datetimev2(6) 
NULL,\n  `ts7` datetimev2(6) NULL,\n  `ts8` datetimev2(6) NULL,\n  `ts9` 
datetimev2(6) NULL,\n  `ts11` datetimev2(1) NULL,\n  `ts12` datetimev2(2) 
NULL,\n  `ts13` datetimev2(3) NULL,\n  `ts14` datetimev2(4) NULL,\n  `ts15` 
datetimev2(5) NULL,\n  `ts16` datetimev2 [...]
+ts_scale_orc   CREATE TABLE `ts_scale_orc` (\n  `id` int NULL,\n  `ts1` 
datetimev2(1) NULL,\n  `ts2` datetimev2(2) NULL,\n  `ts3` datetimev2(3) NULL,\n 
 `ts4` datetimev2(4) NULL,\n  `ts5` datetimev2(5) NULL,\n  `ts6` datetimev2(6) 
NULL,\n  `ts7` datetimev2(6) NULL,\n  `ts8` datetimev2(6) NULL,\n  `ts9` 
datetimev2(6) NULL,\n  `ts11` datetimev2(1) NULL,\n  `ts12` datetimev2(2) 
NULL,\n  `ts13` datetimev2(3) NULL,\n  `ts14` datetimev2(4) NULL,\n  `ts15` 
datetimev2(5) NULL,\n  `ts16` datetimev2 [...]
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to