This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new 477b87c [feature](vec) Support update stmt in vec query engine (#8296) 477b87c is described below commit 477b87cb28042cfc8ee725a9694f99165d02426a Author: HappenLee <happen...@hotmail.com> AuthorDate: Mon Mar 7 14:03:55 2022 +0800 [feature](vec) Support update stmt in vec query engine (#8296) --- .../src/main/java/org/apache/doris/load/update/UpdatePlanner.java | 4 ++++ .../main/java/org/apache/doris/load/update/UpdateStmtExecutor.java | 2 ++ fe/fe-core/src/main/java/org/apache/doris/planner/HashJoinNode.java | 2 +- fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java | 2 +- fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java | 4 ++++ 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdatePlanner.java b/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdatePlanner.java index aaadd11..a452730 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdatePlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdatePlanner.java @@ -30,6 +30,7 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.IdGenerator; import org.apache.doris.common.UserException; +import org.apache.doris.common.util.VectorizedUtil; import org.apache.doris.planner.DataPartition; import org.apache.doris.planner.OlapScanNode; import org.apache.doris.planner.OlapTableSink; @@ -86,6 +87,9 @@ public class UpdatePlanner extends Planner { /* END */ olapScanNode.init(analyzer); olapScanNode.finalize(analyzer); + if (VectorizedUtil.isVectorized()) { + olapScanNode.convertToVectoriezd(); + } scanNodeList.add(olapScanNode); // 2. gen olap table sink OlapTableSink olapTableSink = new OlapTableSink(targetTable, computeTargetTupleDesc(), null); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdateStmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdateStmtExecutor.java index e1ec792..f6a3d49 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdateStmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/update/UpdateStmtExecutor.java @@ -34,6 +34,7 @@ import org.apache.doris.common.QuotaExceedException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.common.util.VectorizedUtil; import org.apache.doris.metric.MetricRepo; import org.apache.doris.qe.Coordinator; import org.apache.doris.qe.QeProcessorImpl; @@ -141,6 +142,7 @@ public class UpdateStmtExecutor { coordinator = new Coordinator(Catalog.getCurrentCatalog().getNextId(), queryId, analyzer.getDescTbl(), updatePlanner.getFragments(), updatePlanner.getScanNodes(), TimeUtils.DEFAULT_TIME_ZONE, false); coordinator.setQueryType(TQueryType.LOAD); + coordinator.setExecVecEngine(VectorizedUtil.isVectorized()); QeProcessorImpl.INSTANCE.registerQuery(queryId, coordinator); analyzer.getContext().getExecutor().setCoord(coordinator); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/HashJoinNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/HashJoinNode.java index 2ee2618..8015fb7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/HashJoinNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/HashJoinNode.java @@ -669,7 +669,7 @@ public class HashJoinNode extends PlanNode { } @Override - void convertToVectoriezd() { + public void convertToVectoriezd() { if (!otherJoinConjuncts.isEmpty()) { votherJoinConjunct = convertConjunctsToAndCompoundPredicate(otherJoinConjuncts); initCompoundPredicate(votherJoinConjunct); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java index a6003f3..e076021 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java @@ -860,7 +860,7 @@ abstract public class PlanNode extends TreeNode<PlanNode> { return sb.toString(); } - void convertToVectoriezd() { + public void convertToVectoriezd() { if (!conjuncts.isEmpty()) { vconjunct = convertConjunctsToAndCompoundPredicate(conjuncts); initCompoundPredicate(vconjunct); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 7834565..83f1ad8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -301,6 +301,10 @@ public class Coordinator { this.queryOptions.setQueryType(type); } + public void setExecVecEngine(boolean vec) { + this.queryOptions.setEnableVectorizedEngine(vec); + } + public Status getExecStatus() { return queryStatus; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org