This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-0.15
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git

commit 26a81f2a9c01a9bf6ec0036230ea2d97c3e98bf9
Author: Zhengguo Yang <[email protected]>
AuthorDate: Wed Oct 27 18:03:12 2021 +0800

    [Optimize] optimize some session variable and profile (#6920)
    
    1. optimize error message when using batch delete
    2. rename session variable is_report_success to enable_profile
    3. add table name to OlapScanner profile
---
 be/src/exec/olap_scan_node.cpp                       |  6 +++++-
 .../load-data/broker-load-manual.md                  |  2 +-
 docs/en/administrator-guide/running-profile.md       |  4 ++--
 docs/en/administrator-guide/runtime-filter.md        |  2 +-
 docs/en/administrator-guide/variables.md             |  6 +++---
 .../load-data/broker-load-manual.md                  |  2 +-
 docs/zh-CN/administrator-guide/running-profile.md    |  4 ++--
 docs/zh-CN/administrator-guide/runtime-filter.md     |  2 +-
 docs/zh-CN/administrator-guide/variables.md          |  6 +++---
 .../org/apache/doris/alter/SchemaChangeHandler.java  |  8 +++++++-
 .../main/java/org/apache/doris/analysis/SetVar.java  | 13 ++++++++-----
 .../src/main/java/org/apache/doris/load/Load.java    | 20 ++++++++++++++++----
 .../org/apache/doris/load/loadv2/BrokerLoadJob.java  | 10 +++++-----
 .../java/org/apache/doris/planner/OlapScanNode.java  |  1 +
 .../main/java/org/apache/doris/qe/Coordinator.java   |  2 +-
 .../java/org/apache/doris/qe/GlobalVariable.java     |  1 -
 .../java/org/apache/doris/qe/QeProcessorImpl.java    |  2 +-
 .../java/org/apache/doris/qe/SessionVariable.java    | 14 +++++++-------
 .../main/java/org/apache/doris/qe/StmtExecutor.java  |  2 +-
 .../org/apache/doris/qe/SessionVariablesTest.java    |  4 ++--
 .../java/org/apache/doris/qe/VariableMgrTest.java    |  2 +-
 gensrc/thrift/PlanNodes.thrift                       |  1 +
 22 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/be/src/exec/olap_scan_node.cpp b/be/src/exec/olap_scan_node.cpp
index b2d90e8..50abc26 100644
--- a/be/src/exec/olap_scan_node.cpp
+++ b/be/src/exec/olap_scan_node.cpp
@@ -96,7 +96,11 @@ Status OlapScanNode::init(const TPlanNode& tnode, 
RuntimeState* state) {
 }
 
 void OlapScanNode::init_scan_profile() {
-    _scanner_profile.reset(new RuntimeProfile("OlapScanner"));
+    std::string scanner_profile_name = "OlapScanner";
+    if (_olap_scan_node.__isset.table_name) {
+        scanner_profile_name = fmt::format("OlapScanner({0})", 
_olap_scan_node.table_name);
+    }
+    _scanner_profile.reset(new RuntimeProfile(scanner_profile_name));
     runtime_profile()->add_child(_scanner_profile.get(), true, NULL);
 
     _segment_profile.reset(new RuntimeProfile("SegmentIterator"));
diff --git a/docs/en/administrator-guide/load-data/broker-load-manual.md 
b/docs/en/administrator-guide/load-data/broker-load-manual.md
index 2b410b6..930b5e1 100644
--- a/docs/en/administrator-guide/load-data/broker-load-manual.md
+++ b/docs/en/administrator-guide/load-data/broker-load-manual.md
@@ -463,7 +463,7 @@ We will only discuss the case of a single BE. If the user 
cluster has more than
 
 ### Performance analysis
 
-You can execute `set is_report_success=true` to open the load job profile 
before submitting the import job. After the import job is completed, you can 
view the profile of the import job in the `Queris` tab of the FE web page.
+You can execute `set enable_profile=true` to open the load job profile before 
submitting the import job. After the import job is completed, you can view the 
profile of the import job in the `Queris` tab of the FE web page.
 
 This profile can help analyze the running status of the import job.
 
diff --git a/docs/en/administrator-guide/running-profile.md 
b/docs/en/administrator-guide/running-profile.md
index e175271..736e73c 100644
--- a/docs/en/administrator-guide/running-profile.md
+++ b/docs/en/administrator-guide/running-profile.md
@@ -44,10 +44,10 @@ FE splits the query plan into fragments and distributes 
them to BE for task exec
 Turn on the report switch on FE through MySQL command
 
 ```
-mysql> set is_report_success=true; 
+mysql> set enable_profile=true; 
 ```
 
-After executing the corresponding SQL statement, we can see the report 
information of the corresponding SQL statement on the FE web page like the 
picture below.
+After executing the corresponding SQL statement(`is_report_success` in old 
versions), we can see the report information of the corresponding SQL statement 
on the FE web page like the picture below.
 ![image.png](/images/running_profile.png)
 
 The latest  **100 statements** executed will be listed here. We can view 
detailed statistics of RunningProfile.
diff --git a/docs/en/administrator-guide/runtime-filter.md 
b/docs/en/administrator-guide/runtime-filter.md
index 297aec6..a008068 100644
--- a/docs/en/administrator-guide/runtime-filter.md
+++ b/docs/en/administrator-guide/runtime-filter.md
@@ -251,7 +251,7 @@ EXPLAIN SELECT t1 FROM test JOIN test2 where test.t1 = 
test2.t2;
 SELECT t1 FROM test JOIN test2 where test.t1 = test2.t2; 
 -- Return 2 rows of results [3, 4];
 
--- Through the query profile (set is_report_success=true;) you can view the 
detailed information of the internal work of the query,
+-- Through the query profile (set enable_profile=true;) you can view the 
detailed information of the internal work of the query,
 -- Including whether each Runtime Filter is pushed down, waiting time, 
 -- and the total time from prepare to receiving Runtime Filter for 
OLAP_SCAN_NODE.
 RuntimeFilter:in:
diff --git a/docs/en/administrator-guide/variables.md 
b/docs/en/administrator-guide/variables.md
index d5e1bf6..815ceef 100644
--- a/docs/en/administrator-guide/variables.md
+++ b/docs/en/administrator-guide/variables.md
@@ -67,7 +67,7 @@ Variables that support both session-level and global-level 
setting include:
 * `time_zone`
 * `wait_timeout`
 * `sql_mode`
-* `is_report_success`
+* `enable_profile`
 * `query_timeout`
 * `exec_mem_limit`
 * `batch_size`
@@ -229,7 +229,7 @@ Note that the comment must start with /*+ and can only 
follow the SELECT.
 
     Used for compatibility with MySQL clients. No practical effect.
     
-* `is_report_success`
+* `enable_profile`
 
     Used to set whether you need to view the profile of the query. The default 
is false, which means no profile is required.
     
@@ -239,7 +239,7 @@ Note that the comment must start with /*+ and can only 
follow the SELECT.
     
     `fe_host:fe_http:port/query`
     
-    It will display the most recent 100 queries which `is_report_success` is 
set to true.
+    It will display the most recent 100 queries which `enable_profile` is set 
to true.
     
 * `language`
 
diff --git a/docs/zh-CN/administrator-guide/load-data/broker-load-manual.md 
b/docs/zh-CN/administrator-guide/load-data/broker-load-manual.md
index 2ba0b63..8d85457 100644
--- a/docs/zh-CN/administrator-guide/load-data/broker-load-manual.md
+++ b/docs/zh-CN/administrator-guide/load-data/broker-load-manual.md
@@ -472,7 +472,7 @@ LoadFinishTime: 2019-07-27 11:50:16
 
 ### 性能分析
 
-可以在提交 LOAD 作业前,先执行 `set is_report_success=true` 打开会话变量。然后提交导入作业。待导入作业完成后,可以在 
FE 的 web 页面的 `Queris` 标签中查看到导入作业的 Profile。
+可以在提交 LOAD 作业前,先执行 `set enable_profile=true` 打开会话变量。然后提交导入作业。待导入作业完成后,可以在 FE 的 
web 页面的 `Queris` 标签中查看到导入作业的 Profile。
 
 这个 Profile 可以帮助分析导入作业的运行状态。
 
diff --git a/docs/zh-CN/administrator-guide/running-profile.md 
b/docs/zh-CN/administrator-guide/running-profile.md
index b5f2d93..e24cc3b 100644
--- a/docs/zh-CN/administrator-guide/running-profile.md
+++ b/docs/zh-CN/administrator-guide/running-profile.md
@@ -44,10 +44,10 @@ FE将查询计划拆分成为Fragment下发到BE进行任务执行。BE在执行
 通过Mysql命令,将FE上的Report的开关打开
 
 ```
-mysql> set is_report_success=true; 
+mysql> set enable_profile=true; 
 ```
 
-之后执行对应的SQL语句之后,在FE的Web页面就可以看到对应SQL语句执行的Report信息:
+之后执行对应的SQL语句之后(旧版本为`is_report_success`),在FE的Web页面就可以看到对应SQL语句执行的Report信息:
 ![image.png](/images/running_profile.png)
 
 这里会列出最新执行完成的**100条语句**,我们可以通过Profile查看详细的统计信息。
diff --git a/docs/zh-CN/administrator-guide/runtime-filter.md 
b/docs/zh-CN/administrator-guide/runtime-filter.md
index 2f71cb3..6f8b251 100644
--- a/docs/zh-CN/administrator-guide/runtime-filter.md
+++ b/docs/zh-CN/administrator-guide/runtime-filter.md
@@ -251,7 +251,7 @@ EXPLAIN SELECT t1 FROM test JOIN test2 where test.t1 = 
test2.t2;
 SELECT t1 FROM test JOIN test2 where test.t1 = test2.t2; 
 -- 返回2行结果[3, 4];
 
--- 通过query的profile(set is_report_success=true;)可以查看查询内部工作的详细信息,
+-- 通过query的profile(set enable_profile=true;)可以查看查询内部工作的详细信息,
 -- 包括每个Runtime Filter是否下推、等待耗时、以及OLAP_SCAN_NODE从prepare到接收到Runtime Filter的总时长。
 RuntimeFilter:in:
     -  HasPushDownToEngine:  true
diff --git a/docs/zh-CN/administrator-guide/variables.md 
b/docs/zh-CN/administrator-guide/variables.md
index a5457ce..72b6fb7 100644
--- a/docs/zh-CN/administrator-guide/variables.md
+++ b/docs/zh-CN/administrator-guide/variables.md
@@ -67,7 +67,7 @@ SET GLOBAL exec_mem_limit = 137438953472
 * `time_zone`
 * `wait_timeout`
 * `sql_mode`
-* `is_report_success`
+* `enable_profile`
 * `query_timeout`
 * `exec_mem_limit`
 * `batch_size`
@@ -226,7 +226,7 @@ SELECT /*+ SET_VAR(query_timeout = 1, 
enable_partition_cache=true) */ sleep(3);
 
     用于兼容 MySQL 客户端。无实际作用。
     
-* `is_report_success`
+* `enable_profile`
 
     用于设置是否需要查看查询的 profile。默认为 false,即不需要 profile。
     
@@ -235,7 +235,7 @@ SELECT /*+ SET_VAR(query_timeout = 1, 
enable_partition_cache=true) */ sleep(3);
     
     `fe_host:fe_http_port/query`
     
-    其中会显示最近100条,开启 `is_report_success` 的查询的 profile。
+    其中会显示最近100条,开启 `enable_profile` 的查询的 profile。
     
 * `language`
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java 
b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
index 2e6ba17..ccaa773 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
@@ -810,7 +810,13 @@ public class SchemaChangeHandler extends AlterHandler {
             }
         }
         if (found) {
-            throw new DdlException("Can not add column which already exists in 
base table: " +  newColName);
+            if (newColName.equalsIgnoreCase(Column.DELETE_SIGN)) {
+                throw new DdlException("Can not enable batch delete support, 
already supported batch delete.");
+            } else if (newColName.equalsIgnoreCase(Column.SEQUENCE_COL)) {
+                throw new DdlException("Can not enable sequence column 
support, already supported sequence column.");
+            } else {
+                throw new DdlException("Can not add column which already 
exists in base table: " +  newColName);
+            }
         }
         
         /*
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
index cdb28d0..784489e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetVar.java
@@ -129,23 +129,26 @@ public class SetVar {
             }
         }
 
-        if (getVariable().toLowerCase().equals("prefer_join_method")) {
+        if 
(getVariable().equalsIgnoreCase(SessionVariable.PREFER_JOIN_METHOD)) {
             String value = getValue().getStringValue();
-            if (!value.toLowerCase().equals("broadcast") && 
!value.toLowerCase().equals("shuffle")) {
-                
ErrorReport.reportAnalysisException(ErrorCode.ERR_WRONG_VALUE_FOR_VAR, 
"prefer_join_method", value);
+            if (!value.equalsIgnoreCase("broadcast") && 
!value.equalsIgnoreCase("shuffle")) {
+                
ErrorReport.reportAnalysisException(ErrorCode.ERR_WRONG_VALUE_FOR_VAR, 
SessionVariable.PREFER_JOIN_METHOD, value);
             }
         }
 
         // Check variable time_zone value is valid
-        if (getVariable().toLowerCase().equals("time_zone")) {
+        if (getVariable().equalsIgnoreCase(SessionVariable.TIME_ZONE)) {
             this.value = new 
StringLiteral(TimeUtils.checkTimeZoneValidAndStandardize(getValue().getStringValue()));
             this.result = (LiteralExpr) this.value;
         }
 
-        if (getVariable().toLowerCase().equals("exec_mem_limit")) {
+        if (getVariable().equalsIgnoreCase(SessionVariable.EXEC_MEM_LIMIT)) {
             this.value = new 
StringLiteral(Long.toString(ParseUtil.analyzeDataVolumn(getValue().getStringValue())));
             this.result = (LiteralExpr) this.value;
         }
+        if (getVariable().equalsIgnoreCase("is_report_success")) {
+            variable = SessionVariable.ENABLE_PROFILE;
+        }
     }
 
     public String toSql() {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java
index 616d043..9469e4c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/Load.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/Load.java
@@ -1065,8 +1065,14 @@ public class Load {
             for (SlotRef slot : slots) {
                 SlotDescriptor slotDesc = 
slotDescByName.get(slot.getColumnName());
                 if (slotDesc == null) {
-                    throw new UserException("unknown reference column, 
column=" + entry.getKey()
-                            + ", reference=" + slot.getColumnName());
+                    if (entry.getKey().equalsIgnoreCase(Column.DELETE_SIGN)) {
+                        throw new UserException("unknown reference column in 
DELETE ON clause:" + slot.getColumnName());
+                    } else if 
(entry.getKey().equalsIgnoreCase(Column.SEQUENCE_COL)) {
+                        throw new UserException("unknown reference column in 
ORDER BY clause:" + slot.getColumnName());
+                    } else {
+                        throw new UserException("unknown reference column, 
column=" + entry.getKey()
+                                + ", reference=" + slot.getColumnName());
+                    }
                 }
                 smap.getLhs().add(slot);
                 smap.getRhs().add(new SlotRef(slotDesc));
@@ -1099,8 +1105,14 @@ public class Load {
                     smap.getRhs().add(new 
CastExpr(tbl.getColumn(slot.getColumnName()).getType(),
                             exprsByName.get(slot.getColumnName())));
                 } else {
-                    throw new UserException("unknown reference column, 
column=" + entry.getKey()
-                            + ", reference=" + slot.getColumnName());
+                    if (entry.getKey().equalsIgnoreCase(Column.DELETE_SIGN)) {
+                        throw new UserException("unknown reference column in 
DELETE ON clause:" + slot.getColumnName());
+                    } else if 
(entry.getKey().equalsIgnoreCase(Column.SEQUENCE_COL)) {
+                        throw new UserException("unknown reference column in 
ORDER BY clause:" + slot.getColumnName());
+                    } else {
+                        throw new UserException("unknown reference column, 
column=" + entry.getKey()
+                                + ", reference=" + slot.getColumnName());
+                    }
                 }
             }
             Expr expr = entry.getValue().clone(smap);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
index afd153d..b57a2de 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java
@@ -75,7 +75,7 @@ public class BrokerLoadJob extends BulkLoadJob {
     // Profile of this load job, including all tasks' profiles
     private RuntimeProfile jobProfile;
     // If set to true, the profile of load job with be pushed to ProfileManager
-    private boolean isReportSuccess = false;
+    private boolean enableProfile = false;
 
     // for log replay and unit test
     public BrokerLoadJob() {
@@ -87,8 +87,8 @@ public class BrokerLoadJob extends BulkLoadJob {
             throws MetaNotFoundException {
         super(EtlJobType.BROKER, dbId, label, originStmt, userInfo);
         this.brokerDesc = brokerDesc;
-        if (ConnectContext.get() != null && 
ConnectContext.get().getSessionVariable().isReportSucc()) {
-            isReportSuccess = true;
+        if (ConnectContext.get() != null && 
ConnectContext.get().getSessionVariable().enableProfile()) {
+            enableProfile = true;
         }
     }
 
@@ -199,7 +199,7 @@ public class BrokerLoadJob extends BulkLoadJob {
                 LoadLoadingTask task = new LoadLoadingTask(db, table, 
brokerDesc,
                         brokerFileGroups, getDeadlineMs(), getExecMemLimit(),
                         isStrictMode(), transactionId, this, getTimeZone(), 
getTimeout(),
-                        getLoadParallelism(), getSendBatchParallelism(), 
isReportSuccess ? jobProfile : null);
+                        getLoadParallelism(), getSendBatchParallelism(), 
enableProfile ? jobProfile : null);
                 UUID uuid = UUID.randomUUID();
                 TUniqueId loadId = new 
TUniqueId(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
                 task.init(loadId, attachment.getFileStatusByTable(aggKey),
@@ -306,7 +306,7 @@ public class BrokerLoadJob extends BulkLoadJob {
     }
 
     private void writeProfile() {
-        if (!isReportSuccess) {
+        if (!enableProfile) {
             return;
         }
 
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 246788c..d980c28 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
@@ -759,6 +759,7 @@ public class OlapScanNode extends ScanNode {
             msg.olap_scan_node.setSortColumn(sortColumn);
         }
         msg.olap_scan_node.setKeyType(olapTable.getKeysType().toThrift());
+        msg.olap_scan_node.setTableName(olapTable.getName());
     }
 
     // export some tablets
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 70c4624..98b4661 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
@@ -239,7 +239,7 @@ public class Coordinator {
         }
         this.tResourceInfo = new TResourceInfo(context.getQualifiedUser(),
                 context.getSessionVariable().getResourceGroup());
-        this.needReport = context.getSessionVariable().isReportSucc();
+        this.needReport = context.getSessionVariable().enableProfile();
         this.nextInstanceId = new TUniqueId();
         nextInstanceId.setHi(queryId.hi);
         nextInstanceId.setLo(queryId.lo + 1);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
index 923a8b3..b6612a2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/GlobalVariable.java
@@ -82,7 +82,6 @@ public final class GlobalVariable {
 
     // Don't allow create instance.
     private GlobalVariable() {
-
     }
 
     public static List<String> getPersistentGlobalVarNames() {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
index c421b56..c05bf00 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/QeProcessorImpl.java
@@ -162,7 +162,7 @@ public final class QeProcessorImpl implements QeProcessor {
                     .db(context.getDatabase())
                     
.fragmentInstanceInfos(info.getCoord().getFragmentInstanceInfos())
                     .profile(info.getCoord().getQueryProfile())
-                    
.isReportSucc(context.getSessionVariable().isReportSucc()).build();
+                    
.isReportSucc(context.getSessionVariable().enableProfile()).build();
             querySet.put(queryIdStr, item);
         }
         return querySet;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 4e9e0e9..859508b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -45,7 +45,7 @@ public class SessionVariable implements Serializable, 
Writable {
 
     public static final String EXEC_MEM_LIMIT = "exec_mem_limit";
     public static final String QUERY_TIMEOUT = "query_timeout";
-    public static final String IS_REPORT_SUCCESS = "is_report_success";
+    public static final String ENABLE_PROFILE = "enable_profile";
     public static final String SQL_MODE = "sql_mode";
     public static final String RESOURCE_VARIABLE = "resource_group";
     public static final String AUTO_COMMIT = "autocommit";
@@ -184,8 +184,8 @@ public class SessionVariable implements Serializable, 
Writable {
     public int queryTimeoutS = 300;
 
     // if true, need report to coordinator when plan fragment execute 
successfully.
-    @VariableMgr.VarAttr(name = IS_REPORT_SUCCESS, needForward = true)
-    public boolean isReportSucc = false;
+    @VariableMgr.VarAttr(name = ENABLE_PROFILE, needForward = true)
+    public boolean enableProfile = false;
 
     // Set sqlMode to empty string
     @VariableMgr.VarAttr(name = SQL_MODE, needForward = true)
@@ -391,8 +391,8 @@ public class SessionVariable implements Serializable, 
Writable {
         return queryTimeoutS;
     }
 
-    public boolean isReportSucc() {
-        return isReportSucc;
+    public boolean enableProfile() {
+        return enableProfile;
     }
 
     public int getWaitTimeoutS() {
@@ -800,7 +800,7 @@ public class SessionVariable implements Serializable, 
Writable {
         tResult.setBufferPoolLimit(maxExecMemByte);
 
         tResult.setQueryTimeout(queryTimeoutS);
-        tResult.setIsReportSuccess(isReportSucc);
+        tResult.setIsReportSuccess(enableProfile);
         tResult.setCodegenLevel(codegenLevel);
         tResult.setEnableVectorizedEngine(enableVectorizedEngine);
 
@@ -900,7 +900,7 @@ public class SessionVariable implements Serializable, 
Writable {
             Text.readString(in);
             sqlMode = 0L;
         }
-        isReportSucc = in.readBoolean();
+        enableProfile = in.readBoolean();
         queryTimeoutS = in.readInt();
         maxExecMemByte = in.readLong();
         if (Catalog.getCurrentCatalogJournalVersion() >= 
FeMetaVersion.VERSION_37) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
index f1e8e5b..f435399 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java
@@ -465,7 +465,7 @@ public class StmtExecutor implements ProfileWriter {
 
     @Override
     public void writeProfile(boolean isLastWriteProfile) {
-        if (!context.getSessionVariable().isReportSucc()) {
+        if (!context.getSessionVariable().enableProfile()) {
             return;
         }
         synchronized (writeProfileLock) {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
index 3313630..98d7fc0 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/SessionVariablesTest.java
@@ -51,9 +51,9 @@ public class SessionVariablesTest {
         Assert.assertTrue(numOfForwardVars >= 6);
         Assert.assertEquals(numOfForwardVars, vars.size());
 
-        vars.put(SessionVariable.IS_REPORT_SUCCESS, "true");
+        vars.put(SessionVariable.ENABLE_PROFILE, "true");
         sessionVariable.setForwardedSessionVariables(vars);
-        Assert.assertEquals(true, sessionVariable.isReportSucc);
+        Assert.assertEquals(true, sessionVariable.enableProfile);
     }
 
     @Test
diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/VariableMgrTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/qe/VariableMgrTest.java
index 6ed14df..243832c 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/VariableMgrTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/VariableMgrTest.java
@@ -85,7 +85,7 @@ public class VariableMgrTest {
         SessionVariable var = VariableMgr.newSessionVariable();
         Assert.assertEquals(2147483648L, var.getMaxExecMemByte());
         Assert.assertEquals(300, var.getQueryTimeoutS());
-        Assert.assertEquals(false, var.isReportSucc());
+        Assert.assertEquals(false, var.enableProfile());
         Assert.assertEquals(0L, var.getSqlMode());
 
         List<List<String>> rows = VariableMgr.dump(SetType.SESSION, var, null);
diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift
index 0a90997..716002d 100644
--- a/gensrc/thrift/PlanNodes.thrift
+++ b/gensrc/thrift/PlanNodes.thrift
@@ -342,6 +342,7 @@ struct TOlapScanNode {
   4: required bool is_preaggregation
   5: optional string sort_column
   6: optional Types.TKeysType keyType
+  7: optional string table_name
 }
 
 struct TEqJoinCondition {

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to