Glossary

Reports

This page provides general information about the reports that you can find when you execute a conversion using SnowConvert.

Glossary

In this section, we try to explain concepts used in multiple report documents generated by SnowConvert.

  • Total Conversion Issues, the total count of conversion issues that happened during the conversion process. A conversion issue is an error that happened during the conversion process related to file I/O, memory management, or any abnormal situation that could not be handled. These are unhandled code exceptions and are considered critical issues.

  • Total Parsing Errors, the total count of parsing errors that occurred during the code analysis process. A parsing error occurs when the parser (the component that reads 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 also considered critical issues. If this number is high in relation to the migration workload size, input code revision is advised.

  • Total Warnings, the total count of warnings that SnowConvert generated for the given input. A warning is inserted when the translation of a specific element is mostly functionally equivalent but there are some corner cases in which some user intervention might be required. They have low severity because their intention is to provide information that can be reviewed if the code shows any kind of functional difference when executed on the target platform.

  • Total Lines of Code (LOC), the total number of lines in the text of the source code files, that are not comments or blank lines, that were processed by the conversion tool.

  • Identified Code Units, in general, this refers to TABLES, VIEWS, and PROCEDURES. These code units are classified as top-level because they are is the most atomic, standalone executable element for a database dialect DDL, and they can contain other “smaller” definitions. The top-level code unit vary from one SQL dialect to another (Oracle, Teradata, SqlServer, etc). Parsing errors might cause SnowConvert to not be able to properly count all top-level code units.

  • 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.

  • Fully Converted Code Units, the count of top-level code units that were fully converted without any error in any of their sub-parts. They are considered ready for deployment.

  • Code Conversion Rate (SQL), this metric is calculated using as reference the source code of both recognized and unrecognized elements in the given workload. The conversion rate is the percentage of source code that was successfully converted by SnowConvert into functionally equivalent 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, elements that do not have equivalence in Snowflake will also punish the conversion rate, because even though SnowConvert is able to process them (frequently by removing them or commenting them) the translation does not represent a functionally equivalent code. For example, if there is a lot of code of indexes (which do not have an equivalent in Snowflake) the conversion rate can be highly punished because the source code of those unsupported elements might represent a significant part of the overall workload.

  • Code Unit Conversion Rate, the percentage between fully converted code units and identified code units.

  • Assessment report data, SnowConvert analyzes the input folder and generates assessment reports based on the data available. Here is a breakdown of how SnowConvert interprets some of those values:

    • A "0" means a percentage or numeric value is equal to 0.

    • A dash "-" indicates there are no code units available of a certain type.

    • "N/A" means it is not currently supported or does not exist in Snowflake.

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 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.

​Code Unit (CU)

SnowConvert breaks down code for reporting here into code units. Please see the documentation “here” for an explanation of how code units are defined.

Code Unit Parent Category (CUPC)

For summary purposes in certain sections of this document you code units are grouped together to display conversion rates, counts and other metrics. All details for code units can still be found and analyzed in the top level code units document. For information on how code units are grouped, please refer to the documentation here.

Last updated