SnowConvert AI - Redshiftの問題¶
SSC-EWI-RS0002¶
「Set configuration parameter」はSnowflakeではサポートされていません。
重大性¶
中
説明¶
The SET configuration parameter clause in Redshift procedures is not supported in Snowflake. Snowflake uses ALTER SESSION SET or session-level parameters instead. For more information, refer to CREATE PROCEDURE documentation.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Use ALTER SESSION SET: Snowflake provides ALTER SESSION SET to configure session-level parameters. Review whether the Redshift configuration parameter has an equivalent Snowflake session parameter.
Remove if unnecessary: Some Redshift configuration parameters (e.g.,
enable_numeric_rounding) have no Snowflake equivalent and may be safely removed if Snowflake's default behavior meets your requirements.さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0003¶
スキーマバインディングのないビューは、参照が欠落しているため削除できません。
注釈
This issue is deprecated and no longer generated by SnowConvert AI since version 2.2.6
重大性¶
中
説明¶
CREATE VIEW の Redshiftドキュメントには、特定のビューがテーブルや関数などのデータベースオブジェクトや、参照するオブジェクトにバインドされていないことを指定するオプション条項が含まれています。また、この句が使われる場合、参照されるオブジェクトはスキーマ名で修飾されなければならないことも文書で明確にされています。この句によって、ビューを作成し、まだ存在しないかもしれないオブジェクトを参照することができます。それらの存在は、ビューがクエリされた時点で確認されますが、定義時には確認されません。
しかし、Snowflakeにこの機能を実装するための同等のコマンドや明らかな回避策はありません。さらに、Snowflakeのドキュメントによると、ビューは特定のスキーマにリンクされており、ビュー内の参照オブジェクトもリンクされているようです。
ビューにリンクされた参照が入力コードに存在する場合、ステートメントは問題なく削除されます。しかし、必要な参照が欠落している場合は、警告メッセージが追加され、参照が欠落しているためにステートメントを削除できないことがユーザーに通知されます。
SnowConvert AIは、入力コードのみに対して分析を実行し、Snowflakeにすでにデプロイされているオブジェクトは考慮しません。そのため、出力には欠落している参照を指摘する問題が発生する可能性がありますが、参照がすでにSnowflakeデータベースに存在する場合は、ユーザーは問題なく安全にステートメントを削除することができます。
コードの例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
この問題を解決するには、入力コードに不足している参照を追加することをお勧めします。オブジェクトがすでにSnowflakeデータベースにデプロイされている場合は、ステートメントを問題なく削除できます。
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0004¶
HLLSKETCHデータ型はSnowflakeではサポートされていません。
重大性¶
高
説明¶
この変換の問題は、HLLSKETCHデータ型がSnowflakeでサポートされていないために追加されました。
コード例¶
入力コード:¶
生成されたコード:¶
ベストプラクティス¶
カーディナリティを推定するためにSnowflakeが提供するすべての 集約関数 を HyperLogLog を使って検証してください。
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0005¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause.
重大性¶
高
説明¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause. Snowflake now supports the AS clause for specifying column aliases in PIVOT and UNPIVOT operations (added October 2025). This is a SnowConvert AI limitation, not a Snowflake platform limitation.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Use native Snowflake support: Snowflake now supports the
ASclause for column aliases inPIVOT/UNPIVOT INclauses. Remove the EWI marker and use the aliases directly:
Further reading: Snowflake UNPIVOT, Snowflake PIVOT
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0006¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake.
重大性¶
中
説明¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake. In Redshift, SUBSTRING on VARBYTE operates on raw bytes. In Snowflake, SUBSTRING on BINARY operates on hex-encoded character pairs, so the same positional arguments may return different results.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Verify binary output: Compare
SUBSTRINGresults on binary columns between Redshift and Snowflake to confirm correctness after migration.Adjust offsets: Because Snowflake's
BINARYtype uses hex encoding, you may need to multiply position and length arguments by 2 to achieve equivalent byte-level extraction.さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0007¶
日付リテラルはSnowflakeではサポートされていません。
重大性¶
高
説明¶
Some DATE, TIME, or TIMESTAMP literal formats used in Redshift (e.g., '2000-Jan-31', 'Jan-31-2000') are not recognized by Snowflake. These literals must be rewritten to a supported Snowflake date format or converted using TO_DATE with an explicit format string.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Use ISO 8601 format: Rewrite date literals to
'YYYY-MM-DD'format, which is universally supported in Snowflake.Use TO_DATE with format string: If the original format must be preserved, use
TO_DATE('Jan-31-2000', 'MON-DD-YYYY')to explicitly parse the date.さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0008¶
Delete statement cannot be used on dynamic tables in Snowflake.
重大性¶
高
説明¶
In Redshift, you can apply the DELETE statement to materialized views used for streaming ingestion. In Snowflake, materialized views are transformed into dynamic tables, and the DELETE statement cannot be used on dynamic tables.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Replace the dynamic table definition: Because dynamic tables cannot be directly deleted from, you can achieve the same result by altering the dynamic table's underlying query to exclude the rows you want to remove.
Use a regular table: If row-level DML (INSERT, UPDATE, DELETE) is required, consider using a regular table with a scheduled task instead of a dynamic table.
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0009¶
Source table semantic information not found in the code provided to SnowConvert AI.
重大性¶
低
説明¶
Snowflake does not support the MERGE ... REMOVE DUPLICATES clause. SnowConvert AI generates a workaround that includes an INSERT WHEN NOT MATCHED clause, which requires knowledge of the source table's columns. If the source table definition was not included in the code provided to SnowConvert AI, the column list cannot be generated and must be added manually.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
Include all source DDL: Provide the source table's
CREATE TABLEstatement in the input code so SnowConvert AI can resolve columns automatically.Add columns manually: If the source table definition is unavailable, fill in the
INSERT ... VALUES ()clause with the correct column list from your Redshift catalog.さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。
SSC-EWI-RS0010¶
Top-level procedure call with out parameters is not supported in Snowflake.
重大性¶
低
説明¶
Redshift allows top-level CALL statements to invoke procedures with OUT parameters without declaring a variable to receive the output. Snowflake requires that OUT parameters be assigned to a variable, which is only possible inside a stored procedure or anonymous block.
コード例¶
入力コード:¶
Redshift¶
生成されたコード:¶
Snowflake¶
ベストプラクティス¶
呼び出しを無名ブロックに移し、出力パラメーターとして渡す変数を宣言します。
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください。