SnowConvert AI - Ambiguous Comments Validation

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 ?

Block comments on SQL start with /* and end with */ . When the character sequence /*/ is used, depending on the source language, it can start a nesting inside the block comment, or finish the whole block.

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.