Native Apps: Abfragen, die eine aus der Manifest-Datei einer App entfernte Referenz verwenden, schlagen fehl¶
Achtung
Diese Verhaltensänderung ist in Bundle 2023_08 enthalten.
Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.
Eine Snowflake Native App kann eine Referenz anfordern, um den Zugriff auf ein Objekt in einem Verbraucherkonto zu autorisieren. Diese Referenzen werden vom Anbieter der Anwendung in der Manifest-Datei einer Anwendungsversion definiert. Wenn eine neue Version der App eine zuvor enthaltene Referenzdefinition aus der Manifest-Datei entfernt, existiert die ursprüngliche Referenz in der aktuellen Version nicht mehr.
Beispiel: In der Version V1
der App my_app
definiert der Anbieter der App eine Referenz REF_TO_TABLE. Die App enthält eine gespeicherte Prozedur CREATE_VIEW_FROM_TABLE, die die Tabellenreferenz REF_TO_TABLE verwendet, um eine Ansicht VIEW_SELECT_FROM_DEFINED_REF zu erstellen.
Ein Verbraucher kann my_app
installieren, my_app
eine Referenz zuordnen, die auf eine Tabelle seines Kontos verweist, dann die Prozedur CREATE_VIEW_FROM_TABLE der App aufrufen und eine SELECT-Anweisung auf der Ansicht VIEW_SELECT_FROM_DEFINED_REF ausführen.
In Version V2
der App my_app
entfernt der App-Anbieter die Referenzdefinition für REF_TO_TABLE. Wenn der Verbraucher nun seine installierte Anwendung my_app
auf V2
aktualisiert, wird der Aufruf der Prozedur CREATE_VIEW_FROM_TABLE fehlschlagen, da die Prozedur eine Referenz verwendet, die in der Manifest-Datei von Version V2
nicht mehr definiert ist.
Abfragen einer Snowflake Native App, bei denen eine Referenz verwendet wird, die aus der Manifest-Datei entfernt wurde, verhalten sich wie folgt:
- Vor der Änderung:
Abfragen, die eine Referenz verwenden, die in der Manifest-Datei der aktuellen Version der App nicht mehr definiert ist, sind erfolgreich.
- Nach der Änderung:
Abfragen, die eine Referenz verwenden, die in der Manifest-Datei der aktuellen Version der App nicht mehr definiert ist, werden fehlschlagen mit dem folgenden Fehler:
Reference definition '<REF_DEF_NAME>' cannot be found in the current version of the application '<APP_NAME>'
Ref.: 1218