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

lide pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 3ed1f40080 [Improvement](meta) add default_value column & is changed 
column for result of show variables stmt (#23585)
3ed1f40080 is described below

commit 3ed1f4008032e3dc718f7794cd8d994f84fc913e
Author: Yulei-Yang <yulei.yang0...@gmail.com>
AuthorDate: Tue Aug 29 10:14:12 2023 +0800

    [Improvement](meta) add default_value column & is changed column for result 
of show variables stmt (#23585)
---
 .../main/java/org/apache/doris/analysis/ShowVariablesStmt.java   | 4 ++++
 .../src/main/java/org/apache/doris/catalog/SchemaTable.java      | 8 ++++++--
 fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java    | 9 +++++++++
 .../java/org/apache/doris/analysis/ShowVariablesStmtTest.java    | 6 ++++--
 4 files changed, 23 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java
index 2670a59414..dcdfc33d57 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java
@@ -32,10 +32,14 @@ public class ShowVariablesStmt extends ShowStmt {
     private static final Logger LOG = 
LogManager.getLogger(ShowVariablesStmt.class);
     private static final String NAME_COL = "Variable_name";
     private static final String VALUE_COL = "Value";
+    private static final String DEFAULT_VALUE_COL = "Default_Value";
+    private static final String CHANGED_COL = "Changed";
     private static final ShowResultSetMetaData META_DATA =
             ShowResultSetMetaData.builder()
                     .addColumn(new Column(NAME_COL, 
ScalarType.createVarchar(20)))
                     .addColumn(new Column(VALUE_COL, 
ScalarType.createVarchar(20)))
+                    .addColumn(new Column(DEFAULT_VALUE_COL, 
ScalarType.createVarchar(20)))
+                    .addColumn(new Column(CHANGED_COL, 
ScalarType.createVarchar(20)))
                     .build();
 
     private SetType type;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java
index 6de21cf7c6..fc70eb3fb9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java
@@ -151,11 +151,15 @@ public class SchemaTable extends Table {
             .put("session_variables",
                     new SchemaTable(SystemIdGenerator.getNextId(), 
"session_variables", TableType.SCHEMA,
                             builder().column("VARIABLE_NAME", 
ScalarType.createVarchar(64))
-                                    .column("VARIABLE_VALUE", 
ScalarType.createVarchar(1024)).build()))
+                                    .column("VARIABLE_VALUE", 
ScalarType.createVarchar(1024))
+                                    .column("DEFAULT_VALUE", 
ScalarType.createVarchar(1024))
+                                    .column("CHANGED", 
ScalarType.createVarchar(4)).build()))
             .put("global_variables",
                     new SchemaTable(SystemIdGenerator.getNextId(), 
"global_variables", TableType.SCHEMA,
                             builder().column("VARIABLE_NAME", 
ScalarType.createVarchar(64))
-                                    .column("VARIABLE_VALUE", 
ScalarType.createVarchar(1024)).build()))
+                                    .column("VARIABLE_VALUE", 
ScalarType.createVarchar(1024))
+                                    .column("DEFAULT_VALUE", 
ScalarType.createVarchar(1024))
+                                    .column("CHANGED", 
ScalarType.createVarchar(4)).build()))
             .put("columns",
                     new SchemaTable(SystemIdGenerator.getNextId(), "columns", 
TableType.SCHEMA,
                             builder().column("TABLE_CATALOG", 
ScalarType.createVarchar(512))
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java
index 853e0679e2..3588692dd2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java
@@ -719,6 +719,15 @@ public class VariableMgr {
                     }
                 }
 
+                VarContext varContext = ctxByVarName.get(entry.getKey());
+                if (varContext != null) {
+                    row.add(varContext.defaultValue);
+                    row.add(row.get(1).equals(row.get(2)) ? "0" : "1");
+                } else {
+                    row.add("-");
+                    row.add("-");
+                }
+
                 rows.add(row);
             }
         } finally {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowVariablesStmtTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowVariablesStmtTest.java
index 50bf1903ac..57bafbca46 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowVariablesStmtTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowVariablesStmtTest.java
@@ -26,16 +26,18 @@ public class ShowVariablesStmtTest {
         ShowVariablesStmt stmt = new ShowVariablesStmt(null, null);
         stmt.analyze(null);
         Assert.assertEquals("SHOW DEFAULT VARIABLES", stmt.toString());
-        Assert.assertEquals(2, stmt.getMetaData().getColumnCount());
+        Assert.assertEquals(4, stmt.getMetaData().getColumnCount());
         Assert.assertEquals("Variable_name", 
stmt.getMetaData().getColumn(0).getName());
         Assert.assertEquals("Value", 
stmt.getMetaData().getColumn(1).getName());
+        Assert.assertEquals("Default_Value", 
stmt.getMetaData().getColumn(2).getName());
+        Assert.assertEquals("Changed", 
stmt.getMetaData().getColumn(3).getName());
         Assert.assertNull(stmt.getPattern());
         Assert.assertEquals(SetType.DEFAULT, stmt.getType());
 
         stmt = new ShowVariablesStmt(SetType.GLOBAL, "abc");
         stmt.analyze(null);
         Assert.assertEquals("SHOW GLOBAL VARIABLES LIKE 'abc'", 
stmt.toString());
-        Assert.assertEquals(2, stmt.getMetaData().getColumnCount());
+        Assert.assertEquals(4, stmt.getMetaData().getColumnCount());
         Assert.assertEquals("Variable_name", 
stmt.getMetaData().getColumn(0).getName());
         Assert.assertEquals("Value", 
stmt.getMetaData().getColumn(1).getName());
         Assert.assertEquals("abc", stmt.getPattern());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to