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/doris.git
The following commit(s) were added to refs/heads/master by this push:
new f94e0b41ee4 [feat](desc) add comment column in desc statement (#51047)
f94e0b41ee4 is described below
commit f94e0b41ee4817c0e10c8edc8ba5e0b8e1520adb
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Sat May 24 15:24:59 2025 +0800
[feat](desc) add comment column in desc statement (#51047)
### What problem does this PR solve?
Add a new session variable `show_column_comment_in_describe`.
Default is false, when set to true, the `describe table` statement will
show column comment:
```
Doris > desc internal.db.table;
+-------+------+------+-------+---------+-------+--------------+
| Field | Type | Null | Key | Default | Extra | Comment |
+-------+------+------+-------+---------+-------+--------------+
| k1 | int | Yes | true | NULL | | first column |
| k2 | text | Yes | false | NULL | NONE | |
| k3 | text | Yes | false | NULL | NONE | 中文column |
+-------+------+------+-------+---------+-------+--------------+
```
This will also affect `show proc` statement:
```
Doris > show proc
'/catalogs/1747727318757/2272230635936012419/4443123596601666371/index_schema/4443123596601666371';
+---------------+----------------+------+------+---------+-------+----------------------------------------------------------------------------+
| Field | Type | Null | Key | Default | Extra | Comment
|
+---------------+----------------+------+------+---------+-------+----------------------------------------------------------------------------+
| user_id | text | Yes | true | NULL | | Unique
identifier for the user |
| item_id | text | Yes | true | NULL | | Unique
identifier for the product |
| category_id | text | Yes | true | NULL | | Category
ID of the product |
| behavior_type | text | Yes | true | NULL | |
行为类型,包含pv(浏览)、buy(购买)、cart(加购)、fav(收藏) |
| user_age | tinyint | Yes | true | NULL | | Age
group of the user (1=18-25, 2=26-30, 3=31-35, 4=36-40, 5=40+) |
| gender | text | Yes | true | NULL | | User
gender (0=female, 1=male, null=unknown) |
| province | text | Yes | true | NULL | | Province
where the user is located |
| city | text | Yes | true | NULL | | City
where the user is located |
| behavior_time | datetime(6) | Yes | true | NULL | |
Timestamp when the behavior occurred |
| behavior_date | date | Yes | true | NULL | | Date
when the behavior occurred |
| dt | varchar(65533) | Yes | true | NULL | |
Partition field in yyyy-MM-dd format |
+---------------+----------------+------+------+---------+-------+----------------------------------------------------------------------------+
Doris > show proc
'/dbs/1747727318758/1747727318760/index_schema/1747727318761';
+-------+------+------+-------+---------+-------+--------------+
| Field | Type | Null | Key | Default | Extra | Comment |
+-------+------+------+-------+---------+-------+--------------+
| k1 | int | Yes | true | NULL | | first column |
| k2 | text | Yes | false | NULL | NONE | |
| k3 | text | Yes | false | NULL | NONE | 中文column |
+-------+------+------+-------+---------+-------+--------------+
```
---
.../org/apache/doris/analysis/DescribeStmt.java | 5 +
.../doris/common/proc/IndexSchemaProcNode.java | 49 +++++--
.../common/proc/RemoteIndexSchemaProcDir.java | 2 +-
.../common/proc/RemoteIndexSchemaProcNode.java | 2 +-
.../trees/plans/commands/DescribeCommand.java | 17 ++-
.../java/org/apache/doris/qe/SessionVariable.java | 9 ++
.../test_external_and_internal_describe.out | Bin 0 -> 2972 bytes
.../test_external_and_internal_describe.groovy | 163 +++++++++++++++++++++
8 files changed, 228 insertions(+), 19 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/DescribeStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/DescribeStmt.java
index 1b117d5c243..29ade962cfa 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DescribeStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DescribeStmt.java
@@ -100,6 +100,7 @@ public class DescribeStmt extends ShowStmt implements
NotFallbackInParser {
private boolean isAllTables;
private boolean isOlapTable = false;
+ private boolean showComment = false;
TableValuedFunctionRef tableValuedFunctionRef;
boolean isTableValuedFunction;
@@ -357,6 +358,7 @@ public class DescribeStmt extends ShowStmt implements
NotFallbackInParser {
if (isTableValuedFunction) {
return totalRows;
}
+ showComment =
ConnectContext.get().getSessionVariable().showColumnCommentInDescribe;
Preconditions.checkNotNull(node);
List<List<String>> rows = node.fetchResult().getRows();
List<List<String>> res = new ArrayList<>();
@@ -383,6 +385,9 @@ public class DescribeStmt extends ShowStmt implements
NotFallbackInParser {
for (String col : IndexSchemaProcNode.TITLE_NAMES) {
builder.addColumn(new Column(col,
ScalarType.createVarchar(30)));
}
+ if (showComment) {
+ builder.addColumn(new
Column(IndexSchemaProcNode.COMMENT_COLUMN_TITLE,
ScalarType.createStringType()));
+ }
return builder.build();
} else {
if (isOlapTable) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/IndexSchemaProcNode.java
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/IndexSchemaProcNode.java
index 7ffff0c449a..31373ac781c 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/IndexSchemaProcNode.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/IndexSchemaProcNode.java
@@ -20,13 +20,13 @@ package org.apache.doris.common.proc;
import org.apache.doris.catalog.Column;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.FeConstants;
+import org.apache.doris.qe.ConnectContext;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
-import java.util.Arrays;
import java.util.List;
import java.util.Set;
@@ -39,6 +39,7 @@ public class IndexSchemaProcNode implements ProcNodeInterface
{
.add("Field").add("Type").add("Null").add("Key")
.add("Default").add("Extra")
.build();
+ public static final String COMMENT_COLUMN_TITLE = "Comment";
private final List<Column> schema;
private final Set<String> bfColumns;
@@ -48,10 +49,21 @@ public class IndexSchemaProcNode implements
ProcNodeInterface {
this.bfColumns = bfColumns;
}
- public static ProcResult createResult(List<Column> schema, Set<String>
bfColumns) throws AnalysisException {
+ public static ProcResult createResult(List<Column> schema, Set<String>
bfColumns, List<String> additionalColNames) {
Preconditions.checkNotNull(schema);
BaseProcResult result = new BaseProcResult();
- result.setNames(TITLE_NAMES);
+ List<String> names = Lists.newArrayList(TITLE_NAMES);
+ for (String additionalColName : additionalColNames) {
+ switch (additionalColName.toLowerCase()) {
+ case "comment":
+ names.add(COMMENT_COLUMN_TITLE);
+ break;
+ default:
+ Preconditions.checkState(false, "Unknown additional column
name: " + additionalColName);
+ break;
+ }
+ }
+ result.setNames(names);
for (Column column : schema) {
// Extra string (aggregation and bloom filter)
@@ -69,14 +81,26 @@ public class IndexSchemaProcNode implements
ProcNodeInterface {
extras.add("STORED GENERATED");
}
String extraStr = StringUtils.join(extras, ",");
+ String comment = column.getComment();
- List<String> rowList = Arrays.asList(column.getDisplayName(),
-
column.getOriginType().hideVersionForVersionColumn(true),
- column.isAllowNull() ? "Yes"
: "No",
- ((Boolean)
column.isKey()).toString(),
- column.getDefaultValue() ==
null
- ?
FeConstants.null_string : column.getDefaultValue(),
- extraStr);
+ List<String> rowList = Lists.newArrayList(column.getDisplayName(),
+ column.getOriginType().hideVersionForVersionColumn(true),
+ column.isAllowNull() ? "Yes" : "No",
+ ((Boolean) column.isKey()).toString(),
+ column.getDefaultValue() == null
+ ? FeConstants.null_string :
column.getDefaultValue(),
+ extraStr, comment);
+
+ for (String additionalColName : additionalColNames) {
+ switch (additionalColName.toLowerCase()) {
+ case "comment":
+ rowList.add(column.getComment());
+ break;
+ default:
+ Preconditions.checkState(false, "Unknown additional
column name: " + additionalColName);
+ break;
+ }
+ }
result.addRow(rowList);
}
return result;
@@ -84,6 +108,9 @@ public class IndexSchemaProcNode implements
ProcNodeInterface {
@Override
public ProcResult fetchResult() throws AnalysisException {
- return createResult(this.schema, this.bfColumns);
+ boolean showCommentInDescribe = ConnectContext.get() == null ? false
+ :
ConnectContext.get().getSessionVariable().showColumnCommentInDescribe;
+ return createResult(this.schema, this.bfColumns,
+ showCommentInDescribe ?
Lists.newArrayList(COMMENT_COLUMN_TITLE) : Lists.newArrayList());
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcDir.java
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcDir.java
index f2531b7ec15..05a029ccd04 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcDir.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcDir.java
@@ -70,7 +70,7 @@ public class RemoteIndexSchemaProcDir implements
ProcDirInterface {
}
List<Column> remoteSchema = new
FetchRemoteTabletSchemaUtil(tablets).fetch();
this.schema.addAll(remoteSchema);
- return IndexSchemaProcNode.createResult(this.schema, this.bfColumns);
+ return IndexSchemaProcNode.createResult(this.schema, this.bfColumns,
Lists.newArrayList());
}
@Override
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcNode.java
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcNode.java
index cdb1bbc133e..997f51556a5 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcNode.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/RemoteIndexSchemaProcNode.java
@@ -73,6 +73,6 @@ public class RemoteIndexSchemaProcNode implements
ProcNodeInterface {
}
List<Column> remoteSchema = new
FetchRemoteTabletSchemaUtil(tablets).fetch();
this.schema.addAll(remoteSchema);
- return IndexSchemaProcNode.createResult(this.schema, this.bfColumns);
+ return IndexSchemaProcNode.createResult(this.schema, this.bfColumns,
Lists.newArrayList());
}
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DescribeCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DescribeCommand.java
index a170880ca1e..e12dce97142 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DescribeCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DescribeCommand.java
@@ -84,6 +84,7 @@ public class DescribeCommand extends ShowCommand {
private TableNameInfo dbTableName;
private boolean isAllTables = false;
private boolean isOlapTable = false;
+ private boolean showComment = false;
private PartitionNamesInfo partitionNames;
@@ -91,7 +92,6 @@ public class DescribeCommand extends ShowCommand {
private boolean isTableValuedFunction;
private List<List<String>> rows = new LinkedList<List<String>>();
- private ProcNodeInterface node;
public DescribeCommand(TableNameInfo dbTableName, boolean isAllTables,
PartitionNamesInfo partitionNames) {
super(PlanType.DESCRIBE);
@@ -155,12 +155,16 @@ public class DescribeCommand extends ShowCommand {
/**
* getMetaData
*/
+ @Override
public ShowResultSetMetaData getMetaData() {
if (!isAllTables) {
ShowResultSetMetaData.Builder builder =
ShowResultSetMetaData.builder();
for (String col : IndexSchemaProcNode.TITLE_NAMES) {
builder.addColumn(new Column(col,
ScalarType.createVarchar(30)));
}
+ if (showComment) {
+ builder.addColumn(new
Column(IndexSchemaProcNode.COMMENT_COLUMN_TITLE,
ScalarType.createStringType()));
+ }
return builder.build();
} else {
if (isOlapTable) {
@@ -174,8 +178,8 @@ public class DescribeCommand extends ShowCommand {
/**
* validateTableValuedFunction
*/
- public void validateTableValuedFunction(ConnectContext ctx, String
funcName) throws AnalysisException {
- // check privilige for backends/local tvf
+ private void validateTableValuedFunction(ConnectContext ctx, String
funcName) throws AnalysisException {
+ // check privilege for backends/local tvf
if (funcName.equalsIgnoreCase(BackendsTableValuedFunction.NAME)
|| funcName.equalsIgnoreCase(LocalTableValuedFunction.NAME)) {
if (!Env.getCurrentEnv().getAccessManager().checkGlobalPriv(ctx,
PrivPredicate.ADMIN)
@@ -270,11 +274,11 @@ public class DescribeCommand extends ShowCommand {
builder.deleteCharAt(builder.length() - 1);
procString += builder.toString();
}
- node = ProcService.getInstance().open(procString);
+ ProcNodeInterface node =
ProcService.getInstance().open(procString);
if (node == null) {
throw new AnalysisException("Describe table[" +
dbTableName.getTbl() + "] failed");
}
- rows.addAll(getResultRows());
+ rows.addAll(getResultRows(node));
} else {
Util.prohibitExternalCatalog(dbTableName.getCtl(),
this.getClass().getSimpleName() + " ALL");
if (table instanceof OlapTable) {
@@ -420,7 +424,8 @@ public class DescribeCommand extends ShowCommand {
/**
* getResultRows
*/
- public List<List<String>> getResultRows() throws AnalysisException {
+ private List<List<String>> getResultRows(ProcNodeInterface node) throws
AnalysisException {
+ showComment =
ConnectContext.get().getSessionVariable().showColumnCommentInDescribe;
Preconditions.checkNotNull(node);
List<List<String>> rows = node.fetchResult().getRows();
List<List<String>> res = new ArrayList<>();
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 69a453a3b16..6feadb229a7 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
@@ -737,6 +737,8 @@ public class SessionVariable implements Serializable,
Writable {
public static final String ENABLE_SQL_CONVERTOR_FEATURES =
"enable_sql_convertor_features";
+ public static final String SHOW_COLUMN_COMMENT_IN_DESCRIBE =
"show_column_comment_in_describe";
+
public static final String SQL_CONVERTOR_CONFIG = "sql_convertor_config";
/**
@@ -2596,6 +2598,13 @@ public class SessionVariable implements Serializable,
Writable {
})
public String enableSqlConvertorFeatures = "";
+ @VariableMgr.VarAttr(name = SHOW_COLUMN_COMMENT_IN_DESCRIBE, needForward =
true,
+ description = {
+ "是否在 DESCRIBE TABLE 语句中显示列注释",
+ "whether to show column comments in DESCRIBE TABLE
statement"
+ })
+ public boolean showColumnCommentInDescribe = false;
+
@VariableMgr.VarAttr(name = SQL_CONVERTOR_CONFIG, needForward = true,
description = {
"SQL 转换器的相关配置,使用 Json 格式。以 {} 为根元素。",
diff --git
a/regression-test/data/external_table_p0/test_external_and_internal_describe.out
b/regression-test/data/external_table_p0/test_external_and_internal_describe.out
new file mode 100644
index 00000000000..4ee6d9cf4cb
Binary files /dev/null and
b/regression-test/data/external_table_p0/test_external_and_internal_describe.out
differ
diff --git
a/regression-test/suites/external_table_p0/test_external_and_internal_describe.groovy
b/regression-test/suites/external_table_p0/test_external_and_internal_describe.groovy
new file mode 100644
index 00000000000..fde81af64d7
--- /dev/null
+++
b/regression-test/suites/external_table_p0/test_external_and_internal_describe.groovy
@@ -0,0 +1,163 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_external_and_internal_describe",
"p0,external,hive,external_docker,external_docker_hive") {
+ String catalog_name = "test_test_external_describe"
+
+ String enabled = context.config.otherConfigs.get("enableHiveTest")
+ if (enabled != null && enabled.equalsIgnoreCase("true")) {
+ for (String hivePrefix : ["hive3"]) {
+ setHivePrefix(hivePrefix)
+ String externalEnvIp =
context.config.otherConfigs.get("externalEnvIp")
+ String hmsPort = context.config.otherConfigs.get(hivePrefix +
"HmsPort")
+ String hdfs_port = context.config.otherConfigs.get(hivePrefix +
"HdfsPort")
+
+ // 1. test default catalog
+ sql """drop catalog if exists ${catalog_name};"""
+ sql """
+ create catalog ${catalog_name} properties (
+ 'type'='hms',
+ 'hadoop.username' = 'hadoop',
+ 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hmsPort}',
+ 'fs.defaultFS' = 'hdfs://${externalEnvIp}:${hdfs_port}'
+ );
+ """
+ sql """switch ${catalog_name}"""
+ hive_docker """drop database if exists test_external_describe
CASCADE"""
+ hive_docker """create database test_external_describe"""
+ hive_docker """
+ CREATE TABLE IF NOT EXISTS
test_external_describe.user_behavior_log (
+ user_id STRING COMMENT 'Unique identifier for the user',
+ item_id STRING COMMENT 'Unique identifier for the product',
+ category_id STRING COMMENT 'Category ID of the product',
+ behavior_type STRING COMMENT
'行为类型,包含pv(浏览)、buy(购买)、cart(加购)、fav(收藏)',
+ user_age TINYINT COMMENT 'Age group of the user (1=18-25,
2=26-30, 3=31-35, 4=36-40, 5=40+)',
+ gender STRING COMMENT 'User gender (0=female, 1=male,
null=unknown)',
+ province STRING COMMENT 'Province where the user is
located',
+ city STRING COMMENT 'City where the user is located',
+ behavior_time TIMESTAMP COMMENT 'Timestamp when the
behavior occurred',
+ behavior_date DATE COMMENT 'Date when the behavior
occurred'
+ )
+ COMMENT 'Log table for user behaviors'
+ PARTITIONED BY (dt STRING COMMENT 'Partition field in
yyyy-MM-dd format')
+ STORED AS PARQUET
+ """
+ // no comment
+ sql """set show_column_comment_in_describe = false"""
+ qt_desc01 """desc test_external_describe.user_behavior_log"""
+ // set show comment
+ sql """set show_column_comment_in_describe = true"""
+ qt_desc02 """desc test_external_describe.user_behavior_log"""
+
+ sql """unset variable show_column_comment_in_describe;"""
+
+ // test show proc
+ def show_proc_string = """/catalogs/"""
+ List<List<Object>> res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("test_test_external_describe")) {
+ show_proc_string = """${show_proc_string}${res[i][0]}/"""
+ }
+ }
+ // show proc "/catalogs/1747727318719/"
+ res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("test_external_describe")) {
+ show_proc_string = """${show_proc_string}${res[i][0]}/"""
+ }
+ }
+ // show proc "/catalogs/1747727318719/2272230635936012419/"
+ res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("user_behavior_log")) {
+ show_proc_string =
"""${show_proc_string}${res[i][0]}/index_schema/"""
+ }
+ }
+ // show proc
"/catalogs/1747727318719/2272230635936012419/4443123596601666371/index_schema"
+ res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("user_behavior_log")) {
+ show_proc_string = """${show_proc_string}${res[i][0]}"""
+ }
+ }
+ sql """set show_column_comment_in_describe = false"""
+ qt_proc_sql01 """show proc '${show_proc_string}'"""
+ sql """set show_column_comment_in_describe = true"""
+ qt_proc_sql02 """show proc '${show_proc_string}'"""
+
+ sql """unset variable show_column_comment_in_describe;"""
+ // sql """drop table test_external_describe.user_behavior_log"""
+ }
+
+ // desc internal table
+ sql "switch internal"
+ sql "drop database if exists test_external_and_internal_describe_db"
+ sql "create database test_external_and_internal_describe_db";
+ sql "use test_external_and_internal_describe_db";
+ sql """
+ CREATE TABLE test_external_and_internal_describe_tbl (
+ k1 int COMMENT "first column",
+ k2 string COMMENT "",
+ k3 string COMMENT "中文column"
+ ) DISTRIBUTED BY HASH(k1) BUCKETS 1 PROPERTIES("replication_num" =
"1");
+ """
+
+ // no comment
+ sql """set show_column_comment_in_describe = false"""
+ qt_desc01 """desc test_external_and_internal_describe_tbl"""
+ // set show comment
+ sql """set show_column_comment_in_describe = true"""
+ qt_desc02 """desc test_external_and_internal_describe_tbl"""
+
+ // test show proc for internal
+ def show_proc_string = """/catalogs/0/"""
+ def show_proc_db_string = """/dbs/"""
+ List<List<Object>> res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("test_external_and_internal_describe_db")) {
+ show_proc_string = """${show_proc_string}${res[i][0]}/"""
+ show_proc_db_string = """${show_proc_db_string}${res[i][0]}/"""
+ }
+ }
+ // show proc "/catalogs/0/1747727318719/"
+ res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("test_external_and_internal_describe_tbl")) {
+ show_proc_string =
"""${show_proc_string}${res[i][0]}/index_schema/"""
+ show_proc_db_string =
"""${show_proc_db_string}${res[i][0]}/index_schema/"""
+ }
+ }
+ // show proc
"/catalogs/0/1747727318719/2272230635936012419/4443123596601666371/index_schema"
+ res = sql """show proc '${show_proc_string}'"""
+ for (int i = 0; i < res.size(); i++) {
+ if (res[i][1].equals("test_external_and_internal_describe_tbl")) {
+ show_proc_string = """${show_proc_string}${res[i][0]}"""
+ show_proc_db_string = """${show_proc_db_string}${res[i][0]}"""
+ }
+ }
+ sql """set show_column_comment_in_describe = false"""
+ qt_proc_sql01 """show proc '${show_proc_string}'"""
+ qt_proc_db_sql01 """show proc '${show_proc_db_string}'"""
+ sql """set show_column_comment_in_describe = true"""
+ qt_proc_sql02 """show proc '${show_proc_string}'"""
+ qt_proc_db_sql02 """show proc '${show_proc_db_string}'"""
+
+
+ sql """unset variable show_column_comment_in_describe;"""
+ }
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]