Native Apps:使用从应用程序清单文件中删除的引用的查询会失败

注意

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

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

Snowflake 本地应用程序可请求 引用,以授权访问使用者账户中的对象。这些引用由应用程序提供商在应用程序版本的 清单文件 中定义。如果应用程序的新版本删除了清单文件中先前包含的引用定义,则当前版本中将不再存在原始引用。

例如,在应用程序 my_appV1 版本中,应用程序程序定义了一个引用 REF_TO_TABLE。该应用程序包含一个存储过程 CREATE_VIEW_FROM_TABLE,该存储过程使用表引用 REF_TO_TABLE 创建视图 VIEW_SELECT_FROM_DEFINED_REF。

使用者可以安装 my_app将其账户中一个表的引用与 :code:`my_app 关联 <https://other-docs.snowflake.cn/en/native-apps/consumer-granting-privs#associating-the-reference-to-the-application>`_ ,调用应用程序的 CREATE_VIEW_FROM_TABLE 存储过程,然后从视图 VIEW_SELECT_FROM_DEFINED_REF 中进行选择。

在应用程序 my_appV2 版本中,应用程序提供商删除了 REF_TO_TABLE 的引用定义。当使用者将已安装的应用程序 my_app 升级到 V2 时,调用 CREATE_VIEW_FROM_TABLE 存储过程将失败,因为该存储过程使用的引用在 V2 版本的清单文件中已不再定义。

在 Snowflake 本地应用程序中使用已从清单文件中删除的引用的查询行为如下:

变更前:

使用当前版本的应用程序清单文件中不再定义的引用的查询会 成功

变更后:

使用当前版本应用程序的清单文件中不再定义的引用的查询会 失败,并显示以下错误:

Reference definition '<REF_DEF_NAME>' cannot be found in the current version of the application '<APP_NAME>'

参考:1218

语言: 中文