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-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 784e453608d [feat](udf)(desc) add new session variables (#2412)
784e453608d is described below

commit 784e453608de42aba3da1aa4291a69e83e7710ba
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Tue May 27 11:22:23 2025 +0800

    [feat](udf)(desc) add new session variables (#2412)
    
    ## Versions
    
    - [x] dev
    - [x] 3.0
    - [ ] 2.1
    - [ ] 2.0
    
    ## Languages
    
    - [x] Chinese
    - [x] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
---
 docs/query-data/udf/java-user-defined-function.md  |   7 +-
 .../table-and-view/table/DESC-TABLE.md             | 102 ++++++++++----------
 .../query-data/udf/java-user-defined-function.md   |   4 +
 .../table-and-view/table/DESC-TABLE.md             |  47 ++++++++--
 .../query-data/udf/java-user-defined-function.md   |  14 ++-
 .../table-and-view/table/DESC-TABLE.md             |  32 +++++--
 .../query-data/udf/java-user-defined-function.md   |  15 ++-
 .../table-and-view/table/DESC-TABLE.md             | 103 ++++++++++-----------
 8 files changed, 187 insertions(+), 137 deletions(-)

diff --git a/docs/query-data/udf/java-user-defined-function.md 
b/docs/query-data/udf/java-user-defined-function.md
index 28f6d9489c4..2ca775fee67 100644
--- a/docs/query-data/udf/java-user-defined-function.md
+++ b/docs/query-data/udf/java-user-defined-function.md
@@ -74,6 +74,11 @@ When creating functions, avoid using `varchar` in place of 
`string`, as this may
 
 3. Due to issues with JVM loading classes with the same name, do not use 
multiple classes with the same name as UDF implementations simultaneously. If 
you want to update a UDF with a class of the same name, you need to restart BE 
to reload the classpath.
 
+4. Same-named Functions
+
+    Users can create UDF with exactly the same signature as built-in 
functions. By default, the system will prioritize matching built-in functions. 
However, if you specify the `database` when using the function (i.e., 
`db.function()`), it will be forcibly considered as a user-defined function.
+
+    In version 3.0.7, a new session variable `prefer_udf_over_builtin` was 
added. When set to `true`, it will prioritize matching user-defined functions, 
making it easier for users to migrate from other systems to Doris while 
maintaining the original system's function behavior through custom functions 
without changing function names.
 
 ## Getting Started
 This section mainly introduces how to develop a Java UDF. Examples are 
provided in `samples/doris-demo/java-udf-demo/` for reference. Click 
[here](https://github.com/apache/doris/tree/master/samples/doris-demo/java-udf-demo)
 to view details.
@@ -541,4 +546,4 @@ mysql [test_query_qa]>select print_12();
 +------------+
 1 row in set (0.04 sec)
 
-```
\ No newline at end of file
+```
diff --git a/docs/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md 
b/docs/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
index a1a643ec773..15313c0a6b1 100644
--- a/docs/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
+++ b/docs/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
@@ -24,6 +24,7 @@ specific language governing permissions and limitations
 under the License.
 -->
 
+
 ## Description
 
 This statement is used to display the schema information of the specified 
table.
@@ -31,67 +32,79 @@ This statement is used to display the schema information of 
the specified table.
 ## Syntax
 
 ```sql
-DESC[RIBE] [db_name.]table_name [ALL];
+DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
 ```
-
 ## Required Parameters
+
 **1.`<table_name>`**
-> Specifies the table identifier (name), which must be unique within the 
database in which it is located.
+
+> Specifies the identifier (i.e., name) of the table, which must be unique 
within its database.
 >
-> Identifiers must begin with an alphabetic character (or any character in a 
language if unicode name support is enabled) and cannot contain spaces or 
special characters unless the entire identifier string is enclosed in backticks 
(e.g. `My Object`).
+> The identifier must start with a letter character (or any language character 
if Unicode name support is enabled), and cannot contain spaces or special 
characters, unless the entire identifier string is enclosed in backticks (e.g., 
`My Object`).
 >
-> Identifiers cannot use reserved keywords.
+> The identifier cannot use reserved keywords.
 >
-> For more details, see Identifier Requirements and Reserved Keywords.
+> For more details, please refer to identifier requirements and reserved 
keywords.
 
 ## Optional Parameters
 
-**1.`<db_name>`**
-> Specifies the identifier (i.e., name) for the database.
+**1.`<ctl_name>.<db_name>`**
+
+> Specifies the identifier (i.e., name) of the data catalog and database.
 >
-> Identifiers must begin with an alphabetic character (or any character in a 
given language if unicode name support is enabled) and cannot contain spaces or 
special characters unless the entire identifier string is enclosed in backticks 
(e.g., `My Database`).
+> The identifier must start with a letter character (or any language character 
if Unicode name support is enabled), and cannot contain spaces or special 
characters, unless the entire identifier string is enclosed in backticks (e.g., 
`My Database`).
 >
-> Identifiers cannot use reserved keywords.
+> The identifier cannot use reserved keywords.
 >
-> See Identifier Requirements and Reserved Keywords for more details.
+> For more details, please refer to identifier requirements and reserved 
keywords.
 
-**2.`RIBE`**
-> Returns description information of all columns in a table
+**2.`ALL`**
 
-**3.`ALL`**
-> Returns description information for all columns
+> Only valid for internal tables. Returns all Index information of internal 
tables.
 
 ## Return Value
 
-| column name | description                       |
-| -- |-----------------------------------|
-| IndexName | Table name                        |
-| IndexKeysType | Table Model                       |
-| Field | Column Name                       |
-| Type | Data Types                        |
+When `ALL` is not specified, the return value is as follows:
+
+| Column | Description |
+| -- |--------------|
+| Field | Column name |
+| Type | Data type |
 | Null | Whether NULL values are allowed |
-| Key | Is it a key column                           |
-| Default | Default Value                     |
-| Extra | Display some additional information                         |
-| Visible | Visible                              |
-| DefineExpr | Defining Expressions                             |
-| WhereClause | Filter Conditions Related Definitions                       |
+| Key | Whether it's a key column |
+| Default | Default value |
+| Extra | Displays some additional information |
+
+In version 3.0.7, a new session variable `show_column_comment_in_describe` was 
added. When set to `true`, an additional `Comment` column will be added to 
display column comment information.
 
-## Access Control Requirements
+When `ALL` is specified, for internal tables, the return value is as follows:
 
-Users executing this SQL command must have at least the following privileges:
+| Column | Description |
+| -- |--------------|
+| IndexName | Table name |
+| IndexKeysType | Table model |
+| Field | Column name |
+| Type | Data type |
+| Null | Whether NULL values are allowed |
+| Key | Whether it's a key column |
+| Default | Default value |
+| Extra | Displays some additional information |
+| Visible | Whether it's visible |
+| DefineExpr | Definition expression |
+| WhereClause | Filter condition related definitions |
 
-| Privilege    | Object    | Notes                                             
                                            |
-|:-------------|:----------|:----------------------------------------------------------------------------------------------|
-| SELECT_PRIV  | Table     | When executing DESC, you need to have the 
SELECT_PRIV privilege on the table being queried    |
+## Permission Control
 
-## Usage Notes
-- If ALL is specified, the schema of all indexes (rollup) of the table is 
displayed.
+Users executing this SQL command must have at least the following permissions:
+
+| Permission (Privilege) | Object | Notes |
+|:--------------| :------------- 
|:---------------------------------------------|
+| SELECT_PRIV   | Table    | When executing DESC, you need to have SELECT_PRIV 
permission on the queried table |
 
 
 ## Examples
 
-1. Display the Base table schema
+1. Display Base Table Schema
 
 ```sql
 DESC test_table;
@@ -104,22 +117,3 @@ DESC test_table;
 | name    | varchar(20) | Yes  | false | NULL    | NONE  |
 | age     | int         | Yes  | false | NULL    | NONE  |
 +---------+-------------+------+-------+---------+-------+
-```
-
-2. Display the schema of all indexes in the table
-
-```sql
-DESC demo.test_table ALL;
-```
-
-```text
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-| IndexName  | IndexKeysType | Field   | Type        | InternalType | Null | 
Key   | Default | Extra | Visible | DefineExpr | WhereClause |
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-| test_table | DUP_KEYS      | user_id | bigint      | bigint       | No   | 
true  | NULL    |       | true    |            |             |
-|            |               | name    | varchar(20) | varchar(20)  | Yes  | 
false | NULL    | NONE  | true    |            |             |
-|            |               | age     | int         | int          | Yes  | 
false | NULL    | NONE  | true    |            |             |
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-```
-
-
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/java-user-defined-function.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/java-user-defined-function.md
index 069d3059e46..e89bc77cdcb 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/java-user-defined-function.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query-data/udf/java-user-defined-function.md
@@ -67,7 +67,11 @@ Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,
 1. 不支持复杂数据类型(HLL,Bitmap)。
 2. 当前允许用户自己指定 JVM 最大堆大小,配置项是 be.conf 中的 `JAVA_OPTS` 的 -Xmx 部分。默认 
1024m,如果需要聚合数据,建议调大一些,增加性能,减少内存溢出风险。
 3. 由于 jvm 加载同名类的问题,不要同时使用多个同名类作为 udf 实现,如果想更新某个同名类的 udf,需要重启 be 重新加载 classpath。
+4. 同名函数
 
+    用户可以创建和内置函数签名完全相同的自定义函数。默认情况下,系统会优先匹配内置函数。但如果使用函数时,指定了 `database`(即 
`db.function()`),则会被强制认为是用户自定义函数。
+
+    在 3.0.7 版本中,新增了会话变量 `prefer_udf_over_builtin`。当设置为 `true` 
时,会优先匹配用户自定义函数,以便于用户从其他系统迁移到 Doris 时,在不改变函数名称的情况下,通过自定义函数保持原有系统的函数行为。
 
 ## 快速上手
 本节主要介绍如何开发 Java UDF。在 `samples/doris-demo/java-udf-demo/` 
目录下提供了示例代码,供您参考。您也可以查看 
[demo](https://github.com/apache/doris/tree/master/samples/doris-demo/java-udf-demo)。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
index 5fc1a878ae4..a77eecbd0fd 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
@@ -32,10 +32,12 @@ under the License.
 ## 语法
 
 ```sql
-DESC[RIBE] [<db_name>.]<table_name> [ALL];
+DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
 ```
 ## 必选参数
+
 **1.`<table_name>`**
+
 > 指定表的标识符(即名称),在其所在的数据库(Database)中必须唯一。
 >
 > 标识符必须以字母字符(如果开启 unicode 
 > 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如`My Object`)。
@@ -46,8 +48,9 @@ DESC[RIBE] [<db_name>.]<table_name> [ALL];
 
 ## 可选参数
 
-**1.`<db_name>`**
-> 指定数据库的标识符(即名称)。
+**1.`<ctl_name>.<db_name>`**
+
+> 指定数据目录和数据库的标识符(即名称)。
 >
 > 标识符必须以字母字符(如果开启 unicode 
 > 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如`My Database`)。
 >
@@ -55,14 +58,27 @@ DESC[RIBE] [<db_name>.]<table_name> [ALL];
 >
 > 有关更多详细信息,请参阅标识符要求和保留关键字。
 
-**2.`RIBE`**
-> 返回表的所有列的描述信息
+**2.`ALL`**
 
-**3.`ALL`**
-> 返回所有列的描述信息
+> 仅针对内表有效。返回内表的所有 Index 信息。 
 
 ## 返回值
 
+不指定 `ALL` 的情况下,返回值如下:
+
+| 列名 | 说明           |
+| -- |--------------|
+| Field | 列名           |
+| Type | 数据类型         |
+| Null | 是否允许为 NULL 值 |
+| Key | 是否为 key 列      |
+| Default | 默认值          |
+| Extra | 显示一些额外的信息    |
+
+在 3.0.7 版本中,新增会话变量 `show_column_comment_in_describe`。当指定为 `true` 时,将额外增加 
`Comment` 列,用于显示列的注释信息。
+
+指定 `ALL` 的情况下,针对内表,返回值如下: 
+
 | 列名 | 说明           |
 | -- |--------------|
 | IndexName | 表名           |
@@ -85,9 +101,6 @@ DESC[RIBE] [<db_name>.]<table_name> [ALL];
 |:--------------| :------------- 
|:---------------------------------------------|
 | SELECT_PRIV   | 表(Table)    | 当执行 DESC 时,需要拥有被查询的表的 SELECT_PRIV 权限 |
 
-## 注意事项
-- 如果指定 ALL,则显示该 table 的所有 index(rollup) 的 schema
-
 
 ## 举例
 
@@ -106,6 +119,20 @@ DESC test_table;
 +---------+-------------+------+-------+---------+-------+
 ```
 
+```sql
+SET show_column_comment_in_describe=true;
+DESC test_table;
+```
+```text
++---------+-------------+------+-------+---------+-------+----------+
+| Field   | Type        | Null | Key   | Default | Extra | Comment  |
++---------+-------------+------+-------+---------+-------+----------+
+| user_id | bigint      | No   | true  | NULL    |       | Key1     |
+| name    | varchar(20) | Yes  | false | NULL    | NONE  | username |
+| age     | int         | Yes  | false | NULL    | NONE  | user_age |
++---------+-------------+------+-------+---------+-------+----------+
+```
+
 2. 显示表所有 index 的 schema
 
 ```sql
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/query-data/udf/java-user-defined-function.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/query-data/udf/java-user-defined-function.md
index eb5ea4e3837..e89bc77cdcb 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/query-data/udf/java-user-defined-function.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/query-data/udf/java-user-defined-function.md
@@ -29,7 +29,7 @@ Java UDF 为用户提供使用 Java 编写 UDF 的接口,以方便用户使用
 Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,使用 UDF 统称所有用户自定义函数。
 1. Java UDF  是较为常见的自定义标量函数 (Scalar Function),即每输入一行数据,就会有一行对应的结果输出,较为常见的有 
ABS,LENGTH 等。值得一提的是对于用户来讲,Hive UDF 是可以直接迁移至 Doris 的。
 2. Java UDAF 即为自定义的聚合函数 (Aggregate Function),即在输入多行数据进行聚合后,仅输出一行对应的结果,较为常见的有 
MIN,MAX,COUNT 等。
-3. JAVA UDTF 即为自定义的表函数 (Table Function),即每输一行数据,可以产生一行或多行的结果,在 Doris 中需要结合 
Lateral View 使用可以达到行转列的效果,较为常见的有 EXPLODE,EXPLODE_SPLIT 等。
+3. JAVA UDTF 即为自定义的表函数 (Table Function),即每输一行数据,可以产生一行或多行的结果,在 Doris 中需要结合 
Lateral View 使用可以达到行转列的效果,较为常见的有 EXPLODE,EXPLODE_SPLIT 等。**该功能自 Doris 3.0 
版本起开始支持。**
 
 ## 类型对应关系
 
@@ -48,9 +48,9 @@ Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,
 | IPV4/IPV6        | InetAddress                                |
 | String           | String                                     |
 | Decimal          | BigDecimal                                 |
-| `array<Type>`      | `ArrayList<Type>``List<Type>` (支持嵌套)                  |
-| `map<Type1,Type2>` | `HashMap<Type1,Type2>`(支持嵌套) `Map<Type1,Type2>`         
   |
-| `struct<Type...>`  | `ArrayList<Object>`(从 3.0.0 版本开始支持)`List<Type>`  |
+| `array<Type>`      | `ArrayList<Type>` `List<Type>` (支持嵌套)              |
+| `map<Type1,Type2>` | `HashMap<Type1,Type2>` `Map<Type1,Type2>`  (支持嵌套)       
   |
+| `struct<Type...>`  | `ArrayList<Object>`(从 3.0.0 版本开始支持)`List<Type>` |
 
 
 :::tip 提示
@@ -67,7 +67,11 @@ Doris 支持使用 JAVA 编写 UDF、UDAF 和 UDTF。下文如无特殊说明,
 1. 不支持复杂数据类型(HLL,Bitmap)。
 2. 当前允许用户自己指定 JVM 最大堆大小,配置项是 be.conf 中的 `JAVA_OPTS` 的 -Xmx 部分。默认 
1024m,如果需要聚合数据,建议调大一些,增加性能,减少内存溢出风险。
 3. 由于 jvm 加载同名类的问题,不要同时使用多个同名类作为 udf 实现,如果想更新某个同名类的 udf,需要重启 be 重新加载 classpath。
+4. 同名函数
 
+    用户可以创建和内置函数签名完全相同的自定义函数。默认情况下,系统会优先匹配内置函数。但如果使用函数时,指定了 `database`(即 
`db.function()`),则会被强制认为是用户自定义函数。
+
+    在 3.0.7 版本中,新增了会话变量 `prefer_udf_over_builtin`。当设置为 `true` 
时,会优先匹配用户自定义函数,以便于用户从其他系统迁移到 Doris 时,在不改变函数名称的情况下,通过自定义函数保持原有系统的函数行为。
 
 ## 快速上手
 本节主要介绍如何开发 Java UDF。在 `samples/doris-demo/java-udf-demo/` 
目录下提供了示例代码,供您参考。您也可以查看 
[demo](https://github.com/apache/doris/tree/master/samples/doris-demo/java-udf-demo)。
@@ -351,7 +355,7 @@ public void destroy(State state) {
 
 ### Java-UDTF 实例介绍
 :::tip
-UDTF 自 Doris 3.0 版本开始支持
+UDTF 自 Doris 3.0 版本开始支持,
 :::
 
 1. 首先编写对应的 Java UDTF 代码,打包生成 JAR 包。
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
index af73e73d581..72a7b79cad0 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
@@ -32,10 +32,12 @@ under the License.
 ## 语法
 
 ```sql
-DESC[RIBE] [<db_name>.]<table_name> [ALL];
+DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
 ```
 ## 必选参数
+
 **1.`<table_name>`**
+
 > 指定表的标识符(即名称),在其所在的数据库(Database)中必须唯一。
 >
 > 标识符必须以字母字符(如果开启 unicode 
 > 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如`My Object`)。
@@ -46,8 +48,9 @@ DESC[RIBE] [<db_name>.]<table_name> [ALL];
 
 ## 可选参数
 
-**1.`<db_name>`**
-> 指定数据库的标识符(即名称)。
+**1.`<ctl_name>.<db_name>`**
+
+> 指定数据目录和数据库的标识符(即名称)。
 >
 > 标识符必须以字母字符(如果开启 unicode 
 > 名字支持,则可以是任意语言文字的字符)开头,并且不能包含空格或特殊字符,除非整个标识符字符串用反引号括起来(例如`My Database`)。
 >
@@ -55,14 +58,27 @@ DESC[RIBE] [<db_name>.]<table_name> [ALL];
 >
 > 有关更多详细信息,请参阅标识符要求和保留关键字。
 
-**2.`RIBE`**
-> 返回表的所有列的描述信息
+**2.`ALL`**
 
-**3.`ALL`**
-> 返回所有列的描述信息
+> 仅针对内表有效。返回内表的所有 Index 信息。 
 
 ## 返回值
 
+不指定 `ALL` 的情况下,返回值如下:
+
+| 列名 | 说明           |
+| -- |--------------|
+| Field | 列名           |
+| Type | 数据类型         |
+| Null | 是否允许为 NULL 值 |
+| Key | 是否为 key 列      |
+| Default | 默认值          |
+| Extra | 显示一些额外的信息    |
+
+在 3.0.7 版本中,新增会话变量 `show_column_comment_in_describe`。当指定为 `true` 时,将额外增加 
`Comment` 列,用于显示列的注释信息。
+
+指定 `ALL` 的情况下,针对内表,返回值如下: 
+
 | 列名 | 说明           |
 | -- |--------------|
 | IndexName | 表名           |
@@ -121,3 +137,5 @@ DESC demo.test_table ALL;
 |            |               | age     | int         | int          | Yes  | 
false | NULL    | NONE  | true    |            |             |
 
+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
 ```
+
+
diff --git 
a/versioned_docs/version-3.0/query-data/udf/java-user-defined-function.md 
b/versioned_docs/version-3.0/query-data/udf/java-user-defined-function.md
index 05a4e444165..2ca775fee67 100644
--- a/versioned_docs/version-3.0/query-data/udf/java-user-defined-function.md
+++ b/versioned_docs/version-3.0/query-data/udf/java-user-defined-function.md
@@ -33,7 +33,7 @@ Doris supports the use of Java to develop UDFs, UDAFs, and 
UDTFs. Unless otherwi
 
 2. Java UDAF: A Java UDAF is a user-defined aggregate function that aggregates 
multiple input rows into a single output row. Common examples include MIN, MAX, 
and COUNT.
 
-3. Java UDTF: A Java UDTF is a user-defined table function, where a single 
input row can generate one or multiple output rows. In Doris, UDTFs must be 
used with Lateral View to achieve row-to-column transformations. Common 
examples include EXPLODE and EXPLODE_SPLIT.
+3. Java UDTF: A Java UDTF is a user-defined table function, where a single 
input row can generate one or multiple output rows. In Doris, UDTFs must be 
used with Lateral View to achieve row-to-column transformations. Common 
examples include EXPLODE and EXPLODE_SPLIT. **Java UDTF is available from 
version 3.0.0 and onwards.**
 
 ## Type Correspondence
 
@@ -52,9 +52,9 @@ Doris supports the use of Java to develop UDFs, UDAFs, and 
UDTFs. Unless otherwi
 | IPV4/IPV6             | InetAddress                  |
 | String                | String                       |
 | Decimal               | BigDecimal                   |
-| `array<Type>`         | `ArrayList<Type>`  or `List<Type>`           |
-| `map<Type1,Type2>`    | `HashMap<Type1,Type2>` or`Map<Type1,Type2>`      |
-| `struct<Type...>`     | `ArrayList<Object>` (from version 3.0.0) or 
`List<Type>` |
+| `array<Type>`         | `ArrayList<Type>` or `List<Type>`          |
+| `map<Type1,Type2>`    | `HashMap<Type1,Type2>`or`Map<Type1,Type2>`     |
+| `struct<Type...>`     | `ArrayList<Object>` (from version 3.0.0) 
or`List<Object>`|
 
 :::tip
 `array/map/struct` types can be nested with other types. For instance, Doris: 
`array<array<int>>` corresponds to JAVA UDF Argument Type: 
`ArrayList<ArrayList<Integer>>`. Other types follow the same pattern.
@@ -74,6 +74,11 @@ When creating functions, avoid using `varchar` in place of 
`string`, as this may
 
 3. Due to issues with JVM loading classes with the same name, do not use 
multiple classes with the same name as UDF implementations simultaneously. If 
you want to update a UDF with a class of the same name, you need to restart BE 
to reload the classpath.
 
+4. Same-named Functions
+
+    Users can create UDF with exactly the same signature as built-in 
functions. By default, the system will prioritize matching built-in functions. 
However, if you specify the `database` when using the function (i.e., 
`db.function()`), it will be forcibly considered as a user-defined function.
+
+    In version 3.0.7, a new session variable `prefer_udf_over_builtin` was 
added. When set to `true`, it will prioritize matching user-defined functions, 
making it easier for users to migrate from other systems to Doris while 
maintaining the original system's function behavior through custom functions 
without changing function names.
 
 ## Getting Started
 This section mainly introduces how to develop a Java UDF. Examples are 
provided in `samples/doris-demo/java-udf-demo/` for reference. Click 
[here](https://github.com/apache/doris/tree/master/samples/doris-demo/java-udf-demo)
 to view details.
@@ -541,4 +546,4 @@ mysql [test_query_qa]>select print_12();
 +------------+
 1 row in set (0.04 sec)
 
-```
\ No newline at end of file
+```
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
 
b/versioned_docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
index 7646e4bfa75..15313c0a6b1 100644
--- 
a/versioned_docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-statements/table-and-view/table/DESC-TABLE.md
@@ -1,6 +1,6 @@
 ---
 {
-    "title": "DESC TABLE",
+    "title": "DESCRIBE",
     "language": "en"
 }
 ---
@@ -32,67 +32,79 @@ This statement is used to display the schema information of 
the specified table.
 ## Syntax
 
 ```sql
-DESC[RIBE] [db_name.]table_name [ALL];
+DESC[RIBE] [<ctl_name>.][<db_name>.]<table_name> [ALL];
 ```
-
 ## Required Parameters
+
 **1.`<table_name>`**
-> Specifies the table identifier (name), which must be unique within the 
database in which it is located.
+
+> Specifies the identifier (i.e., name) of the table, which must be unique 
within its database.
 >
-> Identifiers must begin with an alphabetic character (or any character in a 
language if unicode name support is enabled) and cannot contain spaces or 
special characters unless the entire identifier string is enclosed in backticks 
(e.g. `My Object`).
+> The identifier must start with a letter character (or any language character 
if Unicode name support is enabled), and cannot contain spaces or special 
characters, unless the entire identifier string is enclosed in backticks (e.g., 
`My Object`).
 >
-> Identifiers cannot use reserved keywords.
+> The identifier cannot use reserved keywords.
 >
-> For more details, see Identifier Requirements and Reserved Keywords.
+> For more details, please refer to identifier requirements and reserved 
keywords.
 
 ## Optional Parameters
 
-**1.`<db_name>`**
-> Specifies the identifier (i.e., name) for the database.
+**1.`<ctl_name>.<db_name>`**
+
+> Specifies the identifier (i.e., name) of the data catalog and database.
 >
-> Identifiers must begin with an alphabetic character (or any character in a 
given language if unicode name support is enabled) and cannot contain spaces or 
special characters unless the entire identifier string is enclosed in backticks 
(e.g., `My Database`).
+> The identifier must start with a letter character (or any language character 
if Unicode name support is enabled), and cannot contain spaces or special 
characters, unless the entire identifier string is enclosed in backticks (e.g., 
`My Database`).
 >
-> Identifiers cannot use reserved keywords.
+> The identifier cannot use reserved keywords.
 >
-> See Identifier Requirements and Reserved Keywords for more details.
+> For more details, please refer to identifier requirements and reserved 
keywords.
 
-**2.`RIBE`**
-> Returns description information of all columns in a table
+**2.`ALL`**
 
-**3.`ALL`**
-> Returns description information for all columns
+> Only valid for internal tables. Returns all Index information of internal 
tables.
 
 ## Return Value
 
-| column name | description                       |
-| -- |-----------------------------------|
-| IndexName | Table name                        |
-| IndexKeysType | Table Model                       |
-| Field | Column Name                       |
-| Type | Data Types                        |
+When `ALL` is not specified, the return value is as follows:
+
+| Column | Description |
+| -- |--------------|
+| Field | Column name |
+| Type | Data type |
 | Null | Whether NULL values are allowed |
-| Key | Is it a key column                           |
-| Default | Default Value                     |
-| Extra | Display some additional information                         |
-| Visible | Visible                              |
-| DefineExpr | Defining Expressions                             |
-| WhereClause | Filter Conditions Related Definitions                       |
+| Key | Whether it's a key column |
+| Default | Default value |
+| Extra | Displays some additional information |
 
-## Access Control Requirements
+In version 3.0.7, a new session variable `show_column_comment_in_describe` was 
added. When set to `true`, an additional `Comment` column will be added to 
display column comment information.
 
-Users executing this SQL command must have at least the following privileges:
+When `ALL` is specified, for internal tables, the return value is as follows:
 
-| Privilege    | Object    | Notes                                             
                                            |
-|:-------------|:----------|:----------------------------------------------------------------------------------------------|
-| SELECT_PRIV  | Table     | When executing DESC, you need to have the 
SELECT_PRIV privilege on the table being queried    |
+| Column | Description |
+| -- |--------------|
+| IndexName | Table name |
+| IndexKeysType | Table model |
+| Field | Column name |
+| Type | Data type |
+| Null | Whether NULL values are allowed |
+| Key | Whether it's a key column |
+| Default | Default value |
+| Extra | Displays some additional information |
+| Visible | Whether it's visible |
+| DefineExpr | Definition expression |
+| WhereClause | Filter condition related definitions |
+
+## Permission Control
 
-## Usage Notes
-- If ALL is specified, the schema of all indexes (rollup) of the table is 
displayed.
+Users executing this SQL command must have at least the following permissions:
+
+| Permission (Privilege) | Object | Notes |
+|:--------------| :------------- 
|:---------------------------------------------|
+| SELECT_PRIV   | Table    | When executing DESC, you need to have SELECT_PRIV 
permission on the queried table |
 
 
 ## Examples
 
-1. Display the Base table schema
+1. Display Base Table Schema
 
 ```sql
 DESC test_table;
@@ -105,22 +117,3 @@ DESC test_table;
 | name    | varchar(20) | Yes  | false | NULL    | NONE  |
 | age     | int         | Yes  | false | NULL    | NONE  |
 +---------+-------------+------+-------+---------+-------+
-```
-
-2. Display the schema of all indexes in the table
-
-```sql
-DESC demo.test_table ALL;
-```
-
-```text
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-| IndexName  | IndexKeysType | Field   | Type        | InternalType | Null | 
Key   | Default | Extra | Visible | DefineExpr | WhereClause |
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-| test_table | DUP_KEYS      | user_id | bigint      | bigint       | No   | 
true  | NULL    |       | true    |            |             |
-|            |               | name    | varchar(20) | varchar(20)  | Yes  | 
false | NULL    | NONE  | true    |            |             |
-|            |               | age     | int         | int          | Yes  | 
false | NULL    | NONE  | true    |            |             |
-+------------+---------------+---------+-------------+--------------+------+-------+---------+-------+---------+------------+-------------+
-```
-
-


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

Reply via email to