Robustness on parser on SELECT
statements.
Code preprocess before converting the source code.
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
Fixed
Transformation for string concatenation using +
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.
Added
Count of User Defined Functions inside and outside queries
Assessment section for User Defined Functions
Fixed
Exception thrown while generating the HTML report
Transformation for DECLARE
statements with scalar default value
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
Added
Robustness on the parser for CREATE PROCEDURES
Transformation for modulo (%) operations in IF conditions
Transformation for empty statements inside Stored Procedures
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
Added
Robustness on the parser for CREATE PROCEDURES
Translation for error functions such as:
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
Added
Robustness on the parser for CREATE VIEW
and CREATE PROCEDURES
Translation for BREAK
statement.
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.
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.
Fixed
The confirmation pop-up window for canceling the migration process is not displayed correctly.
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.
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
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.
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
EXEC
call 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.
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
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
Robustness on the parser for CREATE TABLE
, CREATE VIEW
and CREATE PROCEDURES
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.
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
Transformation for function
Transformation for function
Transformation for and function
Transformation for function
Transformation for function
Transformation for with Delete statement removing duplicates
Transformation for with partition
Transformation for statements
Transformation for inside IF statements
Transformation for (@ObjectId, @DatabaseId)
Transformation for (@ObjectId, @DatabaseId)
Transformation for statements
Transformation for function
Translation for
Translation for
Translation for statement.
Translation for function with object_type
argument specified.
Translation for function
Warning for not supported statement.
Translation for using DELETE
, UPDATE
or INSERT
New Logo for SnowConvert and minor UI update (some colors changed). New images are displayed in the section.
Translation for SELECT INTO
used in
Translation for Expressions and built-In functions calls inside procedures.
Translation for supported .
Translation for .
Warning for .