SnowConvert AI - Overall Conversion Summary

Oracle 评估报告的总体转换摘要部分

文件总数

表示在输入地址中发现并由 SnowConvert 成功迁移的文件数量。

CSV 关联的字段名称

  • TotalFiles

示例

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

预期的文件总数: 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 文件

备注

此字段仅适用于 Teradata 报告。

这是在输入文件夹中检测到的扩展名为 .sql、.ddl 或 .dml 的文件数。

CSV 关联的字段名称

  • SqlFileCount

示例

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

预期的 SQL 文件数量: 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.

脚本文件

备注

此字段仅适用于 Teradata 报告。

这是输入文件夹中属于以下类型的文件数:

  • BTEQ**:.bteq、.btq

  • FastLoad: .fload、.fl

  • MultiLoad: .mload、.mld、ml

  • TPump: .tpump、.tp

  • TPT: .tpt

CSV 关联的字段名称

  • ScriptFileCount

示例

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

预期的脚本文件数量: 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.

未生成的文件总数

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 关联的字段名称

  • TotalFilesNotGenerated

示例

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

预计未生成的文件总数: 1

解释:

转换速度

表示迁移期间每秒钟处理的行数。

公式

total_lines_of_code / conversion_time
Copy

CSV 关联的字段名称

  • ConversionSpeed

示例

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

CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Copy

预期的转换速度:4 行/秒

解释: 假设该示例的执行时间为 2 秒,考虑到代码总行数为 8 行。应用公式 8/2 = 4,因此转换速度为每秒 4 行。

转换时间

Represents the duration of SnowConvert AI's migration.

CSV 关联的字段名称

  • ElapsedTime

转换错误总数

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 关联的字段名称

  • TotalConversionErrors

解析错误总数

代码分析过程中发生的解析错误总数。当解析器(读取源代码文件的组件)遇到意外情况时,就会发生解析错误。这通常意味着语法错误,即文件中的某个代码元素不符合解析器预期的 SQL 语法规范。在其他情况下,这些错误的发生也可能是因为解析器尚未支持某种特定语法。解析错误也被视为严重问题。如果该数字相对于迁移工作负载大小而言偏高,则建议修改输入代码。

CSV 关联的字段名称

  • TotalParsingErrors

示例

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

预期的解析错误总数:2

解释: 展示的第一个表没有解析错误,所有语法均正确,但接下来的两个语句由于存在语法问题而出现解析错误,例如第二个表显示 CREATE 有拼写错误,又如视图的 SELECT 语句中出现重复的 FROM

警告总数

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 关联的字段名称

  • TotalWarnings

示例

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

预期的警告总数:3

解释: 在最后的示例中,三个语句中都包含一种类型的警告。

总代码行数 (LOC)

输入文件中被转换工具处理的代码总行数。

备注

空白行不计入内。

CSV 关联的字段名称

  • TotalLinesOfCode

示例

CREATE TABLE table1(
 column1 INT
);

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

预期的总代码行数 (LOC):8

解释: 尽管文件显示有 10 行,但有效代码行为 8 行,因为空白行不计入内。

语言: 中文