This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch dev-1.0.0 in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
commit d7f8a5d79e804f44b02323170e2cf5d1026627ba 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 a686d26..12d9c16 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 6be03cb..a64853a 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 @@ -300,6 +300,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