SnowConvert : Validation des commentaires ambigus

Description

Cette étape de validation permet de vérifier si le code d’entrée comporte une séquence de caractères susceptibles de créer des commentaires ambigus (/*/)

Si le code d’entrée comporte un commentaire ambigu, une fenêtre d’avertissement comme la suivante s’affiche :

Échec de la validation d'un commentaire ambigu

De plus, dans le rapport ScopeValidation, vous trouverez des informations sur le(s) fichier(s) ayant échoué.

ScopeValidation.csv

Pourquoi est-ce ambigu ?

Les blocs de commentaires sur SQL commencent par /* et se terminent par */. Lorsque la séquence de caractères /*/ est utilisée, elle peut, selon la langue source, commencer une imbrication à l’intérieur du bloc de commentaire ou terminer le bloc entier.

Voici un exemple d’instructions valides utilisant /*/

select col1,
  /*Some comment/*/ */*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/ */*/
  col2,
  col3
from
  table1;
Copy
select col1,
  /*Some comment/*/
  col2,
  col3
from
  table1;
Copy

Comme vous pouvez le constater, le commentaire se comporte différemment dans Teradata et SQL Server que dans Oracle et Snowflake. Même dans Teradata, il existe un autre traitement pour bteq et d’autres langues de script.

Résoudre l’ambiguïté

Dans Snowflake, si vous rencontrez la séquence /*/ dans votre code, elle termine généralement un bloc de commentaires. Toutefois, si vous l’utilisez différemment dans votre code source, veillez à l’adapter en conséquence.