SnowConvert AI - Overall Conversion Summary

Der Abschnitt „Overall Conversion Summary“ des Bewertungsberichts für Oracle

Total Files

Stellt die Anzahl der Dateien dar, die in der Eingabeadresse entdeckt wurden und von SnowConvert erfolgreich migriert wurden.

Name des zugeordneten CSV-Feldes

  • TotalFiles

Beispiel

input_folder
   ├> sql_file.sql
   ├> notes.txt
   └> views.csv
Copy
output_folder
   └> sql_file.sql
Copy

Erwartete Gesamtzahl der Dateien: 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.

SQL Files

Bemerkung

Dieses Feld gilt nur für Teradata-Berichte.

Dies ist die Anzahl der im Eingabeordner gefundenen Dateien mit der Erweiterung .sql, .ddl oder .dml.

Name des zugeordneten CSV-Feldes

  • SqlFileCount

Beispiel

input_folder
    ├> ddl_file.ddl
    ├> dml_file.dml
    ├> sql_file.sql
    ├> other_file.ignore
    └> bteq_file.bteq
Copy
output_folder
    ├> ddl_file.ddl
    ├> dml_file.dml
    ├> sql_file.sql
    └> bteq_file_BTEQ.py
Copy

Erwartete SQL-Dateien: 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.

Skriptdateien

Bemerkung

Dieses Feld gilt nur für Teradata-Berichte.

Dies ist die Anzahl der Dateien im Eingabeordner, die vom folgenden Typ sind:

  • BTEQ: .bteq, .btq

  • FastLoad: .fload, .fl

  • MultiLoad: .mload, .mld, ml

  • TPump: .tpump, .tp

  • TPT: .tpt

Name des zugeordneten CSV-Feldes

  • ScriptFileCount

Beispiel

input_folder
    ├> bteq_file.bteq
    ├> btq_file.btq
    ├> fload_file.fload
    ├> mload_file.mload
    ├> sql_file.sql
    ├> tpt_file.tpt
    └> tpump_file.tpump
Copy
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
Copy

Erwartete Skriptdateien: 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.

Total Files Not Generated

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.

Name des zugeordneten CSV-Feldes

  • TotalFilesNotGenerated

Beispiel

input_folder
   ├> input1.sql
   ├> input2.sql
   └> input3.sql
Copy
output_folder
   ├> input1.sql
   └> input2.sql
Copy

Erwartete Gesamtzahl nicht generierter Dateien: 1

Erläuterung:

Conversion Speed

Stellt die Anzahl der Zeilen dar, die während der Migration pro Sekunde verarbeitet werden.

Formel

total_lines_of_code / conversion_time
Copy

Name des zugeordneten CSV-Feldes

  • ConversionSpeed

Beispiel

CREATE TABLE table1(
     column1 INT,
     column2 INT
     column3 INT
);

CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Copy

Erwartete Konvertierungsgeschwindigkeit: 4 Zeilen/Sek.

Erläuterung: Nehmen wir an, dass die Ausführungszeit des Beispiels 2 Sekunden betrug, wenn man berücksichtigt, dass die Anzahl der Zeilen 8 beträgt. Nach der Formel 8/2 = 4 beträgt die Konvertierungsgeschwindigkeit also 4 Zeilen pro Sekunde.

Conversion Time

Represents the duration of SnowConvert AI’s migration.

Name des zugeordneten CSV-Feldes

  • ElapsedTime

Total Conversion Errors

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.

Name des zugeordneten CSV-Feldes

  • TotalConversionErrors

Total Parsing Errors

Die Gesamtzahl der Parsing-Fehler, die während der Codeanalyse aufgetreten sind. Ein Parsing-Fehler tritt auf, wenn der Parser (die Komponente, die die Quellcodedateien liest) auf etwas Unerwartetes stößt. Dies bedeutet in der Regel einen Syntaxfehler, der sich auf ein Codeelement in der Datei bezieht, das nicht der SQL-Grammatikspezifikation entspricht, die der Parser erwartet hat. In anderen Fällen können diese Fehler auch auftreten, weil der Parser noch nicht bereit ist, eine bestimmte Grammatik zu unterstützen. Parsing-Fehler werden ebenfalls als kritisch angesehen. Wenn diese Zahl im Verhältnis zur Größe der Migrations-Workload hoch ist, wird eine Überarbeitung des Eingabecodes empfohlen.

Name des zugeordneten CSV-Feldes

  • TotalParsingErrors

Beispiel

-- 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;
Copy
-- 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
    ;
Copy

Erwartete Parsing-Fehler insgesamt: 2

Erläuterung: Die erste Tabelle weist keinen Parsing-Fehler auf, die gesamte Grammatik ist korrekt, aber die beiden folgenden Anweisungen weisen Parsing-Fehler auf, weil sie ein Grammatikproblem aufweisen, wie die zweite Tabelle, bei der die CREATE-Anweisung einen Rechtschreibfehler aufweist, oder das doppelte FROM in der SELECT-Anweisung der Ansicht.

Total Warnings

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.

Name des zugeordneten CSV-Feldes

  • TotalWarnings

Beispiel

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)
);
Copy
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"}}'
;
Copy

Gesamtzahl der erwarteten Warnungen: 3

Erläuterung: Im letzten Beispiel gibt es in allen drei Anweisungen einen Warnungstyp.

Total Lines of Code (LOC)

Die Gesamtzahl der Codezeilen in den Eingabedateien, die von dem Konvertierungstool verarbeitet wurden.

Bemerkung

Leere Zeilen werden nicht gezählt.

Name des zugeordneten CSV-Feldes

  • TotalLinesOfCode

Beispiel

CREATE TABLE table1(
 column1 INT
);

-- Create View
CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Copy

Erwartete Gesamtanzahl von Codezeilen (LOC): 8

Erläuterung: Obwohl die Datei 10 Zeilen enthält, sind 8 Codezeilen gültig, da Leerzeilen nicht mitgezählt werden.