Funções de banco de dados: mensagens de erro atualizadas ao fazer a concessão a um compartilhamento¶
Atenção
Essa mudança de comportamento está no pacote 2023_06.
Para saber o status atual do pacote, consulte Histórico do pacote.
As mensagens de erro associadas à concessão de uma função de banco de dados a um compartilhamento usando o comando GRANT DATABASE ROLE … TO SHARE foram modificadas.
Nessas tabelas, a palavra “resolver” significa que a função de proprietário da função de banco de dados (função de execução) tem o privilégio apropriado para acessar o objeto concedido à função de banco de dados. Por exemplo, a função de proprietário poderá resolver uma tabela se a função de banco de dados tiver o privilégio SELECT em uma tabela com o privilégio USAGE no banco de dados e o esquema que armazena a tabela e a função de proprietário tiver os mesmos privilégios concedidos a ela.
Esta tabela lista as substituições de mensagens de erro ao conceder uma função de banco de dados a um compartilhamento:
Comportamento |
Anteriormente |
Atualmente |
---|---|---|
A função que executou pode resolver o objeto, mas o objeto não pode ser compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebe o privilégio “SELECT” no objeto “Tabela”: erro de compilação SQL: uma exibição só pode ser compartilhada se for criada como uma exibição SECURE ou marcada como SECURE usando ALTER VIEW V SET SECURE. |
Não é possível compartilhar uma função de banco de dados que recebe o privilégio “SELECT” em VIEW “DB.SCH.V’: erro de compilação SQL: uma exibição só pode ser compartilhada se for criada como uma exibição SECURE ou marcada como SECURE usando ALTER VIEW V SET SECURE. |
A função de banco de dados não pode resolver o objeto e o objeto não é compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebeu o privilégio “SELECT” no objeto “Tabela”. |
Não é possível compartilhar uma função de banco de dados que receba privilégios não compartilháveis. Use a função com MANAGE GRANTS para corrigir isso. |
A função de banco de dados pode resolver um objeto descartado que não foi compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebe o privilégio “SELECT” no objeto “Tabela’: erro de compilação SQL: uma exibição só pode ser compartilhada se for criada como uma exibição SECURE ou marcada como SECURE usando ALTER VIEW VD SET SECURE. |
Não é possível compartilhar uma função de banco de dados que recebeu o privilégio “SELECT” na exibição DROPPED “DB.DSCH.V”. Use funções com MANAGE GRANTS para chamar CLEANUP_DATABASE_ROLE_GRANTS(“database_role_name”, “share_name”) para revogar os privilégios e, em seguida, conceder a função de banco de dados ao compartilhamento. |
A função de banco de dados não pode resolver um objeto descartado que não foi compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebeu o privilégio “SELECT” no objeto “Tabela”. |
Não é possível compartilhar uma função de banco de dados que receba privilégios não compartilháveis. Use a função com MANAGE GRANTS para corrigir isso. |
Além disso, a função do sistema SYSTEM$CLEANUP_DATABASE_ROLE_GRANTS ajuda a resolver o cenário em que uma função de banco de dados pode resolver um objeto descartado que não foi compartilhado.
Esta tabela lista as mensagens de erro que estão sendo removidas quando você tenta conceder uma função de banco de dados a um compartilhamento.
Comportamento |
Mensagem de erro anterior |
Resultado atual |
---|---|---|
A função de banco de dados não pode resolver o objeto compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebeu o privilégio “SELECT” no objeto “Tabela”. |
Você pode conceder a função de banco de dados para o compartilhamento. Snowflake retorna uma mensagem de status de sucesso. |
A função de banco de dados não pode resolver um objeto descartado que foi compartilhado. |
Não é possível compartilhar uma função de banco de dados que recebeu o privilégio “SELECT” no objeto “Tabela”. |
Você pode conceder a função de banco de dados para o compartilhamento. Snowflake retorna uma mensagem de status de sucesso. |
Ref: 1220