Exibições e funções de histórico de consultas e tarefas: novas colunas¶
Atenção
Essa mudança de comportamento está no pacote 2023_06.
Para saber o status atual do pacote, consulte Histórico do pacote.
No lançamento atual do Snowflake, a saída das exibições e funções do histórico de consultas e tarefas inclui novas colunas. As exibições e funções afetadas incluem:
As seguintes exibições do Account Usage:
As seguintes funções de tabela Information Schema:
A saída dessas exibições e funções inclui as seguintes novas colunas:
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
|
TEXT |
Valor de hash calculado com base no texto canônico da instrução SQL. |
|
NUMBER |
A versão de hash na coluna |
|
TEXT |
Valor de hash do texto da consulta após a parametrização dos literais |
|
NUMBER |
A versão de hash na coluna |
Se você tiver definido previamente uma exibição que seleciona todas as colunas (SELECT *) de qualquer uma dessas exibições, a consulta da exibição retornará um erro. Você deve recriar sua exibição usando o comando CREATE OR REPLACE VIEW.
Por exemplo, suponha que você definiu uma exibição que selecionou todas as colunas da exibição TASK_HISTORY:
CREATE OR REPLACE VIEW my_task_history
AS SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY;
- Anteriormente:
Consultar sua exibição (
my_task_history
neste exemplo) retorna os resultados da exibição.- Atualmente:
Consultar sua exibição (
my_task_history
neste exemplo) retorna um erro sobre o número de colunas na exibição:View definition for MY_DB.MY_SCHEMA.MY_TASK_HISTORY' declared 22 column(s), but view query produces 27 column(s).
Conforme observado nas Notas de uso de CREATE VIEW, se uma exibição selecionar todas as colunas de uma tabela ou exibição subjacente, a exibição não será atualizada automaticamente quando uma nova coluna for adicionada à tabela ou exibição subjacente. Consultar a exibição retorna um erro relacionado à coluna.
Para evitar esse erro, você deve recriar a exibição. Por exemplo, para recriar a exibição do exemplo acima com colunas específicas selecionadas (para evitar problemas no futuro devido à adição de colunas):
CREATE OR REPLACE VIEW my_task_history
AS SELECT query_text, completed_time FROM SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY;
Além disso, se você criou uma tabela que tem as mesmas colunas de uma dessas exibições (por exemplo, usando CREATE TABLE … LIKE SNOWFLAKE.ACCOUNT_USAGE.TASK_HISTORY) e está copiando linhas dessa exibição na tabela, você deverá adicionar as novas colunas à sua tabela. Use o comando ALTER TABLE … ADD COLUMN para adicionar à sua tabela as mesmas colunas que foram adicionadas à exibição.
Ref: 1147