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