SnowConvert AI - Reports¶
Glossary¶
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 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.
Assessment Report (docx)¶
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.
Top-Level Code Units Report¶
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.Ëš
Issues Report¶
The issues report is a file containing information about all the issues that happened during the migration process.
Elements Report¶
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.
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.