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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]