2021

This is a deprecated version of the SnowConvert documentation, please visit the official site HERE.

Release 1.4.1 - December 22nd, 2021

SnowConvert Core 3.2.16

Added

  • Robustness on parser on SELECT statements.

  • Code preprocess before converting the source code. Learn more

  • Accuracy improvements on Assessment.

Fixed

  • Cursor error when the result is only 1 row inside Stored Procedures

  • Unhandled exception while converting OBJECT_ID

  • Transformation for temporal (#) tables

  • Unhandled exception while converting aliases with special characters or spaces.

  • Unhandled exception while converting MERGE statements

Release 1.3.4 - December 7th, 2021

SnowConvert Core 3.1.43

Fixed

  • Transformation for ISDATE function

  • Transformation for PATINDEX function

  • Transformation for string concatenation using +

Release 1.3.3 - November 22nd, 2021

SnowConvert Core 3.1.24

Added

Fixed

  • Transformation for MONEY and SMALLMONEY

  • Transformation for TABLE datatype in stored procedures

  • Error on SELECT helper

  • Transformation for addition assignment operators (+=, -=)

  • Transformation for UPDATE statements using the table alias as target

  • Comments lost during stored procedures transformation.

Release 1.3.1 - November 8th, 2021

SnowConvert Core 3.1.20

Added

  • Count of User Defined Functions inside and outside queries

  • Assessment section for User Defined Functions

  • Transformation for @@ROWCOUNT function

Fixed

  • Exception thrown while generating the HTML report

  • Transformation for DECLARE statements with scalar default value

  • Transformation for Common Table Expressions with Delete statement removing duplicates

Release 1.3.0 - October 25th, 2021

SnowConvert Core 3.1.11

Added

  • Robustness on the parser for CREATE PROCEDURES

  • Parsing and basic Assessment for CREATE FUNCTION

  • Object conversion rate for each identified object.

Fixed

  • Exception that was causing a file not to be generated

  • Transformation for variable declaration inside labels

  • Transformation for ROW_NUMBER with partition

Release 1.2.1 - October 11th, 2021

SnowConvert Core 3.1.9

Added

  • Robustness on the parser for CREATE PROCEDURES

  • Transformation for BULK INSERT statements

  • Transformation for object_id inside IF statements

  • Transformation for object_schema_name(@ObjectId, @DatabaseId)

  • Transformation for object_name(@ObjectId, @DatabaseId)

  • Transformation for modulo (%) operations in IF conditions

  • Transformation for WAITFOR statements

  • Transformation for empty statements inside Stored Procedures

  • Transformation for ERROR_SEVERITY function

Fixed

  • Transformation for double-dot qualifiers. Example:

Input

select * from db..table1

Output

select * from db.dbo.table1

  • Comment objects with missing dependencies

  • Inconsistent Total Issues value on UI vs Assessment report

  • Custom database and schema options not working in the UI

  • Disabling EWI comments generation in some cases

  • Transformation for Procedures inside Unicode literals

Release 1.2.0 - September 28th, 2021

SnowConvert Core 3.1.8

Added

Fixed

  • Translation for CROSS APPLY

  • Translation for NLiteral expressions inside SELECT statements

  • Translation for IDENTITY with default values

  • Translation for UPDATE statements with JOIN clauses

  • Translation for SELECT INTO used in COMMON TABLE EXPRESSION

Release 1.1.17 - September 14th, 2021

SnowConvert Core 3.1.3

Added

  • Robustness on the parser for CREATE VIEW and CREATE PROCEDURES

  • Translation for CASE Expressions and built-In functions calls inside procedures.

  • Translation for BREAK statement.

  • Translation for supported ODBC SCALAR FUNCTIONS.

  • Translation for SELECT @LOCAL_VARIABLE.

  • Missing dependencies warning to views without their dependencies in the source code.

  • Regions for PROCEDURES helpers.

  • Warning for MASKED columns.

Fixed

  • EXISTS translation in order to use the Snowflake built-in.

Release 1.1.16 - August 31st, 2021

SnowConvert Core 3.1.1

Added

  • Robustness on the parser for CREATE TABLE , CREATE VIEW and CREATE PROCEDURES

  • Assessment Accuracy Improvements:

    • Parsing errors count on output code and issues csv file.

    • Differentiation between warnings and errors count.

    • Warnings to some transformations properly added.

  • Built-In functions translation:

    • CONVERT

    • COALESCE

    • ISNUMERIC

    • QUOTENAME

    • USER_NAME

    • SOUNDEX

    • DATEPART

    • DATENAME

    • NEWID

    • PATINDEX

    • FORMAT

    • PARSENAME

    • STUFF

    • DATABASE_PRINCIPAL_ID

  • Translation for sysname , datetimeoffset , NChar , NText , sql_variant and timestamp data types

  • Translation for computed columns

Fixed

  • Translation for identity columns with negative values.

Release 1.1.15 - August 18th, 2021

Fixed

  • The confirmation pop-up window for canceling the migration process is not displayed correctly.

Release 1.1.14 - August 16th, 2021

SnowConvert Core 3.1.0

Added

  • Assessment Accuracy Improvements.

  • Empty square brackets can now being parsed as column definition.

  • CONSTRAINT PRIMARY KEY is now being properly translated.

  • Top Level object report Generated.

  • Default Parameters in Procedures now supported.

  • Support Column names with reserved or special keywords.

  • Assignments of the EXEC helper refactored to be more accurate to the source code.

  • XML, Image, SMALLDATETIME and UNIQUEIDENTIFIER types now supported on translations.

Fixed

  • Invalid keywords are no longer kept in the table DDL.

  • Fixed StackOverflowException on MAC that caused the application to failed with error or log message.

  • Fixed error where Hexadecimal values caused errors when contained inside procedures.

Release 1.1.12 - August 4th, 2021

SnowConvert Core 3.0.22

Added

  • Better error handling for:

    • Unicode Literal failed transformations (Accurate EWI is now displayed)

  • Parser robustness for:

    • GO command

    • OPEN GLOBAL

    • CLOSE GLOBAL

    • Files starting with invalid text (Not with SQL comments or SQL grammar elements)

  • Translation for:

    • LIKE

    • NOT LIKE

Fixed

  • Warnings added for SEQUENCE not being accurately counted.

  • Inconsistencies shown in assessment information between identical runs of the tool for some workloads.

  • Exception occurring during SELECT INTO transformation.

Release 1.1.11 - July 19th, 2021

SnowConvert Core 3.0.20

Added

  • Improved Assessment Accuracy for:

    • Declare Statements in procedures.

    • If Statements.

    • Cursor Statements.

    • Merge Statements.

  • Translate statement SELECT INTO TableName .

  • Translate statements in Create Procedure:

    • Identity Column.

    • Column names with operators.

  • Disclaimer for SQL Identified objects and SQL Files conversion rate.

Fixed

  • EXECcall not being generated in the output.

  • SnowConvert conversion loop for certain store procedures.

  • Error migrating views and code being removed.

  • Translation of negative values being translated to positive values.

  • NOT EXISTS is being translated as EXISTS.

  • Inconsistencies in Assessment Accuracy conversion rate.

  • DefaultExpression should be counted as an error and affect the conversion rate.

  • MSC-ISSUE renamed to MSC-ERROR in all the reports.

Release 1.1.10 - July 6th, 2021

SnowConvert Core 3.0.16

Added

  • Robustness on the parser for CREATE TABLE , CREATE VIEW and CREATE PROCEDURES

  • Translate basic statements in CREATE PROCEDURES such as:

    • Translate BEGIN TRANSACTION statement

    • Translate COMMIT statement

    • Translate for ROLLBACK and ROLLBACK TRANSACTION statement

    • Translate THROW statement

    • Translate INSERT INTO EXEC

  • Translate Temporal Tables

  • Translate for EXECUTE Statement and N Literal

  • Translate of CREATE PROCEDURE AS OWNER

  • Translate built-in functions that have equivalence in Snowflake

  • Translate TRUNCATE Statement

  • Translate DROP TABLE statement

  • Telemetry for assessment

Release 1.1.9 - June 22nd, 2021

SnowConvert Core 3.0.13

Added

  • Robustness on the parser for CREATE TABLE , CREATE VIEW and CREATE PROCEDURES

  • Translate basic statements in CREATE PROCEDURE such as:

    • Translate EXECUTE/EXEC statement

    • Translate embedded CREATE TABLE statement

  • Translate basic predicates such as:

    • BETWEEN Predicate

    • EXISTS Predicate

    • IN Predicate

  • Translate WITH Clauses in CREATE TABLE

  • Translate Cursor DECLARE, OPEN, FETCH, CLOSE and DEALLOCATE

Release 1.1.5 - June 9th, 2021

SnowConvert Core 3.0.9

Added

  • Robustness on the parser for CREATE TABLE , CREATE VIEW and CREATE PROCEDURES

Release 1.1.3 - May 25th, 2021

SnowConvert Core 3.0.5

Added

  • Translated basic CREATE PROCEDURE

  • Translate basic statements in CREATE PROCEDURE such as:

    • DECLARE @variable

    • SET @variable

    • TRY CATCH Statement

    • IF Statement

    • While Statement

    • RETURN Statement

    • SELECT, UPDATE, INSERT, DELETE and MERGE.

  • Translate basic expressions in CREATE PROCEDURE such as:

    • IS NULL / IS NOT NULL predicate

    • BINARY Operations ( +, -, *, / )

    • Comparisons ( >,<, <=, >= )

In order to try out the newly added translation features, you can use this example code and migrate this example with SQLServer SnowConvert.

CREATE PROCEDURE Procedure1(
    @model_year SMALLINT,
    @FirstName NVARCHAR(50),
    @Age INT,
    @Balance SMALLMONEY,
    @Description VARCHAR
) AS 
BEGIN
    DECLARE @cursor_db CURSOR;
    DECLARE @database_id INT, @database_name VARCHAR(255);
    DECLARE @product_list VARCHAR(MAX) = ' ';
    DECLARE @Variable1 AS VARCHAR(100), @Variable2 AS VARCHAR(100);
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    SET NOCOUNT ON
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    SET NOCOUNT OFF
    SET @product_list = '';
    SET @var1 += '';
    SET @var2 &= '';
    SET @var3 ^= '';
    SET @var4 |= '';
    SET @var5 /= '';
    SET @var6 %= '';
    SET @var7 *= '';
    SET @var8 -= '';
    SET @statement = 'SELECT * FROM TABLE1 WHERE COL1 = '+@param1+ ' AND COL2 = ' + @param2;

    BEGIN TRY
        IF @Age > 15
            return
        ELSE
            return 2;
        
        WHILE (@PATITO < 2)
        BEGIN
            SELECT * FROM TABLE1;
        END;

        INSERT INTO TABLE1 VALUES (1,2,3, @param1);
        DELETE dbo.Table2 FROM dbo.Table2 INNER JOIN dbo.Table1 ON (dbo.Table2.ColA = dbo.Table1.ColA) WHERE @ColA = 1;
        Update PruebaUpdate Set Col1 = 5;
    END TRY
    BEGIN CATCH
        return -1;
    END CATCH
END;
GO

Release 1.1.2 - May 14th, 2021

SnowConvert Core 3.0.3

Added

  • Translate Tables

  • Translate Views

  • Assessment Report for Tables and Views

Known issue: you may get some error in the UI if you try to migrate Procedures and Functions

Last updated