Code Conversion - BigQuery Issues¶
Note
Conversion Scope
For Google BigQuery, assessment and translation for TABLES and VIEWS are currently supported. Although other types of statements are recognized, they are not fully supported.
This page provides a comprehensive reference for how Google BigQuery grammar elements to Snowflake equivalents are translated. In this translation reference, you will find code examples, functional equivalence results, key differences, recommendations, known issues, and descriptions of each transformation.
SSC-EWI-BQ0001¶
Snowflake does not support the options clause.
Warning
This EWI is deprecated; please refer to SSC-EWI-0016 for the latest version of this EWI.
Severity ¶
Medium
Description ¶
This EWI is added to DDL statements when the OPTIONS has unsupported options by Snowflake.
Code Example ¶
Input Code:
BigQuery¶
Output Code:
Snowflake¶
Recommendations ¶
- Add manual changes to the not-transformed expression.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0002¶
Micro-partitioning is automatically performed on all Snowflake tables.
Note
This issue is deprecated and no longer generated
Severity¶
Medium
Description¶
This warning is added to the Create table when the partition by clause is present. PARTITION BY is an optional clause that controls table partitioning but is not supported in Snowflake.
All data in Snowflake tables is automatically divided into micro-partitions, which are contiguous units of storage. Each micro-partition contains between 50 MB and 500 MB of uncompressed data. This size and structure allows for extremely granular pruning of very large tables, which can be comprised of millions, or even hundreds of millions, of micro-partitions.
Snowflake stores metadata about all rows stored in a micro-partition, including:
- The range of values for each of the columns in the micro-partition.
- The number of distinct values.
- Additional properties used for both optimization and efficient query processing.
Also the tables are transparently partitioned using the ordering of the data as it is inserted/loaded. For more information please refer to Benefits of Micro-partitioning.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- No additional user actions are required, it is just informative.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0003¶
Pending translation for differential privacy.
Severity¶
Medium
Description¶
BigQuery allows applying differential privacy over some statistical functions to introduce noise in the data, making it difficult to extract information about individuals when analyzing query results.
Snowflake now supports differential privacy natively. However, the translation for this feature has not yet been implemented. Any use of differential privacy in BigQuery will be commented out and this issue will be generated to flag the need for manual conversion.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Use native Snowflake support: Snowflake now supports differential privacy natively. Rewrite the BigQuery differential privacy syntax using Snowflake’s privacy policies and privacy budgets.
- Key differences: Snowflake’s differential privacy implementation uses privacy policies assigned to tables/views, privacy budgets to manage analyst queries, and privacy domains for fact and dimension columns. The syntax differs from BigQuery’s inline
WITH DIFFERENTIAL_PRIVACYclause. - Further reading: Snowflake Differential Privacy Overview
SSC-EWI-BQ0004¶
Snowflake does not support named windows.
Severity¶
Medium
Description¶
BigQuery allows the definition and usage of named windows in aggregate functions, they are defined in the WINDOW clause of the query they are used and can be used inside the OVER clause of these functions.
Snowflake does not support declaring named windows, please consider taking the window definition and apply it to all usages of that window directly in the OVER clause of the functions.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Review your named window definitions, it might be possible to take the definition and apply it to the
OVERclause of the functions it is used in. However, keep in mind the functional differences between BigQuery and Snowflake window frames still apply, take the following case as an example:
BigQuery:
Snowflake:
These two queries will produce the same rows but the Snowflake results will not be ordered, this is because the ORDER BY clause for window frames does not impact the entire query ordering as it does in BigQuery.
SSC-EWI-BQ0005¶
Javascript code has not been validated.
Severity¶
High
Description¶
Javascript code does not get transformed. Since the Javascript code extracted from BigQuery’s functions hasn’t been changed at all, this code might need some tweaks to work on Snowflake.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Review all Javascript code before deployment.
- Javascript parameters in Snowflake must be uppercase.
- For more information, visit Snowflake’s Introduction to Javascript UDFs.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0006¶
Oriented parameter in the ST_GEOGFROMTEXT function is not supported in Snowflake.
Severity¶
Low
Description¶
This warning is added when the oriented parameter is specified in the ST_GEOGFROMTEXT function, because it is not supported in Snowflake. If this parameter is set to TRUE, any polygon in the input is assumed to be oriented as follows: if someone walks along the polygon boundary in the order of the input vertices, the interior of the polygon is to the left. This allows WKT to represent polygons larger than a hemisphere. If oriented is FALSE or omitted, this function returns the polygon with the smallest area.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Review polygon orientation: If the
orientedparameter was set toTRUE, verify that the polygon does not span more than a hemisphere. Snowflake’sST_GEOGFROMTEXTalways returns the polygon with the smallest area. - Manual validation: For polygons larger than a hemisphere, consider splitting them into smaller polygons or using alternative geospatial representations.
- Remove the parameter: After manual review, remove the
orientedparameter from the function call, as Snowflake’sST_GEOGFROMTEXTaccepts only the WKT string argument.
SSC-EWI-BQ0007¶
Escape Sequence is not valid in Snowflake.
Severity¶
Low
Description¶
Bell character (\a) and Vertical character (\v) are valid escape sequences in BigQuery, but not in Snowflake.
This warning is added when a bell character or vertical character escape sequence is found when translating BigQuery code. For more information, see BigQuery Escape Sequences.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Replace with Unicode escapes: Replace
\a(bell character, U+0007) with\x07and\v(vertical tab, U+000B) with\x0B, which are supported by Snowflake. - Review usage: If the escape sequence was used for formatting purposes, consider whether it is still needed in the Snowflake context.
SSC-EWI-BQ0008¶
Eight hex digit Unicode escape sequence is not supported in Snowflake.
Severity¶
Low
Description¶
BigQuery supports Unicode sequences of 8 hex digits. Snowflake doesn’t support this kind of Unicode sequences.
This warning is added when an 8 hex digits Unicode sequence is found when translating BigQuery code. More about BigQuery Escape Sequences.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Use surrogate pairs: Convert the 8-hex-digit Unicode sequence into two 4-hex-digit surrogate pair sequences. For example,
\U00100000can be represented using surrogate pairs\uDBC0\uDC00. - Use CHR function: Alternatively, use Snowflake’s
CHRfunction with the Unicode code point to generate the character at runtime.
SSC-EWI-BQ0009¶
The correct return table clause was unabled to be generated. Missing symbol information.
Severity¶
High
Description¶
Snowflake requires a valid RETURNS TABLE clause for CREATE TABLE FUNCTION statements. A new one has to be built from the ground up. To do this, an analysis is made on the CREATE TABLE FUNCTION query in order to properly infer the types of the columns of the resulting table. However there may be scenarios where there is currently a limitation to be able to build the return clause properly.
These scenarios will be considered in the future, but in the meantime this error will be added.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Manually define the RETURNS TABLE clause: Inspect the original BigQuery TABLE FUNCTION body to determine the column names and types of the result set, then populate the empty
RETURNS TABLE()clause with the correct column definitions. - Provide source references: If the issue is caused by missing references, ensure all referenced tables and views are included.
SSC-EWI-BQ0010¶
The resulting table has no columns
Severity¶
Medium
Description¶
This EWI is added when an external table whose definition has no columns is created. External tables in BigQuery can be defined using only OPTIONS (e.g., FORMAT and URIS) without explicit column definitions, relying on schema inference. When the resulting table structure has no columns after conversion, this EWI is emitted to flag that manual definition of the table schema may be required.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Provide column definitions: If the source BigQuery external table uses inferred schema, manually add the expected column definitions to the generated Snowflake external table based on the actual file structure.
- Use INFER_SCHEMA: Consider using Snowflake’s INFER_SCHEMA function with a sample file path (without wildcards) to generate the table template.
- Include table definitions: Ensure all referenced table or view definitions are included so that symbol information can be collected.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0011¶
Session variable assignment of complex datatype is not supported in Snowflake
Severity¶
Medium
Description¶
In BigQuery, declaring a variable at script level allows it to be used in the entire script, to replicate this behavior in Snowflake SQL variables are used.
However, declaring variables of datatypes that are complex like ARRAY, GEOGRAPHY, STRUCT or JSON will fail in Snowflake when trying to set the value to the SQL variable. When one of such cases is detected then this is EWI will be added to the SQL variable declaration.
Variables of these types can be declared without problems inside block statements and other procedural statements, this EWI applies only for variables declared at script level.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- If the uses of the variable are limited to a single scope or its value is never modified, consider declaring the variable locally in the scopes that use it, that will solve the issue.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0012¶
A correct OBJECT_CONSTRUCT parameter was unable to be generated. Missing symbol information.
Severity¶
High
Description¶
A correct OBJECT_CONSTRUCT parameter was unabled to be generated due to missing symbol information. This typically occurs when the table definition is not included, or when the table uses complex types (such as STRUCT) whose field names are needed to build the OBJECT_CONSTRUCT call.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Provide table definitions: Ensure all referenced table definitions (CREATE TABLE statements) are included so that symbol information can be collected.
- Manual replacement: Inspect the original BigQuery INSERT statement and manually construct the
OBJECT_CONSTRUCTcall with the correct field names and values matching the target table’s schema.
SSC-EWI-BQ0013¶
External table data format not supported in snowflake
Warning
This EWI is deprecated; please refer to SSC-EWI-0029 for the latest version of this EWI.
Severity¶
Medium
Description¶
Snowflake supports the following BigQuery formats:
| BigQuery | Snowflake |
|---|---|
| AVRO | AVRO |
CSV | CSV |
NEWLINE_DELIMITED_JSON | JSON |
| ORC | ORC |
| PARQUET | PARQUET |
When an external table has other FORMAT not specified in the above table, this EWI will be generated to inform the user that the FORMAT is not supported.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0014¶
Hive partitioned external tables are not supported in Snowflake
Severity¶
Medium
Description¶
Snowflake does not support hive partitioned external tables, when the WITH PARTITION COLUMNS clause is found in the external table, it will be marked as not supported using this EWI.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Remove the WITH PARTITION COLUMNS clause: Snowflake external tables use automatic partitioning based on the file path. Remove the
WITH PARTITION COLUMNSclause from the generated code. - Use Snowflake partitioning: Define partition columns using expressions in the external table’s column definitions. Snowflake can automatically infer partition columns from the directory structure.
- Hive metastore integration: If you use a Hive metastore, consider integrating it with Snowflake to synchronize external table metadata automatically.
SSC-EWI-BQ0015¶
External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
Warning
This EWI is deprecated; please refer to SSC-EWI-0032 for the latest version of this EWI.
Description¶
When transforming the CREATE EXTERNAL TABLE statement, an EXTERNAL_STAGE placeholder will be generated that has to be replaced with the external stage created for connecting with the external location from Snowflake.
Please refer to the following guides to set up the necessary Storage Integration and External Stage in your Snowflake account:
- For external tables referencing Amazon S3
- For external tables referencing Google Cloud Storage
- For external tables referencing Azure Blob Storage
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Set up your external connection in the Snowflake account and replace the EXTERNAL_STAGE placeholder to complete the transformation.
- If you need more support, you can email us at aim-support@snowflake.com
SSC-EWI-BQ0016¶
Select * with multiple UNNEST operators will produce column ambiguity
Warning
This EWI is deprecated; please refer to SSC-FDM-BQ0012 for the latest version of this issue. The description and examples below are kept for historical reference and may not match current SnowConvert AI output.
Severity¶
Medium
Description¶
As part of the SnowConvert transformation for the UNNEST operator, the FLATTEN function is used, this function generates multiple columns not required to emulate the UNNEST operator functionality like the THIS or PATH columns.
When a SELECT * with the UNNEST operator is found, SnowConvert will remove the unnecessary columns using the EXCLUDE keyword, however, when multiple UNNEST operators are used in the same statement, the columns can not be removed due to ambiguity problems, this EWI will be generated to mark these cases.
It is recommended to expand the SELECT expression list in order to specify only the expected columns and solve this issue.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
SSC-EWI-BQ0017¶
Pending translation for UNNEST of an array of structs
Severity¶
Medium
Description¶
When unnesting an array of structs, BigQuery generates a column for each struct field and splits the struct values into their corresponding columns. This transformation is not yet supported. Whenever it is detected that the UNNEST operator is applied over an array of structs, this EWI is generated to flag the need for manual conversion.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Use FLATTEN with LATERAL: Manually flatten the array column using Snowflake’s FLATTEN function, then extract individual struct fields using dot notation or
GETon theVALUEcolumn. - Example workaround:
SSC-EWI-BQ0018¶
BigQuery PARSE_TIMESTAMP timezone argument is not natively supported in Snowflake; wrapped with CONVERT_TIMEZONE.
Severity¶
Medium
Description¶
BigQuery’s PARSE_TIMESTAMP accepts an optional third argument that specifies the time zone in which the input string should be interpreted. Snowflake’s TO_TIMESTAMP_TZ does not have an equivalent argument.
To preserve the source semantics, the value is parsed as TO_TIMESTAMP_NTZ, then wraps the result with CONVERT_TIMEZONE to shift it from the supplied zone to UTC, and finally casts the value to TIMESTAMP_TZ. This EWI is added to flag the rewrite so the user can verify the time zone being passed in matches the originally intended semantics.
Code Example¶
Input Code:¶
BigQuery¶
Generated Code:¶
Snowflake¶
Recommendations¶
- Verify the timezone semantics match. BigQuery interprets the input string as a wall-clock time in the supplied zone and stores the result as a UTC instant. The generated
CONVERT_TIMEZONE(<tz>, 'UTC', TO_TIMESTAMP_NTZ(...))rewrite reproduces that semantic. Confirm the timezone identifier supplied is one Snowflake understands (see Supported time zones). - Consider session timezone. If the application logic depends on the session’s
TIMEZONEparameter, set it explicitly withALTER SESSION SET TIMEZONE = 'UTC'(or the appropriate value) before running the converted query.
SSC-EWI-BQ0019¶
_TABLE_SUFFIX is a BigQuery wildcard-table pseudo-column with no Snowflake equivalent; rewrite the query against a single table with an explicit suffix/date column.
Severity¶
High
Description¶
BigQuery exposes _TABLE_SUFFIX when querying wildcard tables so a query can filter the matched table names. Snowflake has no wildcard-table pseudo-column, so SnowConvert AI preserves the reference and adds this EWI for manual replacement with an explicit suffix or date column.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Replace wildcard-table access with a single Snowflake table and filter on an explicit suffix or date column.
SSC-EWI-BQ0020¶
_PARTITIONDATE/_PARTITIONTIME is a BigQuery ingestion-time partition pseudo-column with no Snowflake equivalent; reference an explicit partition column instead.
Severity¶
Medium
Description¶
BigQuery exposes _PARTITIONDATE and _PARTITIONTIME for filtering ingestion-time partitioned tables. Snowflake manages micro-partitions automatically and does not expose either pseudo-column, so SnowConvert AI preserves the reference and adds this EWI for replacement with an explicit partition column.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Persist the required partition date or timestamp in an explicit column and rewrite predicates to reference it.
SSC-EWI-BQ0021¶
ST_MAKELINE with an array of geographies is not supported in Snowflake; rewrite using an aggregation such as ST_COLLECT.
Severity¶
Medium
Description¶
BigQuery accepts an array of geographies as a single ST_MAKELINE argument. Snowflake accepts only two geography arguments, so SnowConvert AI preserves the unsupported array form and adds this EWI for manual rewriting, such as with ST_COLLECT.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Rewrite the array form with a supported aggregation such as
ST_COLLECT, then validate the resulting geography.
SSC-EWI-BQ0022¶
Multi-column (tuple) UNPIVOT is not supported in Snowflake.
Severity¶
Medium
Description¶
BigQuery can unpivot tuples of multiple value columns in one UNPIVOT operation. Snowflake supports only a single value column per operation, so SnowConvert AI preserves the tuple form and adds this EWI for manual decomposition into single-column operations or LATERAL FLATTEN.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Split the tuple into single-column
UNPIVOToperations or useLATERAL FLATTEN.
SSC-EWI-BQ0023¶
ST_GEOGFROMGEOJSON ‘make_valid’ parameter is not supported in Snowflake and was not translated.
Severity¶
High
Description¶
BigQuery’s ST_GEOGFROMGEOJSON can use a second make_valid argument to repair invalid polygon data. Snowflake has no equivalent argument or geometry-repair function, so SnowConvert AI leaves the two-argument call unchanged and adds this EWI for manual review.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Validate or repair GeoJSON before calling the Snowflake function and review invalid-geometry handling.
SSC-EWI-BQ0024¶
ST_BUFFER converted using only its first two arguments; the dropped options and Snowflake’s planar GEOMETRY (vs BigQuery’s geodesic GEOGRAPHY) may change the result.
Severity¶
Medium
Description¶
BigQuery’s ST_BUFFER accepts options beyond the geography and distance arguments, including segment count, spheroid use, endcap, and side. SnowConvert AI drops those extra arguments and emits Snowflake’s two-argument call, but the removed options and Snowflake’s planar GEOMETRY behavior can change the resulting shape.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Compare representative buffer results and manually account for any dropped option that affects downstream geometry.
SSC-EWI-BQ0025¶
Snowflake LIKE ANY/ALL requires a literal pattern list; the BigQuery UNNEST array is built at runtime.
Severity¶
Medium
Description¶
BigQuery permits LIKE ANY and LIKE ALL to consume an array expanded by UNNEST at runtime. Snowflake requires a literal pattern list, so SnowConvert AI preserves the runtime-array form and adds this EWI because it cannot translate the expression directly.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Use a literal pattern list when possible, or rewrite runtime arrays with
FLATTENand anEXISTSpredicate.
SSC-EWI-BQ0026¶
MERGE WHEN NOT MATCHED BY SOURCE has no Snowflake equivalent; rewrite as a separate post-MERGE DELETE or UPDATE.
Severity¶
Medium
Description¶
BigQuery MERGE supports WHEN NOT MATCHED BY SOURCE actions for target rows with no source match. Snowflake has no equivalent clause, so SnowConvert AI preserves it with this EWI and requires the DELETE or UPDATE to be implemented separately.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Implement the source-only condition as a separate
DELETEorUPDATEafter theMERGEand test transaction semantics.
SSC-EWI-BQ0027¶
A FOR loop record field referenced inside a SQL statement is not supported in Snowflake Scripting.
Severity¶
Medium
Description¶
BigQuery permits a FOR loop record field to be referenced directly inside a SQL statement. Snowflake Scripting does not support that reference form, so SnowConvert AI adds this EWI where the field must first be assigned to a local variable and then bound with a colon.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Assign the record field to a local variable and use a colon-prefixed bind variable in the SQL statement.
SSC-EWI-BQ0028¶
BigQuery’s DROP TABLE FUNCTION carries no signature, so the migrated DROP FUNCTION is emitted with empty parentheses; replace () with the parameter types if the source table-valued function declared parameters.
Severity¶
Medium
Description¶
BigQuery’s DROP TABLE FUNCTION does not include a parameter signature. SnowConvert AI therefore emits empty parentheses, which Snowflake resolves only as a zero-argument overload; functions that declared parameters require their parameter types to be added manually.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Replace the empty parentheses with the source function’s parameter types when dropping a non-zero-argument overload.
SSC-EWI-BQ0029¶
BigQuery Python UDFs use a remote/containerized execution model with OPTIONS that are not supported in Snowflake.
Severity¶
Medium
Description¶
BigQuery Python UDFs use a remote or containerized execution model configured through OPTIONS. Snowflake’s Python UDF model does not support those BigQuery execution options, so SnowConvert AI adds this EWI and requires the runtime configuration to be reviewed.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Review the Python handler and replace unsupported BigQuery execution options with Snowflake-compatible configuration.
SSC-EWI-BQ0030¶
Snowflake does not support a BigQuery CREATE AGGREGATE FUNCTION with a JavaScript or SQL body or the NOT AGGREGATE parameter modifier.
Severity¶
High
Description¶
BigQuery aggregate functions can use JavaScript or SQL bodies and can mark parameters with NOT AGGREGATE. Snowflake aggregate functions require a Python handler and do not support that parameter modifier, so SnowConvert AI preserves the unsupported declaration with this EWI.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Reimplement the aggregate function with a Snowflake Python handler and redesign any
NOT AGGREGATEparameters.
SSC-EWI-BQ0031¶
Snowflake CREATE FUNCTION does not support a TABLE type as an input parameter; TABLE(…) is allowed only in the RETURNS clause.
Severity¶
High
Description¶
BigQuery table functions can declare a table type as an input parameter. Snowflake allows TABLE(...) only in a function’s RETURNS clause, so SnowConvert AI retains the rewritten table parameter and adds this EWI for redesigning the input.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Replace the table-valued input with scalar, array, or staged-table inputs supported by Snowflake functions.
SSC-EWI-BQ0032¶
Remote functions are not supported in Snowflake. Use CREATE EXTERNAL FUNCTION with a pre-created API_INTEGRATION as a workaround.
Severity¶
Medium
Description¶
BigQuery remote functions use REMOTE WITH CONNECTION and an endpoint option. Snowflake does not support that syntax, so SnowConvert AI preserves it with this EWI; migrate the function to CREATE EXTERNAL FUNCTION with a pre-created API integration.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Create the required API integration and rewrite the function as a Snowflake external function.
SSC-EWI-BQ0033¶
The ‘library’ OPTION for JavaScript UDFs has no Snowflake equivalent because Snowflake JavaScript UDFs cannot import external libraries.
Severity¶
Medium
Description¶
BigQuery JavaScript UDFs can load external source files through the library option. Snowflake JavaScript UDFs cannot import external libraries, so SnowConvert AI comments out the option and adds this EWI while preserving the inline function body.
Code Example¶
Input Code:¶
BigQuery¶
Output Code:¶
Snowflake¶
Best Practices¶
- Remove the external-library dependency or migrate the implementation to a supported Snowflake runtime and packaging model.