From a02a56eb38ae404b1370c23eeb4cc95d99690ca8 Mon Sep 17 00:00:00 2001 From: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Date: Wed, 26 Oct 2022 09:30:28 +0800 Subject: [PATCH] [fix](postgresql) fix postgresql cann't find table (#13550) --- .../src/main/java/org/apache/doris/catalog/OdbcTable.java | 4 +++- .../src/main/java/org/apache/doris/planner/JdbcScanNode.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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("*");