Native Apps: Queries that use a reference removed from an app’s manifest file fail

Attention

This behavior change is in the 2023_08 bundle.

For the current status of the bundle, refer to Bundle History.

A Snowflake Native App may request a reference to authorize access on an object in a consumer account. These references are defined by the app provider in the manifest file of an application version. If a new version of the app removes a previously included reference definition from the manifest file, the original reference no longer exists in the current version.

For example, in version V1 of app my_app, the app provider defines a reference REF_TO_TABLE. The app contains a stored procedure CREATE_VIEW_FROM_TABLE that uses the table reference REF_TO_TABLE to create a view VIEW_SELECT_FROM_DEFINED_REF.

A consumer can install my_app, associate a reference to a table in their account to my_app, call the app’s CREATE_VIEW_FROM_TABLE procedure, then select from the view VIEW_SELECT_FROM_DEFINED_REF.

In version V2 of app my_app, the app provider removes the reference definition for REF_TO_TABLE. When the consumer upgrades their installed app my_app to V2, calling the CREATE_VIEW_FROM_TABLE procedure should fail because the procedure uses a reference that is no longer defined in the manifest file for version V2.

Queries in a Snowflake Native App that use a reference that has been removed from the manifest file behave as follows:

Before the change:

Queries that use a reference that is no longer defined in the manifest file for the current version of the app succeed.

After the change:

Queries that use a reference that is no longer defined in the manifest file for the current version of the app fail with the following error:

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

Ref: 1218