SnowConvert: 对象转换摘要¶
已识别的对象¶
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
);
-- 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
--)
;
预期的已识别对象:2
解释: table1
未出现解析错误;table2
虽存在解析错误,但解析器仍能将其识别为表对象,因此两者均计入已识别对象;table3
存在解析错误,导致其无法由解析器识别,因此不计入已识别对象。
对象转换率¶
已识别对象中完全转换的对象的百分比
公式¶
(identify_objects_converted_succesfully / total_identify_objects) * 100
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;
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"}}'
;
预期对象转换率:66.66%
解释: 在此示例中,我们有 3 个语句,所有语句都被识别为对象,但只有 table1
和 view1
的转换率为 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"}}'
;
预期的完全转换对象:2
解释: 在此示例中,我们有 3 个语句,所有语句都被识别为对象,但只有 table1
和 view1
的转换率为 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;
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;
预期无法识别的元素:1
解释: 在此示例中,我们有 2 个语句,table1 被成功识别为对象,另一方面,view1 存在解析错误,这意味着无法将视图识别为对象,因为此 SnowConvert 报告 1 个无法识别的对象。
无法识别的元素中的代码行数¶
表示无法识别的元素中的行数。
CSV 关联的字段名称¶
UnrecognizedElementsLOC
示例¶
CREATE TABLE table1(
column1 INT,
column2 INT
);
CREATE VIEWW view1 AS
SELECT orderkey
FROM orders;
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;
无法识别的元素中的预期代码行数: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==
/
----** 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==
无法识别的元素中的预期代码行数:1
解释: 该过程被声明为封装对象,因此计入封装对象。