2021
Details about the releases of Snowflake SnowConvert for Teradata during 2021.
This is a deprecated version of the SnowConvert documentation, please visit the official site HERE.
Release 2.0.23 - December 21st, 2021
Updated Conversion Core 3.2.13
Fixed
The default value in a column gives a parsing error
Removed the unused options avoidTruncatedDataInCast, warnIfCastMightTruncateData and useLeftFunctionInTruncatedCast
Fix multiple EWIs not appearing in the assessment reports
INTERVAL not recognized in addition and subtraction of Datetime values
STRTOK_SPLIT_TO_TABLE not being transformed
Added
Support REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_INSTR functions with COLLATE arguments
Conversion of NEW ST_GEOMETRY
Release 2.0.22 - December 7th, 2021
Updated Conversion Core 3.1.43
Fixed
Update conversion for NULLIFZERO function
Not recognizing unsupported INTERVAL type
Added
ET or END TRANSACTION is now supported when used in SQL files
Release 2.0.21 - November 22nd, 2021
Updated Conversion Core 3.1.24
Fixed
UDF helpers are hardcoded to use PUBLIC schema
Extend MSCEWI2015 description. Deprecate MSCEWI2046
T12 scripts parsing error when a $variable is used as a statement
T12 scripts parsing error related with $variable in LOGTABLE and BEGIN IMPORT statements
Empty file migration is incorrect
Function CHAR_LENGTH is not translated
Added
General improvements to casts to string for both ANSI and Teradata syntaxes
Support Default Period Constructor transformation
Release 2.0.20 - November 8th, 2021
Updated Conversion Core 3.1.21
Fixed
Fix SQL Statements parsing recovery in T12 scripts
Cursor with locking statement is not parsed
Some comments are missing in the Stored Procedures Header
Some MACROS are not identified in assessment reports
Added
Extended support for TO_CHAR function migration for both datetime and numeric types
Improvements to preprocessing scripts, more info here
Generation of HTML assessment report
Release 2.0.19 - October 25th, 2021
Updated Conversion Core 3.1.10
Fixed
Bug in NOT LIKE ALL syntax transformation
Literals in VIEW columns require an alias
Missing statement in generated code
Added
Python helpers technical documentation website
Python helpers logging improvements described here
Authenticator parameter in python helpers connection method
Support for special Teradata MERGE syntax
Parsing support for SEQUENCED and NONSEQUENCED VALIDTIME clauses
Release 2.0.18 - October 11th, 2021
Updated Conversion Core 3.1.9
Fixed
Parenthesis in a
CURSOR FOR
causes code to be commented out.Issues in INSERT clause using MERGE statement.
License file not saved in temp location when SnowConvert is executed with a root user.
Parsing error for EXPAND ON statement.
Added
Improvement to generated Python code, adding indentation to
Exec
command arguments. An example is shown in the following image.
Changing argument's binding format in Procedures, from a question mark (?) to a numbered index (:1, :2). An example is shown in the following image.
Casting string
nulls
tovarchar(1)
in VIEWs definition.Support for PERIOD and END functions along with a new warning for period-related types/functions
Minor UI updates (some colors changed, and buttons placement). New images are displayed in the Using SnowConvert section.
Release 2.0.17 - September 27th, 2021
Updated Conversion Core 3.1.6
Fixed
Incorrect migration for
QUERY TAG
statements.Stack overflow caused by VIEWs containing parameters with the same name as columns of the SELECT.
Added
Implicit conversions for numeric/dates parameters for several functions. More information can be found in the EWI that is generated for non-literal cases.
Support for file extensions
.ddl
and.dml
, they are treated like any other.sql
file, but the original extension is preserved.Warning for possible compilation errors in Snowflake when using subqueries in OUTER JOIN statements. More info can be found on the EWI page.
New Logo for SnowConvert and minor UI update (some colors changed). New images are displayed in the Using SnowConvert section.
Release 2.0.16 - September 14th, 2021
Updated Conversion Core 3.1.3
Fixed
Transformation improvements for function STRTOK_SPLIT_TO_TABLE
Null pointer exception in Views and in SELECT with alias
Remove RANGE_N warning when is used within the PARTITION BY
Execute Immediate with concatenation is not working
Macro being translated as a procedure with double schema name
Parsing error: Last valid token was ''^''
Internet connection timeout taking up 2 minutes
Added
Add helpers region tags in macros translated to procedures.
TD_DAY_OF_MONTH function transformation
MCHARACTERS function transformation
Transformation for BYTES/BYTE function and hexadecimal byte literals
Release 2.0.15 - September 1st, 2021
Updated Conversion Core 3.1.2
Fixed
Parsing recovery for fields with empty space in their name
Issue with results from subqueries in Stored Procedures
Exception thrown when converting names with a different encoding.
Unnecessary warning added when converting special character in identifiers
Fix for parsing error inconsistent count
Delete alias should not be qualified.
Added
Parsing recovery for .mload fields with empty space in their name.
STRTOK_SPLIT_TO_TABLE transformation improvement
Implicit conversion behavior of parameters for functions INDEX, POSITION
Improvements in procedure helpers and tablelist functionality
None Schema functionality
OTRANSLATE function transformation
Release 2.0.14 - August 18th, 2021
Fixed
The confirmation pop-up window for canceling the migration process is not displayed correctly.
Release 2.0.13 - August 16th, 2021
Updated Conversion Core 3.1.0
Fixed
Quotes in comments causing a compiler error
Missing statement in output code
Added
Support for STROK_SPLIT_TO_TABLE function
Support for TD_LEFT function
Support for TD_RIGHT function
Release 2.0.11 - August 4th, 2021
Updated Conversion Core 3.0.22
Fixed
Removed unnecessary assignment after EXEC in SP.
MDIFF function translating to missing UDF.
BTEQ Stub Generation for unsupported Statements
.LOGON
.SET WIDTH
.SET SEPARATOR
.SET NULL AS
.SET SIDETITLES
.LOGMECH
.SET RECORDMODE
BTEQ file execution transformation
INTERSECT ALL not supported
Fix Stack Overflow due to a circular reference when top-level objects invoke each other
NOTFOUND Helpers generated when are not required
Added
Udf Helper file reorganization
Release 2.0.10 - July 19th, 2021
Updated Conversion Core 3.0.20
Fixed
Unknown custom data type is causing to comment a lot of code
CAST NULL AS INT has unnecessary Truncate
Unexpected behavior when the input path is very long
Parsing issue with MERGEBLOCKRATIO with PERCENT
Cursor naming declaration and ACTIVITY_COUNT update inside cursor
NOWAIT statement that is part of the LOOKING is causing a parsing error
Trim leading being marked with Collation warning
MSC-ISSUE was renamed to MSC-ERROR in all the reports and output code
[Stored Procedures] Improved generation of MSC comments for better readability
[Stored Procedures] The INTO function overrides the values set by the ERRORHANDLERS function
[Stored Procedures] EXIT HANDLER doesn't work properly
Added
[Stored Procedures] Helpers Code Regions, and better code organization.
EWI about procedures with out (or inout) parameters
SHOW command support
Transformation for REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_INSTR.
Release 2.0.9 - July 7th, 2021
Updated Conversion Core 3.0.17
Fixed
LEAD cannot be used as a column identifier
Stored Procedures don't handle NOT FOUND exception properly
Added
Transformation for CREATE TABLE AS
Internet connection validation for telemetry
Release 2.0.8 - July 6th, 2021
Updated Conversion Core 3.0.15
Fixed
JIS_COLL parsing error
SHOW parsing error
PERIOD FIELD conversion when a FORMAT or TITLE are attached
Functions converting to variables
Added
Support to recognize Collation Constraints
[TPT] Transform STEP node
JSON return object for Store Procedures OUT parameters
Conversion for SHOW statement to GET_DDL
Support for "--param" to set the LOG_ON environment variables
Release 2.0.7 - June 21st, 2021
Updated Conversion Core to 3.0.12
Fixed
Naming inconsistency for UDFs inserted by the Conversion Tool
Parsing error in MLOAD import
DBC.COLUMNSV is mapped to INFORMATION_SCHEMA.COLUMNS. More info here.
Parsing error of "Last valid token was 'field'}"
Export.Reset() exception in BTEQ - Python files
"free" command issue
MAC OS Big Sur issue that prevented SnowConvert from executing
Added
[Assessment Report] Count of views created by "select * from..."
Support for TRIM with CAST integer FORMAT '99'
Add warnings for unsupported functions
Release 2.0.6 - June 9, 2021
Updated Conversion Core to 3.0.11
Fixed
Generated OTHER_UDF.sql helper file has some compilation errors
Duplicated quit_application() statement in BTEQ - Python files
Extra folder created after migration in UNIX OS
Assessment Mode generates not wanted UDF files
Unbound title message in Assessment Mode GUI
Release 2.0.5 - June 7, 2021
Updated Conversion Core to 3.0.8
Added
[Assessment Report] Add table: "Data Types"
[Assessment Report] Add table: "Data Values"
[Assessment Report] Add table: "Unique Conversion Elements"
Generate stub for XMLAGG function
Conversion for REGEX_REPLACE function
Support helper for DATE conversion with JS EXEC
[TPT] Conversion percentages for most commonly used statements.
Recognize SESSION and use current_session()
New documentation about Javascript helper functions here
New internal documentation to Python helpers, more info here
Fixed
Exception serializing file in temporary folder
Transformation for CALL with DBC.SYSEXECSQL()
Several parsing errors on Stored Procedures make the Conversion Rate very low.
LIKE statement is now converted to LIKE statement in SnowFlake
[TPT] Significant reduction of parsing errors in the client's workload.
Linux CLI crash.
Release 2.0.3
Updated Conversion Core to 3.0.7
Added
[Assessment Report] Add table: "Constraint / Data Values" for Assesment.docx report
[Assessment Report] Add table: "Object naming" for Assesment.docx report
[Assessment Report] Add table: "Table Types" for Assesment.docx report
NULLS FIRST to ORDER by ASC when needed.
Identify unsupported usage of INTERVAL constant
Warning message to CREATE [SET] VOLATILE TABLE as SELECT ...
Fixed
DATE variable comparison in Javascript Snow Procedures.
Rename UDF
TIMES_DIFFERENCEto TIME_DIFFERENCEPerformance issue, JOIN operator causes throughput degradation.
WITH CHECK OPTION in view definition not supported in SnowFlake
[CodeSmells] Top priority code smells.
[TPT] Transform OPERATOR node for type DDL and UPDATE
[TPT] Transform OPERATOR node for type DATACONNECTOR PRODUCER
Some comments are getting lost during translation
Procedures not identified in TopLevelObject report nor Assessment report
Release 2.0.0
This version has breaking changes due to improvements in the SnowConvert Python Helpers
Updated Conversion Core to 3.0.0
Fixed
Fix .mload parsing IMPORT WHERE with multiple nested logical comparisons
Control flow on BTEQ scripts translation is not preserving equivalence
NOT expression in LIKE ANY statements
Fixing issue with global variables being defined twice with the Python Helpers new version.
Added
[AssessmentReport] Replace "object ratio" for "file generated ratio" in files table
[AssessmentReport] Removal of "Notes on Output Files Not Generating" from table of content when not needed.
[AssessmentReport] Add SnowConvert and ConversionCore versions to the assessment report and assessment csv.
TIMESTAMP at TIMEZONE conversion
Mapping SUBSTR function to UDF when "startPosition" is zero or negative
Identify Teradata Integer Dates and use UDF
Mapping TO_DATE function to UDF when 'format' is JULIAN (YYYYDDD).
Added conversion rate by SQL Top Level object in Dashboard.csv
Support for MLOAD IMPORT with APPLY using WHERE statements
New Python SnowConvert Helpers Version 2.0.0
The next image highlights the differences in the python generated code between versions 1.7.14 and 2.0.0.
The main differences are:
Line 7 on the right, where a new import is made for the "exec" function.
All instances of the string "snowconvert_helpers" are changed to "snowconvert.helpers".
All instances of the "execute_sql_statement" are changed to "exec".
The "exec" function (and other functions) now have the "con" parameter optional. If not passed it will use the last connection.
A "main" function is created instead of having a "try"... "except"... "finally" block, for better code organization.
More info about the changes can be found here.
Have Python code generated with an older version of SnowConvert and wish to use the new version of the helpers?
Here is what you need to do with the code:
Add this new import to your files "from snowconvert.helpers import exec".
Replace all string instances of "snowconvert_helpers" to "snowconvert.helpers".
Replace all string instances of "execute_sql_statement" to "exec".
Release 1.7.14
Updated Conversion Core to 2.0.7
Added
[Assessment Report] Explanation to tables "SQL/Scripts - Identified Objects".
[Assessment Report] Conditional generation of last's section "Notes on Output Files Not Generating".
Fixed
Error when loading files due to race conditions in a multithreading environment.
MLOAD migration issues with LAYOUT
Typo in Assessment Report.
Parsing problem with PERIOD and INTERVAL as CASE expressions.
Object Conversion Rate value not associated in Assessment Report.
Release 1.7.13
Updated Conversion Core to 2.0.6
Added
Initial setup + parsing of TPT files.
Fixed
Issue that caused integer, decimal and number datatypes to always be converted to float.
Regression, some top-level objects were not identified anymore.
Release 1.7.11
Updated Conversion Core to 2.0.4
Fixed
Crash in Linux when two files differ only by capitalization.
MLOAD .LOGOFF statement
MLOAD .END Statement Warning
Fixing an unexpected encoding crash, a new EWI was created to represent this issue (more info here).
[UX] Encoding auto-select issue when changing TimeStampt format.
Release 1.7.8
Updated Conversion Core to 2.0.2
Fixed
Crash at Step 3, Semantic Analysis of Top Level Objects.
[BTEQ] Do not introduce unnecessary TRUNC statements if not needed.
Fix parsing of CONTAINS keyword followed by an additive expression.
Table PARTITION BY Statement Issue.
[UX] Encoding auto-select issue.
Release 1.7.7
Updated Conversion Core to 2.0.0
Added
Transformation for CREATE FUNCTION syntax.
Several Assessment Report Improvements:
Adding count of procedures with IN/OUT or OUT parameters.
Adding count of views that reference more than 10 dependencies.
Adding info about "max() vs (order by) and other non-rank related window functions".
Adding info about "Float Data Aggregation".
Adding info about the "JOIN elimination" feature in Teradata.
Adding info for FUNCTIONs identified on the source code, such as count (detailed by language), conversion rate, lines of code, parsing errors, among others.
Fixed
INSTR User Defined Function parameters mismatch.
Generation of queries with LOCKING statement inside procedures.
Parsing of CONTAINS keyword followed by an additive expression.
Release 1.7.5
Updated Conversion Core to 1.11.0
Added
Top-Level Queries report generation, more info here.
Parallel CLI implementation.
Parsing for CREATE FUNCTION syntax.
Fixed
Fix stub generation Case_N in MAC OS.
Add explicit binding for Date type variables.
Symbol Loading improvements.
Release 1.7.3
Updated Conversion Core to 1.10.2
Added
Parsing and conversion support for "^" character, which is a "NOT" equivalent.
Support for Command Line Interface (CLI) on Linux Operating System.
Fixed
Preserving comments in BTEQ files.
Release 1.7.1
Fixed
Fixed a problem that caused previously activated licenses to be ignored.
Release 1.7.0
Due to an update in the licensing infrastructure, a license key re-activation might be required. This was fixed in the release 1.7.1
Updated Conversion Core to 1.10.0
Added
The BTEQ files converted to Python scripts now include a comment that indicates the compatible version of the SnowConvert Helpers, so that the person installing the PIP package can install the correct version.
Extra columns to the TopLevelObject CSV report.
Support for HEX_ENCODE function calls.
Support for timestamp difference (minus operator).
Fixed
Stub files generation improvements.
Better naming conventions for files and elements.
Added PUBLIC Schema for all stub functions.
Stub files are now generated under "UDF Helpers" folder.
[Assessment] Downgrade the dynamic SQL issue from Error to a Warning.
Release 1.6.3
Starting from this release, the SnowConvert Python Helpers will be distributed as a Python Package and will not be copied to the output folder. You can follow the instructions in this documentation page.
Conversion Core 1.9.9
Added
The SnowConvert Python Helpers are now distributed as a Python package.
Fixed
Random with bounds not converted properly
TRIM
function support Collation but errorsLTRIM
Collation Compile IssueHexadecimal character literals not converted properly
Minor issue in conversion of
PIVOT
statementFixed a false positive detection of recursive references in a Forward Alias
Fixes in the snowconvert_helpers Python package
Release 1.6.2
Conversion Core 1.9.7
Added
Added hyperlinks for each issue in the issues breakdown summary report
Added support for UNPIVOT statement
Fixed
Improved EWI classification
Fixed some INTO ? in EXEC statements not being transformed correctly
Fixed issue of Timestamp with default date
Release 1.6.1
Conversion Core 1.9.6
Added
[Assessment] Missing dependent object improvements
Support for
CREATE TABLE AS ... WITH NO DATA
Support for Teradata timezone change
EXPORT
add support for all variants
Fixed
Binding arguments are not being replaced by ? for
EXEC
callsBTEQ error recovery mechanism should consider newlines
CHARACTER
is not being mapped toLEN
for all of its variantsChange view reference for DML statements when applicable
Some comments are deleted during migration.
TIME
toINT
orNUMBER
conversion require special attention in teradataRemove
.TOISOString
from Date ArgumentsDATE
toINT
conversion require special attention in TeradataBTEQ delete all add parameter configuration
Known Issues
If you currently have the
1.5.5
version installed in macOS, you have to uninstall it and install the1.6.0
version manually.
Last updated