diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyFromDesc.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyFromDesc.java index 3ba1ec67b0604a..4e283ead5492b8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyFromDesc.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyFromDesc.java @@ -63,6 +63,7 @@ public class CopyFromDesc { public CopyFromDesc(StageAndPattern stageAndPattern) { this.stageAndPattern = stageAndPattern; + this.fileFilterExpr = Optional.empty(); } public CopyFromDesc(StageAndPattern stageAndPattern, List exprList, @@ -105,7 +106,7 @@ public List getTargetColumns() { */ public void validate(String fullDbName, TableName tableName, boolean useDeleteSign, String fileType) throws AnalysisException { - if (exprList == null && fileFilterExpr == null && !useDeleteSign) { + if (exprList == null && !fileFilterExpr.isPresent() && !useDeleteSign) { return; } this.fileColumns = new ArrayList<>(); @@ -240,7 +241,7 @@ private int getMaxFileColumnId() throws AnalysisException { exprList.stream().map(expr -> (Expression) expr).collect(Collectors.toList())); maxId = maxId > maxFileColumnId ? maxId : maxFileColumnId; } - if (fileFilterExpr != null) { + if (fileFilterExpr.isPresent()) { int maxFileColumnId = getMaxFileFilterColumnId(Lists.newArrayList(fileFilterExpr.get())); maxId = maxId > maxFileColumnId ? maxId : maxFileColumnId; }