2020

Details about the releases of Snowflake SnowConvert for Teradata during 2020.

Release 1.5.5

Conversion Core 1.9.2

Added

  • CREATE SCHEMA Statement

  • COMMENT Statement

Fixed

  • Parsing error fixes for some column names that are keywords

  • Add warning for DELETE ALL statements

  • Migrating duplicated labels in BTEQ should rename them

  • Critical issue with Date Formats YYYYMMDD

  • Critical Issue with Date Formats YYYYMM

  • DELETE statement improvements

  • [Procedure] In Predicate improvement

  • [Procedure] Preserve DEFAULT CURRENT_TIME for variable on SP migrations

  • TRUNC not being added for integer operations

  • Whenever the migration tool comments out code a mark should be added

Release 1.5.4

Conversion Core 1.9.1

Fixed

  • [Performance] Fixed performance issue by changing the catching system.

  • [Procedures] FETCH method for Cursors when there are no rows

  • [Procedures] Improve error handling for procedure code

  • [BTEQ] BTEQ conversion creating cartesian join

  • [BTEQ] COMMIT statement added for BTEQ

Release 1.5.2

Conversion Core 1.9.0

Added

  • [Assessment] Issues Breakdown Summary

  • [Tables] Multiple foreign key translations

  • [Queries] CAST(Column as CHAR(n))

  • [Queries] CSUM and MSUM function translation

  • [Proc] CASE WHEN translation

  • [Proc] BEGIN/END REQUEST Stat

  • [Btq] CREATE ERROR TABLE

Known issue: macOS - the Start Over button can cause unexpected behavior.

Release 1.4.2

Conversion Core 1.8.1

Added

  • [Assessment] Data Lineage Report

  • [Assessment] Assessment for scripts

  • [Expressions] XMLAGG common pattern translation

  • [Functions] Translate CHARACTER , MAXIMUM , MINIMUM , AVERAGE

  • Performance improvement migrating Procedures

Fixed

  • [Expressions] Add a warning for CAST(var1 as VARCHAR(N)) when needed

  • [Expressions] Named Clause translation

  • [Expressions] IN Statement translation improvement

  • Additional foreign keys translation

  • [BTEQ] Errors when object name has &

  • [Procedures] FOR...CURSOR Statement translated to EXEC helper function

Release 1.4.0

Conversion Core 1.7.1

Added

  • TERADATA MONTH or DAY conversions

  • [Procedures] CURSOR migration improvements

  • [Assessment] Highliting the section Notes on Output Files Not Generating of the Assessment Report

Fixed

  • Performance issue when converting very big file.

  • Stack overflow issue when parsing more than 4000 SELECTs

  • COALESCE function translation

Release 1.3.6

Conversion Core 1.6.6

Added

  • [Assessment] Improved assessment report accuracy

  • [Procedures] COLLECT Statistics conversion

  • [Procedures] IS IN Statement conversion

  • [Procedures] New ERROR HANDLER and EXEC

  • [Procedures] DBC table mapping

Fixed

  • [Procedures] Binding variables usage improvement

Release 1.3.5

Conversion Core 1.6.3

Added

  • Improved assessment report template and accuracy

  • INTERVAL keyword migration

  • [Procedures] Convert CASE WHEN to IF syntax

  • [Procedures] Convert operators such as NOT=, ^=, NOT EQ and ^EQ

Fixed

  • [Procedures] Binding variables usage improvement

Release 1.3.4

Conversion Core 1.6.0

Added

  • Macros: Convert SELECT and return a temporary table for the results of the SELECT

  • Procedures: Convert Statements using Binding Variables

Fixed

  • Parsing errors on Tables and Views due to some keywords like USAGE, EXCEPTION, Offset

  • Assessment: Accuracy at the level of Current Minimum Conversion Rate by lines of code.

  • Tables: DEFAULT values conversion improvement to prevent Type Mismatch Error.

  • Procedures: TRIM function conversion improvements

  • Procedures: Process Hexadecimal literals in order to prevent functional errors.

  • Procedures: COLLECT STATS should be commented out.

Release 1.3.2

Conversion Core 1.5.0

Fixed

  • BTEQ: Be able to parse identifiers starting with Ampersand (&)

  • Procedures: Conversion Issues related with CAST Expressions

Release 1.3.0

GUI

  • Users can specify the file encoding in the settings.

Conversion Core 1.4.3

Added

  • Support to specify the file encoding.

  • Handle alises when used for TEMPORAL tables.

Fixed

  • TRUNC being applied to non-integer calculations.

  • NAMED expression in WHERE clause.

  • SELECT clauses need to be specifically ordered.

  • DATABASE dbname statement is not valid in Teradata.

  • SELECTCURRENT_TIMESTAMP Error when applying CAST transformation whitespace eimination causes a bad syntax statement

  • ALIAS REFERNCE IN JOIN OR WHERE CLAUSE

  • TABLE - Partition by Column Parsing Issue

  • Telemetry] [Report] Implement & send report to telemetry

  • Telemetry] [Metadata] Extend metadata sent via telemetry

  • Telemetry] [AssessmentReport] Differentiate Warnings from Issues in reports

  • DML - MINUS function

Release 1.2.0

Conversion Core 1.3.0

Added

  • Mapping for EXPORT RESET statement using the helpers.

  • Mapping for EXPORT REPORT statement using the helpers.

  • Mapping for EXPORT INDICDATA statement using the helpers.

  • Mapping for IMPORT statements using the helpers.

  • Assessment counter for Primary Keys.

Fixed

  • Tags were being removed from Join Indexes.

  • CREATE TEMP TABLE WITH DATA clause was wrongly converted and just generates an invalid statement.

  • Fixed many existing counters for the assessment.

  • Table DDL Adjustments.

  • YEAR FROM DATE should be converted to YEAR FROM CURRENT_DATE.

  • HAVING Clause needs to be placed at the end of a query.

  • USING clause was no properly parsed.

  • BTEQ: LIMIT statement was no properly parsed.

  • BTEQ: .RUN statement was no properly parsed.

  • BTEQ: EXIT statement was causing crashes.

  • BTEQ: Single Line IF statements with OS staments are only partially converted.

Release 1.1.4

GUI 1.1.4

Added

  • New settings screen and initial screen for Oracle and Teradata.

  • New Complete Results Screen in GUI.

  • Supporting of BaseConverter and common initialization for converters, centralized licensing mechanism.

Fixed

  • Fixing issue with conversion error page which not open the log folder.

  • Fixing a bug related to string resources loading for assessment execution mode.

Conversion Core 1.1.3

Added

  • BTEQ: Improved error handling for GOTO statement.

  • Assessment: removed Achievable Automation Conversion Rate.

  • Assessment: estimated number of unique issues left blank.

  • Assessment: updated text in the DATABASES section.

  • Added performance warnings to INSERT and DELETE statements when inside of a loop.

  • Added BTEQ conversion for RUN command.

  • Support CAST Data-type Conversion transformations

    Fixed

  • BTEQ: migration of OS command should use """.

  • BTEQ: GOTO ERRORS causes a conversion error.

  • Fixed a problem when analyzing input directory statistics

  • SQL statement in BTEQ can throw a conversion exception.

  • Fixed a problem when passing the settings from the UI.

  • TABLE - Convert UNIQUE INDEX

  • Conversion errors in BTEQ with Date Format

    Runner 1.1.1

    Fixed

  • Fixing issue with execution parameters

Release 1.0.3

GUI

Added

  • Terms and Conditions are now also accessible from the application menu.

    Fixed

  • Hitting enter after entering the license key clicks the Discard button.

Conversion Core 1.0.2

Added

  • Support for RENAME TABLE.

  • Support for ROLLBACK Statement in procedures.

  • Support for DROP INDEX with column name and ORDER BY.

  • Support for CREATE TABLE WITH DATA PRIMARY INDEX(CODE).

  • The counter for NUMBER formats for the Assesment Doc includes DECIMAL and NUMERIC.

  • Logging when files are not generated due to an exception.

    Fixed

  • Casting/adding functions when not required.

  • UPDATE statement with the update table uses the same alias as one of the tables in the FROM clause.

  • CSUM should be converted to SUM window function.

  • SNOWFLAKE does not support especifying new column names as in Teradata.

  • HOUR TO SECOND(0) not being picked.

  • SELECT Statement gets chopped during conversion.

  • DELETE statement in snowflake must use the USING clause for additional tables.

  • Error translating UPDATE statements when a temporary table is used.

Release 1.0.1

GUI

  • Adding support for Multiload, FastLoad and Tpump extensions for SnowConvert.

Conversion Core 1.0.1

Added

  • Do not generate empty python methods when doing BTEQ migrations.

  • Support BT and ET as Begin Transaction and End Transaction in BTEQ.

  • Transformation for TITLE and NAMED data attributes in Procedures.

  • Params are escaped inside Procedures transformations.

  • Updated the definition of log_on method in snowconvert_helpers.py.

  • The helper file snowconvert_helpers.py is copied only at the root directory.

Fixed

  • View ordering and missing schemas.

  • "NOT CASESPECIFIC" does not work in Snowflake.

  • Not forwarding alias names defined as "NAMED AS".

  • FOR LOOP statement not parsed correctly.

  • Reported conversion coverage and assessment coverage being different.

  • Some Multiset tables not parsing correctly.

  • TRIM (BOTH FROM ' TEST ') is copied as it is.

  • Comments removed from View definition and losing formatting for all SQLs.

  • Reported errors in snowconvert_helpers.py python file.

  • Exception in the Symbol's table when files in different directories have the same name.

  • Some BTEQ statements being trimmed in the converted coded.

  • Keep Label ordering in conversion of BTEQ to Python.

  • CURRENT_DATE statement is being converted with quotes "CURRENT_DATE".`

  • Wrong Parenthesis after migration for DT statement.

  • Many errors in the conversion of SET and DECLARE statements in Procedures.

  • String Terminator in BTEQ Queries is being concatenated with another string terminator.

Release 1.0.0

GUI

  • Using Product Licensing API 3.0.0.

  • Update crash screen to allow users to send crash report information.

Conversion Core 1.0.0

  • Conversion rate for Macros now counts partial conversions.

  • Added support for ABORT statements conversion.

  • Added support for ECHO statement conversion.

  • Fixed some procedures being converted with an empty body.

  • Fixed a reported error that prevented the conversion of Multiload files.

  • Fixed missing parameter types in converted Procedures/Macros.

Release 0.5.8

Conversion Core 0.3.5

  • Added support for conversion of REPEAT and LOOP statements.

  • Added support for multiple DECLARE HANDLER in a Stored Procedure.

  • Bugfixes in the conversion of Stored Procedures.

  • Added support for conversion of GLOBAL TEMPORARY TABLE.

Release 0.5.6

GUI

  • Check for updates menu option available.

  • Modals styles improvements.

  • Display execution mode when running in Assessment Mode in SnowConvert UI.

  • New Snowflake SnowConvert logo.

Conversion Core 0.3.4

  • Fixed parsing and conversion errors in Stored Procedures.

  • Fixed an issue when reordering tables related to the syntax analysis.

  • Added support for DECLARE EXIT HANDLER conversion.

  • When Dynamic SQL cannot be converted it's now marked as a warning and not a conversion error.

Release 0.5.5

  • New version notification on first run.

  • Improved user experience in settings window.

  • Improved user experience for critial errors.

Release 0.5.4

Conversion Core 0.3.0

  • Added support for TPUMP conversion to Python.

  • Added support for SQL conversion of JOIN INDEX to MATERIALIZED VIEW.

  • Added generation of Assessment Report.

  • Improved preserving of comments in BTEQ and Stored Procedures.

Release 0.5.3

  • Fixed a problem with license validation on unusual environments.

Release 0.5.2

  • Added user guide in Help menu.

  • Disabled some menu options while the conversion is being executed.

  • Performance improvements and bugfixes.

Release 0.5.1

GUI

  • Added Settings button in the Start Conversion window.

  • Performance improvements and bugfixes.

Conversion Core 0.3.0

  • Support for FastLoad conversion.

  • Support for MultiLoad conversion.

  • Parsing improvements for Procedures.

  • Initial version of the Assessment CSV generation.

Release 0.4.8

  • Bugfixes and performance improvements.

Release 0.4.6

GUI

  • Improvements in network detection.

  • Improvements in license validation.

Conversion Core 0.2.3

  • DEL FROM statement converted to DELETE FROM.

  • Support TRYCAST function.

  • Support INSTR function.

  • Exception when converting MERGE sequences.

  • Conversion of FOR-CURSOR-FOR loops to Snowflake JS.

  • Upsert statement.

  • Implement support for LEAVE statements.

  • SELECT Statement.

  • DATE not converting to CURRENT_DATE.

  • DML - LOCKING with INSERT.

  • INS statement converted to INSERT INTO.

  • DML - View prefix identifies.

Release 0.4.4

GUI

  • Update logo and icons (App and Installer).

  • Restart Conversion. Configuration file added.

Conversion Core 0.2.1

  • Parameter Type Translation to SP.

  • Escaping Comments in Commented Code for Procedures. Different loc are now being counted when marked as partially.

  • Generate new version of details.csv for 'Create Table'.

  • Generate new version of details.csv for 'Create View'.

  • Show warning messages in the issues file.

  • CALL statement for macros/stored procs.

  • Generate new version of details.csv for 'Create Procedure'.

  • SET statement with sql.

  • Input/Output parameters transformation.

Release 0.4.3

GUI

  • Initial splash and loading screen added. Async application start and performance improvements related with electron-cgi connection initialization.

  • Special characters support bug solved.

  • Fixed standarization of error name.

Conversion Core 0.2.0

  • License Text update to current year.

  • [BTEQ] Helpers is not being copied.

  • Support for Execute statements added.

  • For the -m option (to comment out objects with missing dependencies) reverse default.

  • Transformation for Conditional Handler added.

Release 0.4.0

GUI

  • License modal added to show the license information to the user.

  • Notification added to warm the user if the output folder isn't empty.

  • Added support to specify input folder error for network directory format.

  • Added about menu option to show conversion tool version.

  • Conversion Settings Prompt.

  • Adding support for auto update notifications mechanism.

Conversion Core 0.1.3

  • BTEQ Parsing: If Statement.

  • BTEQ Parsing: LOGON.

  • BTEQ Parsing: BEGIN TRANSACTION and END TRANSACTION.

  • BTEQ Parsing: HELP, SET, DATABASE Stats.

  • Support to all flavors of identity.

  • Added validation for parenthesized expression in partition by.

  • Robustness. SnowConvert should be able to run in any environment that blocks Mobilize's DLLs from execution.

  • Support for Transformation of Bteq If Statements with Comparisons.

  • Report and Log name's timestamp format should be the same.

  • Update Ansi, T12, SnowSql and Python to .NET Standard.

  • Converting Non Converted statements to JavaScript Comments.

  • Name columns data insertion improvement.

Release 0.3.0

GUI

  • Fixed bug related with undetected license when a new version is installed.

  • Main menu implementation. (Options development is in progress)

  • Maximum activations per license.

  • Auto populate output folder after selecting the input folder.

  • Fixes in license validation process and infinite looping avoided during validation.

  • Fixes in labels.

Release 0.2.0

GUI

  • Fixed bug related with undetected license when a new version is installed.

  • Main menu implementation. (Options development is in progress)

  • Maximum activations per license.

  • Auto populate output folder after selecting the input folder.

  • Fixes in license validation process and infinite looping avoided during validation.

  • Fixes in labels.

Conversion Core 0.1.2

  • Added List separator based on the region default delimiter.

  • Fix of Warning message of Default Session.

  • Fixed Infinite loops in conversion (related to forward alias reference issue).

  • Circular Reference Alias is being counted as transformation error.

  • Added validation to avoid symbol table crash in views with circular reference.

  • Added conversion rule for Expressions like: AnyExpr (TITLE 'anyString') to AnyExpr AS anyString.

  • Collate clause removed for Variant columns and warning added.

  • Parsing Echo, Abort, Select And Consume, Updatability Clause.

  • Parsing Ins in Insert, CharacterString Hexadecimal Literals, Character Substring Function.

  • Fix of Warning message of Default Session.

  • Fixed Infinite loops in conversion (related to forward alias reference issue).

  • Circular Reference Alias is being counted as transformation error.

  • Added validation to avoid symbol table crash in views with circular reference.