SnowConvert AI - Problèmes Redshift¶
SSC-EWI-RS0002¶
Le « paramètre de configuration » Set n’est pas pris en charge dans Snowflake.
Gravité¶
Medium
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0003¶
La vue sans liaison de schéma ne peut pas être supprimée, car des références sont manquantes.
Note
This issue is deprecated and no longer generated by SnowConvert AI since version 2.2.6
Gravité¶
Medium
Description¶
La documentation Redshift pour CREATE VIEW inclut une clause facultative qui spécifie que la vue particulière n’est pas liée aux objets de la base de données tels que les tables ou les fonctions, ni aux objets auxquels elle fait référence. La documentation précise également que dans les cas où cette clause est utilisée, les objets référencés doivent être qualifiés avec un nom de schéma. Cette clause permet de créer une vue et de référencer des objets qui n’existent peut-être pas encore. Leur présence sera vérifiée une fois la vue interrogée, mais pas lors de sa définition.
Cependant, il n’existe pas de commande équivalente ni de solution de contournement évidente pour implémenter cette fonctionnalité dans Snowflake. De plus, la documentation Snowflake suggère que les vues sont liées à un schéma spécifique, tout comme les objets référencés dans la vue.
Si les références liées à la vue sont présentes dans le code d’entrée, l’instruction sera supprimée sans problème. Toutefois, s’il manque les références nécessaires, un message d’avertissement sera ajouté pour informer l’utilisateur que l’instruction ne peut pas être supprimée en raison des références manquantes.
SnowConvert AI effectue une analyse uniquement sur le code d’entrée et ne tient pas compte des objets déjà déployés dans Snowflake. Par conséquent, la sortie peut présenter quelques problèmes pointant vers des références manquantes. Si les références sont déjà présentes dans la base de données Snowflake, l’utilisateur peut supprimer l’instruction en toute sécurité et sans problème.
Exemples de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
Pour résoudre ce problème, il est suggéré d’ajouter les références manquantes au code d’entrée. Si l’objet est déjà déployé dans la base de données Snowflake, l’instruction peut être supprimée sans problème.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0004¶
Type de données HLLSKETCH non pris en charge dans Snowflake.
Gravité¶
Élevé
Description¶
Ce problème de conversion est ajouté, car le type de données HLLSKETCH n’est pas pris en charge dans Snowflake.
Exemple de code¶
Code d’entrée :¶
Code généré :¶
Meilleures pratiques¶
Veuillez vérifier toutes les fonctions d’agrégation fournies par Snowflake pour estimer la cardinalité en utilisant HyperLogLog.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0005¶
Pending SnowConvert AI translation for column aliases in the PIVOT/UNPIVOT IN clause.
Gravité¶
Élevé
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0006¶
The behavior of the SUBSTRING function on binary data differs between Redshift and Snowflake.
Gravité¶
Medium
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0007¶
Le littéral de date n’est pas pris en charge dans Snowflake.
Gravité¶
Élevé
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0008¶
Delete statement cannot be used on dynamic tables in Snowflake.
Gravité¶
Élevé
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0009¶
Source table semantic information not found in the code provided to SnowConvert AI.
Gravité¶
Faible
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
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.Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.
SSC-EWI-RS0010¶
Top-level procedure call with out parameters is not supported in Snowflake.
Gravité¶
Faible
Description¶
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.
Exemple de code¶
Code d’entrée :¶
Redshift¶
Code généré :¶
Snowflake¶
Meilleures pratiques¶
Déplacez l’appel dans un bloc anonyme et déclarez une variable à transmettre en tant que paramètre de sortie.
Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.