Função DYNAMIC_TABLES: novo padrão para o número máximo de linhas retornadas

Atenção

Essa mudança de comportamento está no pacote 2025_02.

Para saber o status atual do pacote, consulte Histórico do pacote.

A função DYNAMIC_TABLES se comporta da seguinte maneira:

Antes da mudança:

Por padrão, a função retorna todas as linhas em uma ordem não classificada quando RESULT_LIMIT não é especificado. Por exemplo, se uma conta tiver 10.000 tabelas dinâmicas, a função retornará 10.000 linhas.

Após a mudança:

Por padrão, a função retorna 100 linhas e os resultados são classificados pelo último estado de atualização concluído da tabela dinâmica na seguinte ordem, a menos que especificado de outra forma usando o argumento RESULT_LIMIT.

  1. FAILED

  2. UPSTREAM_FAILED

  3. SKIPPED

  4. SUCCEEDED

  5. CANCELED

Para classificar em uma ordem diferente, você deve fornecer um valor RESULT_LIMIT grande o suficiente (por exemplo, o valor máximo de um número inteiro assinado). Desde que RESULT_LIMIT exceda o número total de tabelas dinâmicas na conta, os resultados podem ser classificados usando uma cláusula ORDER BY.

Para aplicar um filtro nos resultados, especifique também um valor RESULT_LIMIT grande o suficiente para que o filtro seja aplicado em todas as tabelas dinâmicas.

Exemplos:

O exemplo a seguir classifica por uma ordem diferente de name e retorna 100 linhas:

SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
Copy

O exemplo a seguir classifica por uma ordem diferente de name e retorna todas as linhas:

SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
Copy

O exemplo a seguir filtra todas as tabelas dinâmicas com meta de atraso de 1 minuto, usa a classificação padrão e retorna todas as linhas:

SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Copy

Ref: 1928