SnowConvert AI - Understanding Converted Code

定义

SnowConvert AI produces messages in the converted code that highlight areas requiring additional work to ensure the code functions correctly in Snowflake.

EWI(错误、警告和问题)

When SnowConvert AI cannot completely convert a code segment, it generates an Error, Warning, and Issue (EWI) message. Each EWI negatively affects the conversion rate of a code unit. Here are the common reasons why SnowConvert AI might not fully convert code:

  • 尚未创建所需转换规则
  • 缺少保证转换规则生效所需的依赖代码
  • Snowflake 中没有等效语句,或者尚未开发用户定义函数 (UDF) 来提供所需功能

SnowConvert AI adds a !!!RESOLVE EWI!!! marker before each EWI (Error, Warning, and Issue) message. This marker causes compilation to fail, ensuring that developers address these issues before deploying the converted code.

The SnowConvert AI team categorizes EWIs (Errors, Warnings, and Issues) into four severity levels based on the average effort required to fix the code:

  • 关键

FDM(功能差异消息)

将代码从传统平台(例如 Teradata、Oracle 或 SQL Server)转换到 Snowflake 时,必须了解这些系统具有不同的特性和功能。由于这些差异,自动转换可能无法提供完全等效的功能,通常需要手动干预来弥合这些差距。

A Functional Difference Message (FDM) appears when SnowConvert AI successfully converts code that compiles correctly but may not function exactly like the original source code. This can happen when Snowflake doesn’t support certain features from the source platform. Resolving these differences often requires business decisions or architectural changes beyond simple code conversion. Since FDMs are added as comments to working code, they don’t affect the code’s ability to compile.

PRF(性能审查)

这些警告消息会添加到转换后代码中,以告知用户尽管代码已正确转换,但在某些情况下可能无法达到最佳性能。为了在 Snowflake 中获得最佳性能,可能需要作出部分代码修改。

OOS(超出范围)

As explained in the conversion scope page and the out of scope messages section, certain code units cannot be automatically converted. SnowConvert AI will generate messages to inform users when a code unit has not been converted.


新代码格式

We have updated the format of Error, Warning, and Issue (EWI) messages to be more user-friendly. The new format makes it easier to identify both the message type and the programming language it relates to. Below, we’ll explain these changes with examples.

通用

General Errors, Warnings, and Issues (EWIs) that do not correspond to any specific programming language supported by SnowConvert AI will no longer use the code 1000. Instead, these EWIs will be identified by the absence of a language-specific abbreviation.

示例

新代码旧代码
SSC-EWI-0001MSCEWI1001

Teradata

Teradata Errors, Warnings, and Issues (EWIs) previously used codes starting with 2000. Now, these codes will begin with ‘TD’ followed by the numeric portion.

示例

新代码旧代码
SSC-EWI-TD0001MSCEWI2001

Oracle

Oracle Errors, Warnings, and Issues (EWIs) previously used codes starting with 3000. Now, these codes will begin with ‘OR’ followed by the numeric portion of the code.

示例

新代码旧代码
SSC-EWI-OR0012MSCEWI3012

SQL Server

SQL Server Errors, Warnings, and Issues (EWIs) codes have been updated. Previously, these codes started with 2000. Now, they begin with ‘TS’ followed by a numeric value.

示例

新代码旧代码
SSC-EWI-TS0003MSCEWI4003

类别已更改为 FDM

方言新代码旧代码
通用SSC-FDM-0001MSCINF0001
通用SSC-FDM-0002MSCINF0002
通用SSC-FDM-0003MSCINF0003
通用SSC-FDM-0004MSC-GP0001
通用SSC-FDM-0005MSCEWI1096
通用SSC-FDM-0006MSCEWI1066
通用SSC-FDM-0007MSCEWI1050
通用SSC-FDM-0008MSCEWI1093
通用SSC-FDM-0009MSCCP0002
通用SSC-FDM-0010MSCEWI1044
通用SSC-FDM-0011MSCEWI1045
通用SSC-FDM-0012MSCEWI1097
通用SSC-FDM-0013MSCEWI1008
通用SSC-FDM-0014MSCEWI1035
通用SSC-FDM-0015MSCEWI1064
通用SSC-FDM-0016MSCEWI1076
通用SSC-FDM-0022MSCEWI1072
通用SSC-FDM-0023SSC-EWI-0049
通用SSC-FDM-0024MSCEWI1058
通用SSC-FDM-0026MSCEWI1028
通用SSC-FDM-0029SSC-EWI-0068
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0012MSCEWI2004
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0015MSCEWI2020
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0018MSCEWI2063
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
TeradataSSC-FDM-TD0026SSC-EWI-TD0087
TeradataSSC-FDM-TD0027MSCEWI2061
TeradataSSC-FDM-TD0028MSCEWI2060
TeradataSSC-FDM-TD0029SSC-EWI-TD0055
TeradataSSC-FDM-TD0030SSC-EWI-TD0070
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0002MSCEWI3068
OracleSSC-FDM-OR0003MSCEWI3038
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0008MSCEWI3071
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0028MSCEWI3031
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0037MSCEWI3004
OracleSSC-FDM-OR0038SSC-EWI-OR0128
OracleSSC-FDM-OR0040SSC-EWI-OR0062
OracleSSC-FDM-OR0043SSC-EWI-OR0005
OracleSSC-FDM-OR0044SSC-EWI-OR0089
OracleSSC-EWI-OR0039SSC-FDM-OR0013
OracleSSC-FDM-OR0045SSC-EWI-OR0006
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055
方言新代码旧代码
通用SSC-FDM-0001MSCINF0001
通用SSC-FDM-0002MSCINF0002
通用SSC-FDM-0003MSCINF0003
通用SSC-FDM-0004MSC-GP0001
通用SSC-FDM-0005MSCEWI1096
通用SSC-FDM-0006MSCEWI1066
通用SSC-FDM-0007MSCEWI1050
通用SSC-FDM-OR0039MSCEWI1057
通用SSC-FDM-0008MSCEWI1093
通用SSC-FDM-0009MSCCP0002
通用SSC-FDM-0010MSCEWI1044
通用SSC-FDM-0011MSCEWI1045
通用SSC-FDM-0012MSCEWI1097
通用SSC-FDM-0013MSCEWI1008
通用SSC-FDM-0014MSCEWI1035
通用SSC-FDM-0015MSCEWI1064
通用SSC-FDM-0016MSCEWI1076
通用SSC-FDM-0022MSCEWI1072
通用SSC-FDM-0024MSCEWI1058
通用SSC-FDM-0026MSCEWI1028
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0012MSCEWI2004
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0015MSCEWI2020
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0018MSCEWI2063
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
TeradataSSC-FDM-TD0027MSCEWI2061
TeradataSSC-FDM-TD0028MSCEWI2060
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0002MSCEWI3068
OracleSSC-FDM-OR0003MSCEWI3038
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0008MSCEWI3071
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0027MSCEWI3029
OracleSSC-FDM-OR0028MSCEWI3031
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0038SSC-EWI-OR0128
OracleSSC-FDM-OR0041MSCEWI307
OracleSSC-FDM-OR0040SSC-EWI-OR0062
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055

类别已更改为 PRF

方言新代码旧代码
通用SSC-PRF-0001MSCCP0005
通用SSC-PRF-0002MSCCP0007
通用SSC-PRF-0003MSCCP0006
通用SSC-PRF-0004MSCCP0003
通用SSC-PRF-0005MSCCP0010
通用SSC-PRF-0006MSCCP0011
TeradataSSC-PRF-TD0001MSCEWI2008
SQL ServerSSC-PRF-TS0001MSCEWI4007

已弃用 EWIs

方言代码
通用MSCEWI1008
通用MSCEWI1016
通用MSCEWI1017
通用MSCEWI1019
通用MSCEWI1029
通用MSCEWI1055
通用MSCEWI1037
通用MSCEWI1042
通用MSCEWI1043
通用MSCEWI1048
通用MSCEWI1059
通用MSCEWI1069
通用MSCEWI1074
通用MSCEWI1079
通用MSCEWI1081
通用MSCEWI1082
通用MSCEWI1083
通用MSCEWI1085
通用MSCEWI1087
通用MSCEWI1089
通用MSCEWI1090
通用MSCEWI1091
通用MSCEWI1097
通用MSCEWI1098
通用MSCEWI1099
通用MSCEWI1108
通用MSCINF0001
通用MSCINF0002
通用MSCINF0003
TeradataMSCEWI2002
TeradataMSCEWI2006
TeradataMSCEWI2007
TeradataMSCEWI2016
TeradataMSCEWI2018
TeradataMSCEWI2026
TeradataMSCEWI2028
TeradataMSCEWI2032
TeradataMSCEWI2033
TeradataMSCEWI2038
TeradataMSCEWI2044
TeradataMSCEWI2047
TeradataMSCEWI2050
TeradataMSCEWI2056
TeradataMSCEWI2065
TeradataMSCEWI2078
TeradataMSCEWI2081
TeradataMSCEWI2085
TeradataMSCEWI2088
TeradataMSCEWI2089
TeradataMSCEWI2090
OracleMSCEWI3003
OracleMSCEWI3007
OracleMSCEWI3015
OracleMSCEWI3019
OracleMSCEWI3024
OracleMSCEWI3027
OracleMSCEWI3028
OracleMSCEWI3037
OracleMSCEWI3043
OracleMSCEWI3044
OracleMSCEWI3054
OracleMSCEWI3058
OracleMSCEWI3061
OracleMSCEWI3063
OracleMSCEWI3064
OracleMSCEWI3065
OracleMSCEWI3077
OracleMSCEWI3083
OracleMSCEWI3084
OracleMSCEWI3085
OracleMSCEWI3088
OracleMSCEWI3096
OracleMSCEWI3117
OracleMSCEWI3119
OracleMSCEWI3122
OracleMSCEWI3125
OracleSSC-EWI-OR0130
SQL ServerMSCEWI4002
SQL ServerMSCEWI4006
SQL ServerMSCEWI4008
SQL ServerMSCEWI4011
SQL ServerMSCEWI4012
SQL ServerMSCEWI4014
SQL ServerMSCEWI4018
SQL ServerMSCEWI4019
SQL ServerMSCEWI4020
SQL ServerMSCEWI4026
SQL ServerMSCEWI4028
SQL ServerMSCEWI4030
SQL ServerMSCEWI4040
SQL ServerMSCEWI4042
SQL ServerMSCEWI4050
SQL ServerMSCEWI4052
SQL ServerMSCEWI4054
SQL ServerMSCEWI4056
SQL ServerMSCEWI4068
SQL ServerSSC-EWI-TS0048
方言新代码旧代码
通用SSC-FDM-0001MSCINF0001
通用SSC-FDM-0002MSCINF0002
通用SSC-FDM-0003MSCINF0003
通用SSC-FDM-0004MSC-GP0001
通用SSC-FDM-0005MSCEWI1096
通用SSC-FDM-0006MSCEWI1066
通用SSC-FDM-0007MSCEWI1050
通用SSC-FDM-OR0039MSCEWI1057
通用SSC-FDM-0008MSCEWI1093
通用SSC-FDM-0009MSCCP0002
通用SSC-FDM-0010MSCEWI1044
通用SSC-FDM-0011MSCEWI1045
通用SSC-FDM-0012MSCEWI1097
通用SSC-FDM-0013MSCEWI1008
通用SSC-FDM-0014MSCEWI1035
通用SSC-FDM-0015MSCEWI1064
通用SSC-FDM-0016MSCEWI1076
通用SSC-FDM-0022MSCEWI1072
通用SSC-FDM-0023SSC-EWI-0049
通用SSC-FDM-0024MSCEWI1058
通用SSC-FDM-0026MSCEWI1028
通用SSC-FDM-0029SSC-EWI-0068
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0027MSCEWI3029
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0037MSCEWI3004
OracleSSC-FDM-OR0041MSCEWI307
OracleSSC-FDM-OR0040SSC-EWI-OR0062
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0019SSC-EWI-TS0047
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055
SQL ServerSSC-FDM-TS0021SSC-EWI-TS0056
SQL ServerSSC-FDM-TS0022SSC-EWI-TS0057
SQL ServerSSC-FDM-TS0023SSC-EWI-TS0073