SnowConvert: 对象转换摘要

Sql 评估报告的“对象转换摘要”部分

已识别的对象

SnowConvert 识别的所有顶级 DDL 对象(表、视图、过程等)的数量。如果某个对象出现解析错误,使其无法识别,则该对象就不是已识别的对象。

CSV 关联的字段名称

  • TotalIdentifiedObjects

示例

-- Statement without parsing error
CREATE TABLE table1(
     column1 INT,
     column2 INT
);

-- Statements with parsing error
CREATE TABLE table2(
     column1 INT,
     column2 INT INT
);

CRATE TABLE table3(
     column1 INT
);
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"}}'
;

-- Statements with parsing error
CREATE OR REPLACE TABLE table2 (
     column1 INT
--                ,
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '10' COLUMN '6' OF THE SOURCE CODE STARTING AT 'column2'. EXPECTED 'Column Definition' GRAMMAR. LAST MATCHING TOKEN WAS 'INT' ON LINE '10' COLUMN '14'. CODE '15'. **
--     column2 INT INT
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
;

-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '13' COLUMN '1' OF THE SOURCE CODE STARTING AT 'CRATE'. EXPECTED 'STATEMENT' GRAMMAR. LAST MATCHING TOKEN WAS 'CRATE' ON LINE '13' COLUMN '1'. CODE '81'. **
--CRATE TABLE table3(
--     column1 INT
--)
 ;
Copy

预期的已识别对象:2

解释: table1 未出现解析错误;table2 虽存在解析错误,但解析器仍能将其识别为表对象,因此两者均计入已识别对象;table3 存在解析错误,导致其无法由解析器识别,因此不计入已识别对象。

对象转换率

已识别对象中完全转换的对象的百分比

公式

(identify_objects_converted_succesfully / total_identify_objects) * 100
Copy

CSV 关联的字段名称

  • ObjectConversionRate

示例

CREATE TABLE table1(
     column1 INT,
     column2 INT
);

CREATE VIEW view1 AS
SELECT orderkey
FROM orders;

CREATE TABLE table2(
     COLNAME VARCHAR(20)
)
ON COMMIT PRESERVE ROWS;
Copy
CREATE OR REPLACE TABLE table1 (
     column1 INT,
     column2 INT
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

--** 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
FROM
     orders;

CREATE TABLE OR REPLACE table2 (
COLNAME VARCHAR(20)
)
--     --** SSC-FDM-0008 - ON COMMIT NOT SUPPORTED **
--     ON COMMIT PRESERVE ROWS
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Copy

预期对象转换率:66.66%

解释: 在此示例中,我们有 3 个语句,所有语句都被识别为对象,但只有 table1view1 的转换率为 100%。table3 有一个错误警告,这意味着该表的转换率不是 100%,因此 3 个语句中只有 2 个算作完全转换的对象。

完全转换的对象

成功转换(意味着对象的转换率为 100%)的识别对象的数量。

CSV 关联的字段名称

  • ObjectsSuccessfullyConverted

示例

CREATE TABLE table1(
     column1 INT,
     column2 INT
);

CREATE VIEW view1 AS
SELECT orderkey
FROM orders;

CREATE TABLE table2(
     COLNAME VARCHAR(20)
)
ON COMMIT PRESERVE ROWS;```

```{code} sql
:force: 
CREATE OR REPLACE TABLE table1 (
     column1 INT,
     column2 INT
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

CREATE OR REPLACE VIEW view1
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
AS
SELECT
     orderkey
FROM
     orders;

CREATE OR REPLACE TABLE table2 (
COLNAME VARCHAR(20)
)
--     --** SSC-FDM-0008 - ON COMMIT NOT SUPPORTED **
--     ON COMMIT PRESERVE ROWS
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Copy

预期的完全转换对象:2

解释: 在此示例中,我们有 3 个语句,所有语句都被识别为对象,但只有 table1view1 的转换率为 100%。table3 有一个错误警告,这意味着该表的转换率不是 100%,因此 3 个语句中只有 2 个算作完全转换的对象。

无法识别的元素

表示存在 SnowConvert 无法处理的解析错误的任何代码元素(或其中的一部分),例如 DML、DDL、控制语句。

CSV 关联的字段名称

  • UnrecognizedElements

示例

CREATE TABLE table1(
     column1 INT,
     column2 INT
);

CREATE VIEWW view1 AS
SELECT orderkey
FROM orders;
Copy
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 '6' COLUMN '1' OF THE SOURCE CODE STARTING AT 'CREATE'. EXPECTED 'STATEMENT' GRAMMAR. LAST MATCHING TOKEN WAS 'CREATE' ON LINE '6' COLUMN '1'. CODE '81'. **
--CREATE VIEWW view1 AS
--SELECT orderkey
--FROM orders;
Copy

预期无法识别的元素:1

解释: 在此示例中,我们有 2 个语句,table1 被成功识别为对象,另一方面,view1 存在解析错误,这意味着无法将视图识别为对象,因为此 SnowConvert 报告 1 个无法识别的对象。

无法识别的元素中的代码行数

表示无法识别的元素中的行数。

CSV 关联的字段名称

  • UnrecognizedElementsLOC

示例

CREATE TABLE table1(
     column1 INT,
     column2 INT
);

CREATE VIEWW view1 AS
SELECT orderkey
FROM orders;
Copy
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 '6' COLUMN '1' OF THE SOURCE CODE STARTING AT 'CREATE'. EXPECTED 'STATEMENT' GRAMMAR. LAST MATCHING TOKEN WAS 'CREATE' ON LINE '6' COLUMN '1'. CODE '81'. **
--CREATE VIEWW view1 AS
--SELECT orderkey
--FROM orders;
Copy

无法识别的元素中的预期代码行数:3

解释: 元素 view1 是无法识别的元素,这意味着与该元素相关的行计入无法识别的元素中的代码行数。

封装对象

表示源输入代码中存在的封装对象的数量

备注

此字段仅适用于 Oracle 报告。

CSV 关联的字段名称

  • WrappedObjects

示例

CREATE OR REPLACE PROCEDURE PROC123 wrapped
a000000
b2
abcd
abcd
abcd
abcd
abcd
abcd
7
5f 9a
s25TmlGXjM9M+sFyW30UiYolBNowg6Rff8upynSmTEOUpAF/NYAbDvDIFsjmTDq1lhTLv74p
xZxnFllpF1iGaIfGOejm9divodC9qOeCQyIa89b2l+uNwqOzJHmOKVySIoi/l9IooFyJs9Es
FQyI4Q==

/
Copy
----** SSC-OOS - OUT OF SCOPE CODE UNIT. Wrapped PROCEDURE IS OUT OF TRANSLATION SCOPE. **
--CREATE OR REPLACE PROCEDURE PROC123 wrapped
--a000000
--b2
--abcd
--abcd
--abcd
--abcd
--abcd
--abcd
--7
--5f 9a
--s25TmlGXjM9M+sFyW30UiYolBNowg6Rff8upynSmTEOUpAF/NYAbDvDIFsjmTDq1lhTLv74p
--xZxnFllpF1iGaIfGOejm9divodC9qOeCQyIa89b2l+uNwqOzJHmOKVySIoi/l9IooFyJs9Es
--FQyI4Q==
Copy

无法识别的元素中的预期代码行数:1

解释: 该过程被声明为封装对象,因此计入封装对象。

语言: 中文