Announcing the LocalStack for Snowflake 1.4 Release
LocalStack for Snowflake 1.4 adds new SQL functions and practical parity updates, including column exclusion in SELECT, inline foreign keys, flexible JSON/Arrow result encodings, stage‑sourced query bindings, batched results for large queries, and improved async error handling.
Introduction
LocalStack for Snowflake 1.4 focuses on practical compatibility upgrades that streamline everyday development. This release adds new SQL functions alongside improvements that align query behavior and result handling more closely with Snowflake.
Building on previous releases, version 1.4 adds column exclusion in SELECT, expanded UPDATE semantics, inline foreign keys, session‑level choice of JSON or Arrow result encodings, stage‑sourced query bindings, and batched results for large queries. Error reporting is also refined with Snowflake‑compatible async responses for smoother integration with popular clients and connectors.
Get your free LocalStack trial to access the latest features in LocalStack for Snowflake 1.4!
How to upgrade?
To upgrade to LocalStack for Snowflake 1.4 using the LocalStack CLI, run:
docker pull localstack/snowflake:1.4.0localstack start --stack snowflakeIf you’re using LocalStack for Snowflake with Docker CLI or Docker Compose, you can pin the image version in your docker run command or Docker Compose file to 1.4.0.
What’s new in LocalStack for Snowflake 1.4?
Support for several new SQL functions
We have added support for several new SQL functions in LocalStack for Snowflake. The new functions include:
| Function | Notes |
|---|---|
| GENERATOR | Generates a set of rows, useful for creating test data and sequences. |
| SIGN | Returns the sign of a numeric value (-1, 0, or 1). |
| PI | Returns the mathematical constant π. |
Improved parity with Snowflake
We have made several enhancements to LocalStack for Snowflake to improve compatibility with the Snowflake service. These include:
- Added support for the
UPDATE … FROM … SET …syntax variant. - Added support for query parameter bindings sourced from stage files.
- Updated embedded Apache NiFi to version 2.6.0, ensuring improved parity with the latest upstream features.
- Added support for
SELECT * EXCLUDE (...)by expanding wildcard columns and removing excluded fields. - Extended query-binding and timestamp-parsing parity to correctly interpret large numeric timestamp-with-timezone encodings.
- Added support for inline
FOREIGN KEYconstraints duringCREATE TABLEprocessing by extracting and storing inline references. - Added Snowflake-compatible error handling for
MERGEstatements by raisingDuplicateMergeKeyExceptionwhen duplicate keys are detected. - Implemented support for selecting JSON or Arrow result encodings via session parameters, improving compatibility with Snowflake client behavior.
- Enhanced
DESCRIBE VIEWandSHOW VIEWSto return the exact Snowflake-compatible column types and modifiers from view definitions, improving compatibility with Snowflake clients. - Enabled result chunking for large query outputs by integrating Snowflake-compatible batch returns, improving handling of high-volume result sets, and aligning behavior with the Python connector.
- Improved error handling for async queries by returning full Snowflake-compatible error structures, ensuring connectors correctly surface detailed error information instead of generic
FAILED_WITH_ERRORstatuses.
Conclusion
LocalStack for Snowflake 1.4 sharpens parity and improves developer ergonomics with targeted enhancements to SQL coverage, query semantics, and result handling. These additions make it easier to build, test, and validate Snowflake workflows locally with behavior that closely mirrors production.
Sign up for a free trial or upgrade to LocalStack for Snowflake 1.4 to leverage these improvements in your local development environment.