SELECT especificada quando uma visão materializada foi criada com a instrução ALTER TABLE ... MODIFY QUERY, sem interromper o processo de ingestão.
Esse comando foi criado para alterar uma visão materializada criada com a cláusula TO [db.]name. Ele não altera a estrutura da tabela de armazenamento subjacente nem a definição das colunas da visão materializada; por isso, sua aplicação é muito limitada em visões materializadas criadas sem a cláusula TO [db.]name.
Exemplo com a tabela TO
SELECT sem adicionar novas colunas.
Privilégios necessários
ALTER TABLE ... MODIFY QUERY requer o privilégio ALTER VIEW MODIFY QUERY na VIEW. A nova consulta é executada com a SQL security da VIEW; por isso, a instrução também exige as concessões necessárias para criar uma VIEW com essa SQL security:
SQL SECURITY DEFINERcom um definer que não seja o usuário atual:SET DEFINERnesse definer.SQL SECURITY NONE:ALLOW SQL SECURITY NONE.
MODIFY SQL SECURITY, essas concessões são exigidas para a nova SQL security, e não para a antiga.
Com ON CLUSTER, a instrução é autorizada no host em que é executada; portanto, a VIEW precisa existir nesse host. Caso contrário, a instrução falha com UNKNOWN_TABLE.
Instrução ALTER TABLE … MODIFY REFRESH
ALTER TABLE ... MODIFY REFRESH altera os parâmetros de atualização de uma view materializada atualizável, incluindo o agendamento, as dependências, a aleatorização e as configurações de atualização.
EVERY ou AFTER) é obrigatório: a instrução substitui todos os parâmetros de atualização de uma só vez. Qualquer cláusula não especificada — RANDOMIZE FOR, DEPENDS ON ou SETTINGS — é removida ou redefinida para os valores padrão. Para alterar apenas as configurações de atualização, repita o agendamento atual.
O comando atualiza a configuração de atualização da visão existente in loco, sem recriar a visão materializada ou sua tabela de destino, limpar os dados existentes na tabela de destino ou cancelar uma atualização já em execução. As leituras continuam na tabela de destino existente enquanto a configuração é alterada.
É seguro repetir o comando com a mesma especificação REFRESH completa. Certifique-se de repetir todas as cláusulas que devem permanecer configuradas, pois cada execução substitui todos os parâmetros de atualização conforme descrito acima.
ALTER TABLE ... MODIFY SETTINGnão tem suporte em visões materializadas; as configurações de atualização só podem ser alteradas por meio deMODIFY REFRESH.- Não há suporte para adicionar ou remover
APPEND. - A configuração de atualização
all_replicasnão pode ser alterada após a criação da visão.
system.view_refreshes.