Native App: 앱의 매니페스트 파일에서 제거된 참조를 사용하는 쿼리가 실패함¶
Snowflake Native App은 컨슈머 계정의 오브젝트에 대한 액세스 권한을 부여하기 위해 :doc:`참조</sql-reference/references>`를 요청할 수 있습니다. 이러한 참조는 앱 공급자가 애플리케이션 버전의 :doc:`매니페스트 파일</developer-guide/native-apps/manifest-overview>`에 정의합니다. 새 버전의 앱에서 매니페스트 파일에서 이전에 포함된 참조 정의를 제거하면 원래 참조는 현재 버전에 더 이상 존재하지 않습니다.
예를 들어 앱 my_app 의 V1 버전에서는 앱 공급자가 참조 REF_TO_TABLE을 정의합니다. 앱에는 테이블 참조 REF_TO_TABLE을 사용하여 뷰 VIEW_SELECT_FROM_DEFINED_REF를 생성하는 저장 프로시저 CREATE_VIEW_FROM_TABLE이 포함됩니다.
컨슈머는 my_app 을 설치하고, my_app 에 자신의 계정에 있는 테이블의 참조를 연결하고, 앱의 CREATE_VIEW_FROM_TABLE 프로시저를 호출한 다음, 뷰 VIEW_SELECT_FROM_DEFINED_REF에서 선택할 수 있습니다.
앱 my_app 의 버전 V2 에서는 앱 공급자가 REF_TO_TABLE에 대한 참조 정의를 제거합니다. 컨슈머가 설치된 앱 my_app 을 V2 로 업그레이드할 경우 CREATE_VIEW_FROM_TABLE 프로시저가 버전 V2 의 매니페스트 파일에 더 이상 정의되지 않는 참조를 사용하므로 프로시저 호출이 실패해야 합니다.
매니페스트 파일에서 제거된 참조를 사용하는 Snowflake Native App의 쿼리는 다음과 같이 동작합니다.
- 변경 전:
현재 버전의 앱에 대한 매니페스트 파일에 더 이상 정의되지 않은 참조를 사용하는 쿼리는 성공 합니다.
- 변경 후:
현재 버전의 앱에 대한 매니페스트 파일에 더 이상 정의되지 않은 참조를 사용하는 쿼리는 다음 오류가 발생하며 실패 합니다.
Reference definition '<REF_DEF_NAME>' cannot be found in the current version of the application '<APP_NAME>'
참조: 1218