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:

A saída dessas exibições e funções inclui as seguintes novas colunas:

Nome da coluna

Tipo de dados

Descrição

query_hash

TEXT

Valor de hash calculado com base no texto canônico da instrução SQL.

query_hash_version

NUMBER

A versão de hash na coluna query_hash.

query_parameterized_hash

TEXT

Valor de hash do texto da consulta após a parametrização dos literais

query_parameterized_hash_version

NUMBER

A versão de hash na coluna query_parameterized_hash.

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;
Copy
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;
Copy

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