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.

  • 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 Objects, in general, this refers to TABLES, VIEWS, and PROCEDURES. These objects are classified as top-level because they are usually the “root” elements for a database dialect DDL, and they can contain other “smaller” definitions. The top-level objects vary from one SQL dialect to another (Oracle, Teradata, SqlServer, etc). For more information about top-level objects in each SQL dialect SnowConvert supports, you can check this link in our documentation. Parsing errors might cause SnowConvert to not be able to properly count all top-level objects.

  • 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 Objects, the count of top-level objects 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.

  • Object Conversion Rate, the percentage between fully converted objects and identified objects.

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.

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