Reports
This page provides general information about the reports that you can find when you execute a conversion using SnowConvert.
In this section, we try to explain concepts used in multiple report documents generated by 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 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 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 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 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 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 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.
The assessment report is a document that summarizes the estimation of code conversion rate, and a lot of other useful information for the user to estimate how far are they to achieving a functional equivalent snowflake code.
The top-level code unit report provides a general overview of the main objects present in your source code. These top-level objects have useful information about the state of the conversion and can be used to make decisions on what the next steps should be after converting.˚
The issues report is a file containing information about all the issues that happened during the migration process.
The HTML report provides a general overview of the results from the transformation. This documentation will provide a guide on how to read the report’s content.
The Elements report shows a summarized count of the Grammar Elements found during the migration process. The summarization is done on a multi-column basis, so there's a distinction between the same grammar elements if they belong in different contexts. For example a SELECT query may be part of a PROCEDURE, or a VIEW, or even be in a script file. Using this report you should able to see the elements with some nuance, and review their overall transformation status.
Last updated