SnowConvert AI - Reports

Glossaire

Dans cette section, nous essayons d’expliquer les concepts utilisés dans les multiples documents de rapport générés par SnowConvert.

  • Lines of Code (LOC): the total number of lines in the text of the source code files, excluding blank lines, that were processed by the conversion tool. A comment is considered a line of code.

  • Parsing EWIs: the total count of parsing errors that occurred during the code analysis process. A parsing error occurs when the parser (the component that reads and understands the source code files) encounters something unexpected. This usually means a syntax error, which refers to a code element in the file that did not match the SQL grammar specification that the parser was expecting. In other cases, these errors can also occur because the parser is not yet ready to support a specific grammar. Parsing errors are considered critical issues because if the code is not parsed, SnowConvert AI cannot assess it or translate it. If this number is high in relation to the migration workload size, input code revision is advised.

  • Unrecognized Elements: any code element (or parts of them) such as DML, DDL, control statements, with parsing errors that SnowConvert AI was unable to process.

  • Lines of Code in Unrecognized Elements: the total lines of code in all the unrecognized elements. This is a good indicator of how much code SnowConvert AI was not able to process.

  • (Top-Level) Code Units: a Code Unit is the most atomic, standalone executable element. In most cases, these are statements (like DDL or DML), but they also include script files because those are executed as a single element. They are classified as top-level because they are usually the “root” elements for a database dialect, and they can contain other “smaller” definitions. The top-level code units vary from one SQL dialect to another (Oracle, Teradata, SQL Server, etc). Parsing errors might cause SnowConvert AI to not be able to properly count all top-level code units.

  • Lines of Code Conversion Rate: the percentage of lines of code that were successfully converted by SnowConvert AI into Snowflake code. Take into consideration that unrecognized elements (because of parsing issues) will affect this metric, as their source code will be counted as not converted. Furthermore, a successful element conversion might not be fully equivalent in Snowflake because of platform differences or limitations. In these cases, while the conversion rate is not punished, SnowConvert AI will generate an FDM to alert about the possible difference in functionality. A 90% conversion rate for a code unit means that only 10% of its lines of code were not converted, and therefore, EWIs are generated for them.

  • Fully Converted Code Units: the percentage of top-level code units that were fully converted without any error in any of their sub-parts. They are considered ready for deployment. Any code unit whose conversion rate is less than 100% is not counted as fully converted.

Rapport d’évaluation (docx)

Le rapport d’évaluation est un document qui résume l’estimation du taux de conversion du code, ainsi que de nombreuses autres informations utiles permettant à l’utilisateur d’évaluer la distance qui le sépare de l’obtention d’un code Snowflake équivalent fonctionnel.

Rapport sur les unités de code de niveau supérieur

Le rapport sur les unités de code de niveau supérieur fournit un aperçu général des principaux objets présents dans votre code source. Ces objets de niveau supérieur contiennent des informations utiles sur l’état de la conversion et peuvent être utilisés pour prendre des décisions sur les étapes à suivre après la conversion.

[Rapport sur les problèmes] (issues-report.md)

Le rapport sur les problèmes est un fichier contenant des informations sur tous les problèmes survenus au cours du processus de migration.

Rapport sur les éléments

Le rapport sur les éléments présente une synthèse des éléments de grammaire trouvés au cours du processus de migration. Le résumé est effectué sur la base de plusieurs colonnes, ce qui permet de distinguer les mêmes éléments de grammaire s’ils appartiennent à des contextes différents. Par exemple, une requête SELECT peut faire partie d’une PROCEDURE, ou d’une VIEW, ou même se trouver dans un fichier de script. Grâce à ce rapport, vous devriez être en mesure de voir les éléments avec une certaine nuance et d’examiner leur statut de transformation global.

Functions Usage Report

The Functions Usage report summarizes the invocations of built-in and user-defined functions found during the conversion process, grouped by their migration status. This report allows the user to get details about function usages, whether they were transformed to Snowflake with no problem, or whether they require an additional post-conversion action.