SnowConvert AI - Overall Conversion Summary¶
Nombre total de fichiers¶
Représente le nombre de fichiers détectés dans l’adresse d’entrée et qui ont été migrés avec succès par SnowConvert.
CSV : Nom du champ associé¶
TotalFiles
Exemple¶
input_folder
├> sql_file.sql
├> notes.txt
└> views.csv
output_folder
└> sql_file.sql
Nombre total de fichiers attendus : 1
Explanation: With the previous sample, we will only have the SQL file as valid for migration, as the other two files have an extension that SnowConvert AI cannot recognize.
Fichiers SQL¶
Note
Ce champ ne s’applique qu’aux rapports Teradata.
Il s’agit du nombre de fichiers détectés dans le dossier d’entrée dont l’extension est .sql, .ddl ou .dml.
CSV : Nom du champ associé¶
SqlFileCount
Exemple¶
input_folder
├> ddl_file.ddl
├> dml_file.dml
├> sql_file.sql
├> other_file.ignore
└> bteq_file.bteq
output_folder
├> ddl_file.ddl
├> dml_file.dml
├> sql_file.sql
└> bteq_file_BTEQ.py
Fichiers SQL attendus : 3
Explanation: In this case, the 3 files with extensions DDL, DML, and SQL are recognized as SQL Files. Other extensions are not counted for SQL Files. Teradata script files are not counted for SQL files, those are counted for Script files.
Fichiers de script¶
Note
Ce champ ne s’applique qu’aux rapports Teradata.
Il s’agit du nombre de fichiers du dossier d’entrée qui sont du type suivant :
BTEQ : .bteq, .btq
FastLoad : .fload, .fl
MultiLoad : .mload, .mld, ml
TPump : .tpump, .tp
TPT : .tpt
CSV : Nom du champ associé¶
ScriptFileCount
Exemple¶
input_folder
├> bteq_file.bteq
├> btq_file.btq
├> fload_file.fload
├> mload_file.mload
├> sql_file.sql
├> tpt_file.tpt
└> tpump_file.tpump
output_folder
├> bteq_file_BTEQ.py
├> btq_file_BTEQ.py
├> fload_file_FastLoad.py
├> mload_file_MultiLoad.py
├> sql_file.sql
├> tpt_file_TPT.py
└> tpump_file_TPump.py
Fichiers de script attendus : 6
Explanation: In this case, the 6 files with extensions with Script file extensions are recognized as Script Files. The 2 extensions for BTEQ files previously mentioned are counted but the SQL file is not counted because it is a SQL File.
Nombre total de fichiers non générés¶
Represents the number of files found in the input address that, because of a failure in SnowConvert AI, failed to generate the migrated output file.
CSV : Nom du champ associé¶
TotalFilesNotGenerated
Exemple¶
input_folder
├> input1.sql
├> input2.sql
└> input3.sql
output_folder
├> input1.sql
└> input2.sql
Nombre total de fichiers non générés attendu : 1
Explication :
Vitesse de conversion¶
Représente le nombre de lignes traitées par seconde pendant la migration.
Formule¶
total_lines_of_code / conversion_time
CSV : Nom du champ associé¶
ConversionSpeed
Exemple¶
CREATE TABLE table1(
column1 INT,
column2 INT
column3 INT
);
CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Vitesse de conversion attendue : 4 lignes/seconde
Explication : Supposons que le temps d’exécution de l’exemple était de 2 secondes, compte tenu du fait que le nombre de lignes est de 8. En appliquant la formule 8/2 = 4, la vitesse de conversion est donc de 4 lignes par seconde.
Temps de conversion¶
Represents the duration of SnowConvert AI’s migration.
CSV : Nom du champ associé¶
ElapsedTime
Nombre total d’erreurs de conversion¶
The total count of conversion errors that occurred during the conversion process. This type of error could be related to file I/O, memory management, or any abnormal situation that cannot be handled by SnowConvert AI. These are unhandled code exceptions and are considered critical issues.
CSV : Nom du champ associé¶
TotalConversionErrors
Nombre total d’erreurs d’analyse¶
Nombre total d’erreurs d’analyse qui se sont produites au cours du processus d’analyse du code. Une erreur d’analyse se produit lorsque l’analyseur (le composant qui lit les fichiers de code source) rencontre un événement inattendu. Il s’agit généralement d’une erreur de syntaxe, c’est-à-dire d’un élément de code dans le fichier qui ne correspond pas à la spécification grammaticale SQL attendue par l’analyseur. Dans d’autres cas, ces erreurs peuvent également se produire car l’analyseur n’est pas encore prêt à prendre en charge une grammaire spécifique. Les erreurs d’analyse sont également considérées comme des problèmes critiques. Si ce nombre est élevé par rapport à la taille de la charge de travail de migration, une révision du code d’entrée est conseillée.
CSV : Nom du champ associé¶
TotalParsingErrors
Exemple¶
-- Statement without parsing error
CREATE TABLE table1(
column1 INT,
column2 INT
);
-- Statements with parsing error
CRATE TABLE table2(
column1 INT
);
CREATE VIEW view1 AS
SELECT orderkey
FROM FROM orders;
-- Statement without parsing error
CREATE OR REPLACE TABLE table1 (
column1 INT,
column2 INT
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
;
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '8' COLUMN '1' OF THE SOURCE CODE STARTING AT 'CRATE'. EXPECTED 'STATEMENT' GRAMMAR. LAST MATCHING TOKEN WAS 'CRATE' ON LINE '8' COLUMN '1'. CODE '81'. **
---- Statements with parsing error
--CRATE TABLE table2(
-- column1 INT
--)
;
--** SSC-FDM-0007 - MISSING DEPENDENT OBJECT "orders" **
CREATE OR REPLACE VIEW view1
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
AS
SELECT
orderkey
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '14' COLUMN '1' OF THE SOURCE CODE STARTING AT 'FROM'. EXPECTED 'FROM' GRAMMAR. LAST MATCHING TOKEN WAS 'FROM' ON LINE '14' COLUMN '1'. FAILED TOKEN WAS 'FROM' ON LINE '14' COLUMN '6'. CODE '44'. **
--FROM
;
Nombre total d’erreurs d’analyse attendu : 2
Explication : La première table présentée ne comporte pas d’erreur d’analyse, sa grammaire est parfaitement correcte ; mais les deux instructions suivantes présentent des erreurs d’analyse en raison d’un problème grammatical, comme la deuxième table dont la commande CREATE
comporte une faute d’orthographe, ou le terme FROM
en double de la commande SELECT
de la vue.
Nombre total d’avertissements¶
The total count of warnings that SnowConvert AI generated for the given input. A warning is inserted when the translation of a specific element is mostly functionally equivalent but there are some corner cases in which some user intervention might be required. They have low severity because their intention is to provide information that can be reviewed if the code shows any kind of functional difference when executed on the target platform.
CSV : Nom du champ associé¶
TotalWarnings
Exemple¶
CREATE TABLE table1(
COL1 SYS.XMLTYPE
);
SELECT TIMESTAMP '1998-12-25 09:26:50.12' AT LOCAL
FROM DUAL;
CREATE TABLE table2(
INTERVAL_YEAR_TYPE INTERVAL YEAR(2)
);
CREATE OR REPLACE TABLE table1 (
COL1 SYS.XMLTYPE
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
SELECT
TIMESTAMP '1998-12-25 09:26:50.12'
FROM
DUAL;
CREATE OR REPLACE TABLE table2 (
INTERVAL_YEAR_TYPE VARCHAR(21) !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - INTERVAL YEAR(2) DATA TYPE CONVERTED TO VARCHAR ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Nombre total d’avertissements attendu : 3
Explication : Dans le dernier exemple, un type d’avertissement est indiqué dans les trois instructions.
Nombre total de lignes de code (LOC)¶
Le nombre total de lignes de code dans les fichiers d’entrée, qui ont été traitées par l’outil de conversion.
Note
Les lignes vierges ne sont pas comptées.
CSV : Nom du champ associé¶
TotalLinesOfCode
Exemple¶
CREATE TABLE table1(
column1 INT
);
-- Create View
CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Nombre total de lignes de code attendu (LOC) : 8
Explication : Bien que le fichier indique 10 lignes, les lignes de code valides sont au nombre de 8, car les lignes vierges ne sont pas comptées.