CREATE OR ALTER FUNCTION command: Omitted optional properties reset to defaults (Pending)¶
Attention
This behavior change is in the 2026_04 bundle.
For the current status of the bundle, refer to Bundle history.
The CREATE OR ALTER FUNCTION command behaves as follows:
- Before the change:
When you executed CREATE OR ALTER FUNCTION and omitted an optional property that had previously been set to a non-default value, the previously defined value was preserved. Removing an optional property from the DDL wasn’t treated as a change.
- After the change:
When you execute CREATE OR ALTER FUNCTION and omit an optional property, Snowflake resets that property to its default value. This aligns CREATE OR ALTER FUNCTION with the standard CREATE OR ALTER semantics for other Snowflake objects: any non-mandatory property that isn’t specified in the DDL is set to its default value, both when creating a new object and when altering an existing one.
This change affects you if all of the following are true:
You previously executed CREATE OR ALTER FUNCTION with an optional property set to a non-default value.
You later removed that property from the DDL and ran the statement again. At that time, the non-default value was preserved.
You execute that same DDL again after the 2026_04 behavior change bundle is enabled in your account.
After step 3, the function definition is altered to apply default values for the omitted properties, even though the DDL hasn’t changed since step 2. In automated deployment pipelines, this can alter a function unexpectedly and break downstream processes that depend on the previous configuration.
To prepare for this change, review the CREATE OR ALTER FUNCTION statements in your deployment pipelines. Verify that each statement explicitly specifies every optional property that you want to keep at a non-default value. If any properties are missing, add them to the DDL before you run the statement again.
Ref: 2264