FUNCTIONS 和 PROCEDURES 视图 (INFORMATION_SCHEMA):名称包含特殊字符时列的更正

注意

此行为变更在 2023_08 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

如果 UDFs 和存储过程的名称或实参名称中包含以下字符,则该行为变更会对它们产生影响:

  • 冒号 ( : )

  • 左括号 ( ( )

  • 右括号 ( ) )

在 INFORMATION_SCHEMA FUNCTIONS 函数PROCEDURES 视图中, argument_signaturedata_type 列包含这些函数和存储过程的以下值:

变更前:

argument_signaturedata_type 不包含正确的实参签名和返回数据类型。

argument_signature 列中的值可能包含左括号或以左括号开头的函数或过程名称部分。

data_type 列中的值可能包含 TABLE 前缀。

变更后:

argument_signaturedata_type 包含正确的实参签名和返回数据类型。

例如,假设 UDF 名称中包含冒号:

CREATE OR REPLACE FUNCTION "passthrough:function"(arg VARCHAR)
  RETURNS VARCHAR
  ...
Copy

argument_signaturedata_type 列包含以下值:

变更前:
+--------------------+------------------------+
| ARGUMENT_SIGNATURE | DATA_TYPE              |
|--------------------+------------------------|
| (                  | TABLEVARCHAR(16777216) |
+--------------------+------------------------+
变更后:
+--------------------+-------------------+
| ARGUMENT_SIGNATURE | DATA_TYPE         |
|--------------------+-------------------|
| (ARG VARCHAR)      | VARCHAR(16777216) |
+--------------------+-------------------+

请注意,此变更仅解决了 FUNCTIONS 和 PROCEDURES 视图中 INFORMATION_SCHEMA 的问题。ACCOUNT_USAGE 中的 FUNCTIONSPROCEDURES 视图的修复将在将来的行为变更版本中提供。

参考:1404

语言: 中文