Função de tabela RESULT_SCAN: alterações em nomes de coluna duplicados

Atenção

Essa mudança de comportamento está no pacote 2023_03.

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

Atualmente, se houver nomes de coluna duplicados nos resultados processados pela funçõ RESULT_SCAN, a função anexa um sufixo a cada nome de coluna duplicado para tornar os nomes de coluna exclusivos. Por exemplo, se duas colunas forem nomeadas id, a função retorna uma tabela com os nomes das colunas id e id_1.

A maneira que a função RESULT_SCAN lida com nomes de coluna duplicados se comporta da seguinte maneira:

Anteriormente:

Se os resultados contiverem nomes de coluna duplicados, a função RESULT_SCAN anexa _<n> a cada nome de coluna duplicado para tornar os nomes de coluna exclusivos.

A função acrescenta esse sufixo mesmo quando há outras colunas com o mesmo sufixo. Isso pode resultar em nomes de coluna duplicados.

Por exemplo:

SELECT 1 AS a, 2 AS a_1, 3 AS a;
+---+-----+---+
| A | A_1 | A |
|---+-----+---|
| 1 |   2 | 3 |
+---+-----+---+
SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
+---+-----+-----+
| A | A_1 | A_1 |
|---+-----+-----|
| 1 |   2 |   3 |
+---+-----+-----+
Copy
Atualmente:

A função RESULT_SCAN anexa um sufixo com o próximo número disponível para tornar os nomes das colunas exclusivos:

SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
+---+-----+-----+
| A | A_1 | A_2 |
|---+-----+-----|
| 1 |   2 |   3 |
+---+-----+-----+
Copy

Ref: 1039