Optimisation de la recherche : la suppression de l’optimisation de la recherche d’une table nécessite le privilège ADD SEARCH OPTIMIZATION

Attention

Ce changement de comportement figure dans le bundle 2023_03.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

D’après Quels privilèges de contrôle d’accès sont nécessaires pour le service d’optimisation de la recherche ?, la modification de la configuration de l’optimisation de la recherche d’une table nécessite non seulement la propriété de la table, mais aussi le privilège de contrôle d’accès ADD SEARCH OPTIMIZATION sur le schéma qui contient la table.

Cependant, actuellement, vous pouvez supprimer l’optimisation de la recherche d’une table que vous possédez sans avoir le privilège ADD SEARCH OPTIMIZATION.

Snowflake a besoin du privilège ADD SEARCH OPTIMIZATION pour se comporter comme indiqué dans la documentation :

Précédemment

La commande ALTER TABLE DROP SEARCH OPTIMIZATION réussit lorsqu’elle est utilisée sur une table dont vous êtes propriétaire, même si votre rôle ne dispose pas du privilège ADD SEARCH OPTIMIZATION sur le schéma qui contient la table.

Actuellement

La commande ALTER TABLE DROP SEARCH OPTIMIZATION échoue lorsqu’elle est utilisée sur une table dont vous êtes le propriétaire si votre rôle ne dispose pas du privilège ADD SEARCH OPTIMIZATION. Le message d’erreur est le suivant :

FAILURE: SQL access control error:
Insufficient privileges to operate on schema '<schema_name>'
Copy

Si vous disposez de ce privilège, la commande aboutit.

Pour accorder le privilège requis à un rôle, exécutez la commande suivante :

GRANT ADD SEARCH OPTIMIZATION ON SCHEMA <nom_schéma> TO ROLE <rôle>;

Réf : 1046