diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java index 427a8c2e44..35e55bb9e4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OdbcTable.java @@ -37,6 +37,7 @@ import org.apache.logging.log4j.Logger; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -81,7 +82,8 @@ public class OdbcTable extends Table { } private static String psqlProperName(String name) { - return "\"" + name + "\""; + List list = Arrays.asList(name.split("\\.")); + return list.stream().map(s -> "\"" + s + "\"").collect(Collectors.joining(".")); } public static String databaseProperName(TOdbcTableType tableType, String name) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/JdbcScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/JdbcScanNode.java index 2651182ec1..edbe898758 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/JdbcScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/JdbcScanNode.java @@ -101,7 +101,7 @@ public class JdbcScanNode extends ScanNode { continue; } Column col = slot.getColumn(); - columns.add(col.getName()); + columns.add(OdbcTable.databaseProperName(jdbcType, col.getName())); } if (0 == columns.size()) { columns.add("*");