SnowConvert AI – Zusammenfassung der allgemeinen Konvertierung¶

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
output_folder
└> sql_file.sql
Erwartete Gesamtzahl der Dateien: 1
Erläuterung: Beim vorherigen Beispiel kommt nur die SQL-Datei für die Migration infrage, da die anderen beiden Dateien eine Erweiterung haben, die SnowConvert AI nicht erkennen kann.
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
output_folder
├> ddl_file.ddl
├> dml_file.dml
├> sql_file.sql
└> bteq_file_BTEQ.py
Erwartete SQL-Dateien: 3
Erläuterung: In diesem Fall werden die drei Dateien mit den Erweiterungen DDL, DML und SQL als erkannt SQL-Dateien erkannt. Andere Erweiterungen werden für SQL-Dateien nicht mitgezählt. Teradata-Skriptdateien werden für SQL-Dateien nicht mitgezählt. Diese werden zu den Skriptdateien gezählt.
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
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
Erwartete Skriptdateien: 6
Erläuterung: In diesem Fall werden die sechs Dateien mit Skript-Dateierweiterungen als Skriptdateien erkannt. Die beiden Erweiterungen für die zuvor erwähnten BTEQ-Dateien werden mitgezählt, die SQL-Datei wird aber nicht berücksichtigt, da es sich um eine SQL-Datei handelt.
Total Files Not Generated¶
Stellt die Anzahl der unter der Eingabeadresse gefundenen Dateien dar, die aufgrund eines Fehlers in SnowConvert AI nicht die migrierte Ausgabedatei generieren konnte.
Name des zugeordneten CSV-Feldes¶
TotalFilesNotGenerated
Beispiel¶
input_folder
├> input1.sql
├> input2.sql
└> input3.sql
output_folder
├> input1.sql
└> input2.sql
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
Name des zugeordneten CSV-Feldes¶
ConversionSpeed
Beispiel¶
CREATE TABLE table1(
column1 INT,
column2 INT
column3 INT
);
CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
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¶
Stellt die Dauer der SnowConvert AI-Migration dar.
Name des zugeordneten CSV-Feldes¶
ElapsedTime
Total Conversion Errors¶
Die Gesamtzahl der Konvertierungsfehler, die während des Konvertierungsprozesses aufgetreten sind. Diese Art von Fehler kann im Zusammenhang mit der E/A von Dateien, der Arbeitsspeicherverwaltung oder einer ungewöhnlichen Situation stehen, die von SnowConvert AI nicht behandelt werden kann. Dies sind unbehandelte Codeausnahmen und gelten als kritische Probleme.
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;
-- 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
;
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¶
Die Gesamtzahl der Warnungen, die SnowConvert AI für die Eingabe generiert. Es wird eine Warnung eingefügt, wenn die Übersetzung eines bestimmten Elements weitgehend funktional gleichwertig ist, es jedoch einige Sonderfälle gibt, in denen möglicherweise ein Eingreifen der Benutzenden erforderlich ist. Sie haben einen geringen Schweregrad, da sie Informationen bereitstellen sollen, die überprüft werden können, wenn der Code bei der Ausführung auf der Zielplattform einen funktionalen Unterschied aufweist.
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)
);
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"}}'
;
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;
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.