diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportTaskExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/load/ExportTaskExecutor.java index 3f7c17fef68771..48f9b2ca1a04a6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportTaskExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportTaskExecutor.java @@ -33,6 +33,7 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; import org.apache.doris.qe.AutoCloseConnectContext; import org.apache.doris.qe.ConnectContext; +import org.apache.doris.qe.OriginStatement; import org.apache.doris.qe.QueryState.MysqlStateType; import org.apache.doris.qe.StmtExecutor; import org.apache.doris.scheduler.exception.JobException; @@ -41,6 +42,7 @@ import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import java.util.List; import java.util.Map; @@ -134,7 +136,14 @@ public void execute() throws JobException { } try (AutoCloseConnectContext r = buildConnectContext()) { - stmtExecutor = new StmtExecutor(r.connectContext, selectStmtLists.get(idx)); + + StatementBase statementBase = selectStmtLists.get(idx); + OriginStatement originStatement = new OriginStatement( + StringUtils.isEmpty(statementBase.getOrigStmt().originStmt) + ? exportJob.getOrigStmt().originStmt : statementBase.getOrigStmt().originStmt, idx); + statementBase.setOrigStmt(originStatement); + stmtExecutor = new StmtExecutor(r.connectContext, statementBase); + stmtExecutor.execute(); if (r.connectContext.getState().getStateType() == MysqlStateType.ERR) { exportJob.updateExportJobState(ExportJobState.CANCELLED, taskId, null, diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java index b43fc9348ceffb..713ff6b27603a2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java @@ -246,7 +246,9 @@ private ExportJob generateExportJob(ConnectContext ctx, Map file exportJob.setTableName(tblName); exportJob.setExportTable(table); exportJob.setTableId(table.getId()); - + if (ctx.getExecutor() != null) { + exportJob.setOrigStmt(ctx.getExecutor().getOriginStmt()); + } // set partitions exportJob.setPartitionNames(this.partitionsNames); // set where expression