2022
Release 2.0.264 - December 19th, 2022
SnowConvert Core 13.0.16
Added
Translation for function DB_NAME
Translation for function SYSUTCDATETIME
Translation of CAST parameter used to style format from date to string
Fixed
The result of the AT TIME ZONE is different in the .csv of SQL Server and the .csv of Snowflake
ALTER TABLE ADD COLUMN CONSTRAINT adds invalid IF EXISTS statement
Fix to be inline as the date to string CAST documentation
Release 2.0.259 - December 12th, 2022
SnowConvert Core 12.0.0
Added
CTE + INSERT has an incorrect conversion
Stabilize using Elements Report Category/GrammarElement resolvers
Generate object breakdown section in HTML Conversion Report
Generate File breakdown section in HTML Conversion Report
Fixed
Reduce procedure exceptions in some customer workloads
EWI1040 is displayed but it should display EWI4063
Regression due to SQL Changes in DotDouble Operator
Stackoverflow migrating ALTER TABLE ADD CONSTRAINT
Release 2.0.246 - November 21st, 2022
SnowConvert Core 11.0.108
Added
Procedures with unsupported options gives 0 % conversion rate
Translate OPENXML table valued function
Add a footer to HTML Conversion Report
Generate File breakdown section in HTML Conversion Report
Fixed
Function should be preserved as Function
Cast issues for date/time not correctly converted
Some generated Javascript function is invalid
Date & Time functions do not work properly
Exception in CREATE TABLE statement
Release 2.0.235 - November 10th, 2022
SnowConvert Core 11.0.62
Added
Support for GETUTCDATE function
Translation of Output parameter should be declared and returned
Generate overall conversion summary section in HTML Conversion Report
Generate issues breakdown section in HTML Conversion Report
Fixed
FORMATMESSAGE Function Not Supported
Functions defined in the code are generating EWI1031 when referenced
SQL N strings are lost inside some Store Procedures
Function Generated Javascript but it should be using the Target language selected
Release 2.0.218 - October 24th, 2022
SnowConvert Core 10.0.0
Added
Remove Cartesian Product from the UPDATE statement
Create a UDF function equivalent to xplogininfo
Transform Bitwise operations
Translate Expression AT TIME ZONE
Translate CTE in SELECT and CREATE VIEW
Fixed
Cast issues for date/time not correctly converted
Ewis and expected code were not generated according to ALTER TABLE documentation
File not generated with XP_LOGININFO in INSERT
The table Named with @ should be replaced by T_ and the temporary table
Parsing error for MERGE @Table statement
Release 2.0.200 - October 10th, 2022
SnowConvert Core 9.2.72
Added
[Alter Table] Function SWITCHOFFSET must be converted
[Alter Table] Parse ALTER TABLE data type
[Alter Table] Save ALTER TABLE default values to a CREATE TABLE statement
[UI] Change DBObject Name Conversion Setting text and default option to NONE
Fixed
Comments lost in the header of procedures
TopLevelQueries were not generated when only dynamic SQL queries
Release 2.0.173 - September 26th, 2022
SnowConvert Core 9.2.6
Added
[Alter Table] [Translation] IDENTITY column option
[Alter Table] Enable transformation for MEF default constraints collected
[Alter Table] [Translation] SPARSE column option
Fixed
Division of integer values must add trunc function
Binary expression '+' must be converted to || Snowflake concatenation
Release 2.0.156 - September 12th, 2022
SnowConvert Core 9.0.37
Added
Data types should be converted properly
Fixed
DATEADD and DATEDIFF are giving issues converted together
Function EOMONTH should be appropriately converted
Store procedures Header comments are not added in the correct location
Unexpected 'AS' for incorrect transformation of DATE_PART
Release 2.0.130 - August 29th, 2022
SnowConvert Core 7.11.122
Added
Translate MASKED WITH (FUNCTION = 'mask_function')
Create more specific EWI for unsupported types
[UDF] Transform User Defined Functions with Nested IF depth greater than 1
Translation for unsupported Table Elements within
ALTER TABLE
Fixed
Missing SELECT helper in a stored procedure
Release 2.0.112 - August 16th, 2022
SnowConvert Core 7.11.83
Added
Translate
scope_identityfunctionTransform
ALTER TABLEDefault Constraint usingCREATE TABLEstatementRefactor TSqlsStat AST
Fixed
Some duplicated procedure names with no schema are lost during arrange preprocess
Added cast to return value when return type should be
DATE
Release 2.0.95 - August 3rd, 2022
SnowConvert Core 7.11.47
Added
Translate
DEFAULTproperty inALTER TABLEstatementRemove
ALTER TABLEunsupported table options
Release 2.0.89 - August 1st, 2022
SnowConvert Core 7.11.22
Added
Translate SET statements inside IF/ELSE blocks
Translate SELECT statements inside IF/ELSE blocks
Parse
ALTER TABLErebuild optionRemove
ALTER TABLEcolumn constraint options
Fixed
Arrange with the pretty print flag causes an exception
Dates expressed by numbers are not converted properly
Scalar function transformed to procedure instead of Snowflake function
Release 2.0.73 - July 18th, 2022
SnowConvert Core 7.9.154
Added
Robustness on the parser for
ALTER TABLEstatement
Fixed
User-defined function transformed to stored procedure instead of user-defined function
Release 2.0.70 - July 12th, 2022
SnowConvert Core 7.9.130
Added
[Snowflake Scripting] Transformation for variable assignment in SELECT
Fixed
Preserve comments above the DDLs definition
Input parameter argument binding
Release 2.0.61 - July 4th, 2022
SnowConvert Core 7.9.95
Added
Robustness on the parser for
ALTER TABLESTranslation for
DECLAREstatements insideIF/ELSEblocks inside user-defined functions. See also MSCEWI4049.Preprocessing for
ALTER TABLEstatement.
Fixed:
Body not generated in several user-defined functions.
Temporal table name reference in update statement.
Parameters references in
SELECTqueries that use columns with the same names.
Release 2.0.38 - Jun 21th, 2022
SnowConvert Core 7.9.34
Added
Fixed:
Deployment issue on
TEMPORARYtables withoutOR REPLACEkeywordTranslated statements without semicolon in Snowflake Scripting
Release 2.0.21 - Jun 7th, 2022
SnowConvert Core 7.3.0
Added:
Warning for not supported statements that should be commented out.
MSCEWI4048 for
ALTER TABLEstatementsTransformation for RAISERROR in Snowflake Scripting
New EULA file with an updated version
Fixed:
Parsing exception in macOS
Release 2.0.6 - May 25th, 2022
SnowConvert Core 7.2.6
Added:
General improvements on the Pretty Print performance and output code
Transformation for DATEFIRST variable in Snowflake Scripting
Functional equivalence review (removed MSCEWI1046) for built-in functions such as:
COALESCE
COUNT
LAG
AVG
SPACE
DENSE_RANK
LOWER
REVERSE
FIRST_VALUE
FLOOR
SIGN
SQUARE
USER_NAME
LEAD
EXP
LAST_VALUE
CONCAT_WS
LOG
ASCII
RAND
ISJSON
COS
PERCENTILE_DISC
SIN
GROUPING
ACOS
NTILE
UNICODE
RADIANS
SOUNDEX
Fixed:
Transformation for User Defined Functions calls marked as errors.
Transformation for TOP clause with parenthesis.
Version 2.0.6 of SnowConvert for SQL Server is not available in macOS
Release 1.5.77 - May 10th, 2022
SnowConvert Core 5.0.132
Added:
Transformation for multiple return statements inside User Defined Functions
Transformation for
IS_MEMBERconversionFunctional equivalence review (removed MSCEWI1046) for built-in functions such as:
CONCAT
COUNT_BIG
DATALENGTH
DATEDIFF
DATEFROMPARTS
DATENAME
EOMONTH
GETDATE
ISDATE
ISNULL
LEFT
LEN
LTRIM
MAX
MIN
NEWID
NULLIF
PATINDEX
POWER
RANK
REPLACE
REPLICATE
RIGHT
ROW_NUMBER
DATEADD
SUM
Fixed:
Transformation for
INSERTstatement withoutINTOclauseTransformation for User Defined Functions to Stored Procedures without helpers
Transformation for
IIFfunction that was wrongly mappedComment out default value for
BINARYcolumn definitions
Release 1.5.56 - April 25th, 2022
SnowConvert Core 5.0.88
Added:
Improvements to code preprocessing documentation in UI
Fixed:
NUMBERdatatypes with no scale transformation
Release 1.5.41 - April 12th, 2022
SnowConvert Core 5.0.71
Added:
Transformation for Common Table Expressions inside User Defined Functions
Transformation for BEGIN...END inside User Defined Functions
Transformation for NChar function
Fixed:
HTML assessment report generation
Release 1.5.19 - March 28th, 2022
SnowConvert Core 5.0.35
Added:
Procedures target transformation to Snowflake Scripting (UI and CLI)
Transformation for supported SYSTEM TABLES. See also MSCEWI4046
Transformation for OBJECT_NAME function inside Stored Procedures
Transformation for ODBC NOW function
Robustness on the parser for
CREATE PROCEDURES
Fixed:
Transformation for multiple declarations in user defined functions
Transformation for user defined functions with body not generated
Release 1.4.140 - March 14th, 2022
SnowConvert Core 4.0.108
Added:
Transformation for
User Defined Functionswith multiple IF statements without theELSEclauseTransformation for
User Defined Functionswith variable self assignment pattern insideSELECTstatements (only applies toSELECTStatements without theFROMclause)Transformation for multiple return statements inside
User Defined Functions(only applies to functions without statements transformed toCommon Table Expressions)Robustness on parser in
Stored Procedures
Release 1.4.140 - March 14th, 2022
SnowConvert Core 4.0.108
Added:
Transformation for
User Defined Functionswith multiple IF statements without theELSEclauseTransformation for
User Defined Functionswith variable self assignment pattern insideSELECTstatements (only applies toSELECTStatements without theFROMclause)Transformation for multiple return statements inside
User Defined Functions(only applies to functions without statements transformed toCommon Table Expressions)Robustness on parser in
Stored Procedures
Release 1.4.117 - February 28th, 2022
SnowConvert Core 4.0.60
Added
UnrecognizedElementsLOC to Assessment.docx and Assessment.csv
Release 1.4.98 - February 14th, 2022
SnowConvert Core 4.0.33
Added
Transformation for basic
IFstatement inside user defined functionsIMMUTABLEkeyword to all generated UDF helpersGlossary section of the main concepts in the Assessment.docx report
Hierarchy-oriented naming in the ObjectDB column of the Top-level objects report and Top-level queries report. Check here for more information
Added 2 precision decimals to the conversion rates of the assessment reports to improve precision
Fixed
Thrown exception while translate names with special characters
Thrown exception inside Table-Valued function with qualified name
Empty object names in the Top-level objects report
Release 1.4.74 - February 1st, 2022
SnowConvert Core 3.2.86
Added
Improved transformations for
CURRENT_DATEandDATE_PARTParsing improvements for
AUTOkeyword,FROMclause andWITHaliasSeveral improvements to UDFs translations, including:
Add cast to columns inside union all when semantic information was not found
Add warning to function expressions identified as user-defined functions
Translation for parameter usages inside queries in inline table valued functions
Support for semicolons inside SQL functions
Fixed
Exception in
OBJECT_IDwith non string parameterException in
SETwith square brackets with blank space in update clauseSeveral MSCEWI1013 instances
CURSORerror when the result is only 1 row
Release 1.4.58 - January 18th, 2022
SnowConvert Core 3.2.67
Added
Transformation for INLINE TABLE-VALUED FUNCTIONS
Transformation for user-defined functions with
SETandDECLAREstatementsTransformation for variable assignment using
SELECTinside user-defined functionsTransformation for user-defined function calls inside
STORED PROCEDURESTransformation for BITWISE operators
Improvements on Object Conversion rate assessment
Fixed
Transformation for queries getting
MERGE ACTIONcount from OUTPUT insideSTORED PROCEDURESTransformation for
WITHstatement with multipleCOMMON TABLE EXPRESSIONSTransformation for CURRENT_TIMESTAMP
Transformation for BULK INSERT inside dynamic SQL
Transformation for SELECT setting multiple variables
Thrown exception while transforming identifiers with square brackets
Release 1.4.32 - January 3rd, 2022
SnowConvert Core 3.2.34
Added
Transformation for
OUTER APPLYclause.Accuracy improvements on Assessment Object conversion rate.
Transformation for User-Defined functions that can only be translated to Stored Procedures
Robustness on parser on
SELECTstatements.
Fixed
Invalid transformation for GETDATE()
Thrown exception on maintain folder structure flag while preprocessing the code
Release 1.4.1 - December 22nd, 2021
SnowConvert Core 3.2.16
Added
Robustness on parser on
SELECTstatements.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_IDTransformation for temporal (
#) tablesUnhandled exception while converting aliases with special characters or spaces.
Unhandled exception while converting
MERGEstatements
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
Transformation for TRY_CONVERT and TRY_CAST function
Transformation for STR function
Fixed
Transformation for
MONEYandSMALLMONEYTransformation for
TABLEdatatype in stored proceduresError on
SELECThelperTransformation for addition assignment operators (+=, -=)
Transformation for
UPDATEstatements using the table alias as targetComments 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
DECLAREstatements with scalar default valueTransformation 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 PROCEDURESParsing and basic Assessment for
CREATE FUNCTIONObject 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 PROCEDURESTransformation 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
Robustness on the parser for
CREATE PROCEDURESTranslation for LABELS and GOTO
Translation for RAISERROR
Translation for error functions such as:
Translation for CONTINUE statement.
Translation for OBJECT_ID function with
object_typeargument specified.Translation for CAST function
Warning for not supported REVERT statement.
Translation for COMMON TABLE EXPRESSIONS using
DELETE,UPDATEorINSERTNew Logo for SnowConvert and minor UI update (some colors changed). New images are displayed in the Using SnowConvert section.
Fixed
Translation for
CROSS APPLYTranslation for
NLiteralexpressions insideSELECTstatementsTranslation for
IDENTITYwith default valuesTranslation for
UPDATEstatements withJOINclausesTranslation for
SELECT INTOused in COMMON TABLE EXPRESSION
Release 1.1.17 - September 14th, 2021
SnowConvert Core 3.1.3
Added
Robustness on the parser for
CREATE VIEWandCREATE PROCEDURESTranslation for CASE Expressions and built-In functions calls inside procedures.
Translation for
BREAKstatement.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
PROCEDUREShelpers.Warning for
MASKEDcolumns.Warning for DATABASE CONSOLE COMMANDS.
Fixed
EXISTStranslation 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 VIEWandCREATE PROCEDURESAssessment 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_variantandtimestampdata typesTranslation for computed columns
Fixed
Translation for
identitycolumns 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 KEYis 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
EXEChelper refactored to be more accurate to the source code.XML,Image,SMALLDATETIMEandUNIQUEIDENTIFIERtypes 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:
GOcommandOPEN GLOBALCLOSE GLOBALFiles starting with invalid text (Not with SQL comments or SQL grammar elements)
Translation for:
LIKENOT LIKE
Fixed
Warnings added for
SEQUENCEnot being accurately counted.Inconsistencies shown in assessment information between identical runs of the tool for some workloads.
Exception occurring during
SELECT INTOtransformation.
Release 1.1.11 - July 19th, 2021
SnowConvert Core 3.0.20
Added
Improved Assessment Accuracy for:
DeclareStatements in procedures.IfStatements.CursorStatements.MergeStatements.
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 EXISTSis being translated asEXISTS.Inconsistencies in Assessment Accuracy conversion rate.
DefaultExpressionshould be counted as an error and affect the conversion rate.MSC-ISSUErenamed toMSC-ERRORin all the reports.
Release 1.1.10 - July 6th, 2021
SnowConvert Core 3.0.16
Added
Robustness on the parser for
CREATE TABLE,CREATE VIEWandCREATE PROCEDURESTranslate basic statements in
CREATE PROCEDURESsuch as:Translate
BEGIN TRANSACTIONstatementTranslate
COMMITstatementTranslate for
ROLLBACKandROLLBACK TRANSACTIONstatementTranslate
THROWstatementTranslate
INSERT INTO EXEC
Translate Temporal Tables
Translate for EXECUTE Statement and N Literal
Translate of
CREATE PROCEDURE AS OWNERTranslate built-in functions that have equivalence in Snowflake
Translate
TRUNCATEStatementTranslate
DROP TABLEstatementTelemetry for assessment
Release 1.1.9 - June 22nd, 2021
SnowConvert Core 3.0.13
Added
Robustness on the parser for
CREATE TABLE,CREATE VIEWandCREATE PROCEDURESTranslate 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 VIEWandCREATE 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;
GORelease 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
