Option A is incorrect because when a virtual warehouse is suspended, the data cache is not saved on the remote storage layer. The data cache is cleared when a virtual warehouse is suspended and any data that needs to be cached is reloaded from the remote storage layer when the virtual warehouse is resumed.
Option C is incorrect because the query result cache is a shared cache and all users can access the data that has been cached. There are no restrictions based on user access.
Option D is incorrect because the metadata cache is used by default in queries and there is no need for a user to explicitly set USE_METADATA_CACHE to TRUE.
Option B is correct because Snowflake automatically manages its data cache and evicts the least-recently used data when the cache becomes full.
Option E is correct because the RESULT_SCAN table function can be used to query and filter the data that has been cached in the query result cache.
Snowflake's data cache follows a least-recently used (LRU) eviction policy. When the cache is full, the least-recently used data will be removed to make space for new data.
The RESULT_SCAN table function allows users to access and filter the contents of the query result cache. This function is useful for examining and manipulating cached query results.
"Only the user who ran the original query can use the RESULT_SCAN function to post-process the results of that query. Even another user with ACCOUNTADMIN privilege cannot access the results of another user’s query by calling RESULT_SCAN."
- https://docs.snowflake.com/en/sql-reference/functions/result_scan
Only the user who ran the original query can use the RESULT_SCAN function to post-process the results of that query. Even another user with ACCOUNTADMIN privilege cannot access the results of another user’s query by calling RESULT_SCAN.
https://docs.snowflake.com/en/sql-reference/functions/result_scan#usage-notes
Your statement is correct and that is why E is correct. but C is not correct. Query Result cache is different. This cached data is pulled when the same query is ran by any User/Role. but running queries specifically on this Query Result cache is done thru RESULT_SCAN. And this is only by the particular user who ran the initial query. this is because the user is now able to see the data.
This is not right. The answer is B&E. The reasoning "Only the user who ran the original query can use the RESULT_SCAN function to post-process the results of that query." does not apply to using the cache in general. The role must have the same set of permissions to use the cache.
CE. From SF docs:
C: Only the user who ran the original query can use the RESULT_SCAN function to post-process the results of that query. Even another user with ACCOUNTADMIN privilege cannot access the results of another user’s query by calling RESULT_SCAN.
E: The query containing the RESULT_SCAN can include clauses, such as filters and ORDER BY clauses, that were not in the original query. This allows you to narrow down or modify the result set.
https://docs.snowflake.com/en/sql-reference/functions/result_scan
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
DataEngineer7331
Highly Voted 1 year, 6 months agopranalig
5 months, 1 week agoWilliam_20
Highly Voted 2 years, 2 months agopranalig
Most Recent 5 months agopranalig
5 months, 1 week agosambathchandran
5 months, 2 weeks ago_yyukta
8 months, 4 weeks agoSk_3
1 year, 1 month agoajsharma22
1 year, 2 months agodmitriypo
1 year, 6 months agoRajivnb
1 year, 1 month agoRajuNaik
1 year, 6 months agoKvk117
1 year, 7 months agojawllalabad
1 year, 7 months agobrian_69420
1 year, 7 months agobaig123
1 year, 11 months ago