2021
Details about the releases of Snowflake SnowConvert for Teradata during 2021.
Last updated
Details about the releases of Snowflake SnowConvert for Teradata during 2021.
Last updated
This is a deprecated version of the SnowConvert documentation, please visit the official site .
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
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
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
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
Generation of HTML assessment report
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
Authenticator parameter in python helpers connection method
Support for special Teradata MERGE syntax
Parsing support for SEQUENCED and NONSEQUENCED VALIDTIME clauses
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
to varchar(1)
in VIEWs definition.
Updated Conversion Core 3.1.6
Fixed
Incorrect migration forQUERY TAG
statements.
Stack overflow caused by VIEWs containing parameters with the same name as columns of the SELECT.
Added
Support for file extensions.ddl
and .dml
, they are treated like any other.sql
file, but the original extension is preserved.
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
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
Fixed
The confirmation pop-up window for canceling the migration process is not displayed correctly.
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
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
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.
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
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
Naming inconsistency for UDFs inserted by the Conversion Tool
Parsing error in MLOAD import
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
[Assessment Report] Count of views created by "select * from..."
Support for TRIM with CAST integer FORMAT '99'
Add warnings for unsupported functions
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
[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()
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.
[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 ...
DATE variable comparison in Javascript Snow Procedures.
Rename UDF TIMES_DIFFERENCE to TIME_DIFFERENCE
Performance 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
This version has breaking changes due to improvements in the SnowConvert Python Helpers
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.
[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
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.
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".
[Assessment Report] Explanation to tables "SQL/Scripts - Identified Objects".
[Assessment Report] Conditional generation of last's section "Notes on Output Files Not Generating".
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.
Initial setup + parsing of TPT files.
Issue that caused integer, decimal and number datatypes to always be converted to float.
Regression, some top-level objects were not identified anymore.
Crash in Linux when two files differ only by capitalization.
MLOAD .LOGOFF statement
MLOAD .END Statement Warning
[UX] Encoding auto-select issue when changing TimeStampt format.
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.
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.
INSTR User Defined Function parameters mismatch.
Generation of queries with LOCKING statement inside procedures.
Parsing of CONTAINS keyword followed by an additive expression.
Parallel CLI implementation.
Parsing for CREATE FUNCTION syntax.
Fix stub generation Case_N in MAC OS.
Add explicit binding for Date type variables.
Symbol Loading improvements.
Parsing and conversion support for "^" character, which is a "NOT" equivalent.
Support for Command Line Interface (CLI) on Linux Operating System.
Preserving comments in BTEQ files.
Fixed a problem that caused previously activated licenses to be ignored.
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
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).
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.
Random with bounds not converted properly
TRIM
function support Collation but errors
LTRIM
Collation Compile Issue
Hexadecimal character literals not converted properly
Minor issue in conversion of PIVOT
statement
Fixed a false positive detection of recursive references in a Forward Alias
Fixes in the snowconvert_helpers Python package
Added hyperlinks for each issue in the issues breakdown summary report
Added support for UNPIVOT statement
Improved EWI classification
Fixed some INTO ? in EXEC statements not being transformed correctly
Fixed issue of Timestamp with default date
[Assessment] Missing dependent object improvements
Support for CREATE TABLE AS ... WITH NO DATA
Support for Teradata timezone change
EXPORT
add support for all variants
Binding arguments are not being replaced by ? for EXEC
calls
BTEQ error recovery mechanism should consider newlines
CHARACTER
is not being mapped to LEN
for all of its variants
Change view reference for DML statements when applicable
Some comments are deleted during migration.
TIME
to INT
or NUMBER
conversion require special attention in teradata
Remove .TOISOString
from Date Arguments
DATE
to INT
conversion require special attention in Teradata
BTEQ delete all add parameter configuration
If you currently have the 1.5.5
version installed in macOS, you have to uninstall it and install the 1.6.0
version manually.
Improvements to preprocessing scripts, more info
Python helpers technical
Python helpers logging improvements described
Support for PERIOD and END functions along with a new for period-related types/functions
Minor UI updates (some colors changed, and buttons placement). New images are displayed in the section.
Implicit conversions for numeric/dates parameters for several functions. More information can be found in the that is generated for non-literal cases.
Warning for possible compilation errors in Snowflake when using subqueries in OUTER JOIN statements. More info can be found on the
New Logo for SnowConvert and minor UI update (some colors changed). New images are displayed in the section.
Stored-Procedure-Tags feature, to recognize each converted component, for more information about how to use it in the UI check or in the CLI check .
DBC.COLUMNSV is mapped to INFORMATION_SCHEMA.COLUMNS. More info .
New documentation about Javascript helper functions
New internal documentation to Python helpers, more info
More info about the changes can be found .
Fixing an unexpected encoding crash, a new EWI was created to represent this issue (more info ).
Feature to disable EWI comments generation on transformed code (Errors, Warnings, and Issues), this new option is available in both CLI (more info ) and UI (more info ).
Top-Level Queries report generation, more info .
The SnowConvert Python Helpers are now distributed as a .