This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 6ffc26858a [Improvement](meta) add default_value column & is changed
column for result of show_variables stmt (#23017)
6ffc26858a is described below
commit 6ffc26858a2cb4eaefaeb32fc4c64fc3cabce3cc
Author: Yulei-Yang <[email protected]>
AuthorDate: Sun Aug 20 20:48:45 2023 +0800
[Improvement](meta) add default_value column & is changed column for result
of show_variables stmt (#23017)
* [Improvement](meta) add default_value column for result of show_variables
stmt
* add Changed column to show whether value is modified
* fix code style issue
---
.../main/java/org/apache/doris/analysis/ShowVariablesStmt.java | 4 ++++
.../src/main/java/org/apache/doris/catalog/SchemaTable.java | 9 +++++++--
fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java | 9 +++++++++
.../java/org/apache/doris/analysis/ShowVariablesStmtTest.java | 6 ++++--
4 files changed, 24 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..d5035dbd52 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,16 @@ 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 a138f33d58..53caa3ec39 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
@@ -720,6 +720,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: [email protected]
For additional commands, e-mail: [email protected]