This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new c411ccc310f [Enhance](multi-catalog) parse hive view ddl first to avoid NPE. (#28067) (#28400) c411ccc310f is described below commit c411ccc310fe23fd82f1eeea08798e83c4de3e83 Author: Mingyu Chen <morning...@163.com> AuthorDate: Thu Dec 14 17:27:05 2023 +0800 [Enhance](multi-catalog) parse hive view ddl first to avoid NPE. (#28067) (#28400) Co-authored-by: Xiangyu Wang <dut.xian...@gmail.com> --- fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java index 4648da86abd..a5e2f904b18 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java @@ -39,6 +39,7 @@ import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; import org.apache.doris.common.IdGenerator; import org.apache.doris.common.Pair; +import org.apache.doris.common.UserException; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.planner.AggregationNode; import org.apache.doris.planner.AnalyticEvalNode; @@ -833,6 +834,13 @@ public class Analyzer { View hmsView = new View(table.getId(), table.getName(), table.getFullSchema()); hmsView.setInlineViewDefWithSqlMode(((HMSExternalTable) table).getViewText(), ConnectContext.get().getSessionVariable().getSqlMode()); + // for user experience consideration, parse hive view ddl first to avoid NPE + // if legacy parser can not parse hive view ddl properly + try { + hmsView.init(); + } catch (UserException e) { + throw new AnalysisException(e.getMessage(), e); + } InlineViewRef inlineViewRef = new InlineViewRef(hmsView, tableRef); if (StringUtils.isNotEmpty(tableName.getCtl())) { inlineViewRef.setExternalCtl(tableName.getCtl()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org