diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java index e7e6213434..9de8643c2a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java @@ -280,15 +280,8 @@ public class OlapScanNode extends ScanNode { @Override public void init(Analyzer analyzer) throws UserException { super.init(analyzer); - if (!Util.showHiddenColumns() && olapTable.hasDeleteSign()) { - SlotRef deleteSignSlot = new SlotRef(desc.getAliasAsName(), Column.DELETE_SIGN); - deleteSignSlot.analyze(analyzer); - deleteSignSlot.getDesc().setIsMaterialized(true); - Expr conjunct = new BinaryPredicate(BinaryPredicate.Operator.EQ, deleteSignSlot, new IntLiteral(0)); - conjunct.analyze(analyzer); - conjuncts.add(conjunct); - } + filterDeletedRows(analyzer); computePartitionInfo(); } @@ -764,4 +757,15 @@ public class OlapScanNode extends ScanNode { } return expr instanceof SlotRef; } + + private void filterDeletedRows(Analyzer analyzer) throws AnalysisException{ + if (!Util.showHiddenColumns() && olapTable.hasDeleteSign()) { + SlotRef deleteSignSlot = new SlotRef(desc.getAliasAsName(), Column.DELETE_SIGN); + deleteSignSlot.analyze(analyzer); + deleteSignSlot.getDesc().setIsMaterialized(true); + Expr conjunct = new BinaryPredicate(BinaryPredicate.Operator.EQ, deleteSignSlot, new IntLiteral(0)); + conjunct.analyze(analyzer); + conjuncts.add(conjunct); + } + } }