SnowConvert AI – Redshift-Probleme¶
SSC-EWI-RS0002¶
Die Einstellung „Konfigurationsparameter“ wird von Snowflake nicht unterstützt.
Schweregrad¶
Medium
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0003¶
Ansicht ohne Schemabindung kann aufgrund fehlender Referenzen nicht entfernt werden.
Bemerkung
This issue is deprecated and no longer generated by SnowConvert AI since version 2.2.6
Schweregrad¶
Medium
Beschreibung¶
Die Redshift-Dokumentation für CREATE VIEW enthält eine optionale Klausel, die angibt, dass die jeweilige Ansicht weder an die Datenbankobjekte wie Tabellen oder Funktionen noch an die Objekte, auf die sie verweist, gebunden ist. In der Dokumentation wird auch erklärt, dass in Fällen, in denen diese Klausel verwendet wird, die referenzierten Objekte mit einem Schemanamen qualifiziert werden müssen. Mit dieser Klausel können Sie eine Ansicht erstellen und auf Objekte verweisen, die möglicherweise noch nicht vorhanden sind. Ihr Vorhandensein wird überprüft, sobald die Ansicht abgefragt wird, aber nicht bei ihrer Definition.
Es gibt jedoch weder einen gleichwertigen Befehl noch eine offensichtliche Problemumgehung, um diese Funktionalität in Snowflake zu implementieren. Darüber hinaus schlägt die Snowflake-Dokumentation vor, dass die Ansichten mit einem bestimmten Schema verknüpft werden und damit die referenzierten Objekte in der Ansicht sind.
Wenn die mit der Ansicht verknüpften Verweise im Eingabecode vorhanden sind, wird die Anweisung ohne Probleme entfernt. Falls jedoch die erforderlichen Verweise fehlen, wird eine Warnmeldung hinzugefügt, um Benutzende darüber zu informieren, dass die Anweisung aufgrund der fehlenden Verweise nicht entfernt werden kann.
SnowConvert AI führt die Analyse nur für den Eingabecode durch und berücksichtigt nicht Objekte, die bereits in Snowflake bereitgestellt wurden. Daher kann die Ausgabe einige Probleme aufweisen, die auf fehlende Verweise hindeuten. Wenn die Verweise bereits in der Snowflake-Datenbank vorhanden sind, können Benutzende die Anweisung ohne Probleme sicher entfernen.
Codebeispiele¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
Um dieses Problem zu beheben, wird empfohlen, die fehlenden Verweise zum Eingabecode hinzuzufügen. Wenn das Objekt bereits in der Snowflake-Datenbank bereitgestellt ist, kann die Anweisung ohne Probleme entfernt werden.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0004¶
HLLSKETCH-Datentyp, der von Snowflake nicht unterstützt wird.
Schweregrad¶
Hoch
Beschreibung¶
Dieses Konvertierungsproblem wurde hinzugefügt, weil der HLLSKETCH-Datentyp von Snowflake nicht unterstützt wird.
Codebeispiel¶
Eingabecode:¶
Generierter Code:¶
Best Practices¶
Überprüfen Sie alle Aggregatfunktionen, die von Snowflake bereitgestellt werden, um die Kardinalität mit HyperLogLog zu schätzen.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0005¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause.
Schweregrad¶
Hoch
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0006¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake.
Schweregrad¶
Medium
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0007¶
Datumsliterale werden von Snowflake nicht unterstützt.
Schweregrad¶
Hoch
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0008¶
Delete statement cannot be used on dynamic tables in Snowflake.
Schweregrad¶
Hoch
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0009¶
Source table semantic information not found in the code provided to SnowConvert AI.
Schweregrad¶
Niedrig
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
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.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-RS0010¶
Top-level procedure call with out parameters is not supported in Snowflake.
Schweregrad¶
Niedrig
Beschreibung¶
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.
Codebeispiel¶
Eingabecode:¶
Redshift¶
Generierter Code:¶
Snowflake¶
Best Practices¶
Verschieben Sie den Aufruf in einen anonymen Block, und deklarieren Sie eine Variable, die als Ausgabeparameter übergeben wird.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.