Changelog
The LocalStack for Snowflake changelog tracks updates to LocalStack’s Snowflake support, including new features, enhancements, and compatibility fixes. Stay up to date on changes across official versioned releases of LocalStack’s Snowflake support.
- Add support for
SQUARE,FACTORIAL,UNIFORM,SYSTEM$ALLOWLIST,ARRAYS_ZIP,CURRENT_ORGANIZATION_USER,QUERY_HISTORYfunctions - Enhance metadata for varchar type
- Add support for
PIVOToperation - Introduce
SF_S3_ENDPOINT_EXTERNALconfig - Add logic to add DQM records on
TRIGGER_ON_CHANGES - Add implementation for
PUT /api/v2/databases/{name} - Enhance parity for different flavors of
REVOKEstatements - Add support for quoted stage references
- Fix drop tables with multi-level identifiers
- Enhance parity for GRANT TO statements
- Fix FULL JOINs between columns of different types
- Properly delete stage files on table
REPLACE - Add initial CRUD support for network rules
- Fix column dependencies and
WHERE/ORDER BYreferences in subqueries - Add initial CRUD support for API INTEGRATIONs
- Enhance processing of UPDATE queries with table aliases
- Add initial support for Openflow via Apache NiFi
- Fix parsing timestamps with milliseconds
- Fix CREATE OR REPLACE statements when schema name is specified in resource identifier
- Enhance parity for database roles and grants
- Add initial CRUD support for SECRETs
- Support UDFs with handler code imported from stage file
- Add initial CRUD support for resource monitors
- Add initial CRUD support for masking policies
- Support
SHOW REPLICATION ACCOUNTS - Enhance parity for creating transient schemas
- Enhance
CREATE MASKING POLICYhandling
- Add support for functions:
ROUND,SYSDATE,STARTSWITH,ENDSWITH,MD5,SUBSTR,HAVERSINE,LAST_DAY,TRY_CAST,TRUNCATE,PERCENT_RANK,SYSTEM$TASK_DEPENDENTS_ENABLE - Implement
TRY_*conversion functions - Add number formatting parameter to
TO_DOUBLEandTO_DECIMAL - Add initial support for data metric functions (DMFs)
- Add
SF_AWS_ENDPOINT_URLconfig var to make AWS endpoint configurable TIMEandTIMESTAMPprocessing improvements- Add initial CRUD support for compute pools
- Add support for
OR REPLACEonCREATE STREAMstatements - Add support for
IF NOT EXISTSonCREATE TASKstatements - Enhance GROUP BY over aggregate columns
- Add initial CRUD support for security integrations
- Handle if exists when dropping tags
- Enhance account name handling
- Add timezone, fractional seconds formatting to
TO_CHAR - Enhance parity for sorting VARIANT-encoded values
- Add initial support for streams on
CHANGE_TRACKINGtables - Enhance parity for subqueries with column aliases
- Add support for dict bindings with named query parameters
- Boost performance of multi-statement queries
- Implement support for more database endpoints in REST API
- Fix encoding of numeric NaN
- Enhance storage integration statements
- Added support for
INclause inSHOW INDEXESqueries - Enhance parity for result encoding of async queries
- Add support for using
on_error=continueused inCOPY INTOstatements - Add
LIMITsupport forSHOW DATABASES - Enhance parity for type casts on results returned from
FLATTEN - Enhance parsing of nested variable assignments
- Implementation and migration to the new type system
- Enhance persistence support for storing/reloading native apps
- Add support for cross-db CTAS and CVAS statements
- Enhance support for
ALTER DATABASEstatements - Add initial support for
COLLATEtable columns - Add support for
DESCRIBE SCHEMA - Enhance support for
ALTER SCHEMAqueries - Add support for suspending tasks
- Add initial support for table change tracking
- Implement
CONCATfunction - Miscellaneous fixes for Streamlit apps
- Add support for secure functions
- Add exception handler for REST API
- Fix
TO_DATEfor JSON object attributes - Enhance parity for managing Users and Roles
- Implement
LOWERandUPPERfunctions - Fix
DROP TABLEquery - Add initial support for
GRANT OWNERSHIPstatements - Enhance CRUD support for
ROW ACCESS POLICIES - Support temporary views and dropping temp objects at session end
- Enahance parity for
CREATEandDROP ROLE - Fix for multi-account DB initialization
- Fix for
TO_DATEconversion with date format string - Fix insertion of numeric values from staged CSV files
- Fix return value of
TO_DECIMALfor int values - Fix parity with SnowSQL for
SHOW ROLES - Fix create user or role response
- Add support for
ALTER SESSION UNSET - Native app deployment fixes
- Add support for
SHOW TELEMETRY EVENT DEFINITIONS IN APPLICATION - Support
ALTERandDESCRIBE APPLICATION - Support
DESCRIBE PROCEDURE - Add support for function
SYSTEM$VALIDATE_NATIVE_APP_SETUP - Add dispatcher request deserialization for REST API
- Enhance parity on metadata results for copy into command
- Fix for numeric bool values
- Add support for
SHOW/ALTER FUNCTION - Fix incompatibilities with GO driver and SnowSQL client
- Add support for
SHOW INDEXES - Improve timestamp string support in
TO_TIMESTAMP - Fix casting values to array
- Cast
MERGE INTO/UPDATEcommands arguments to target type - Make
TO_BOOLEANwork with all boolean strings - Enhance parity for parsing URLs with whitespaces in
PUTcommands - Enhance and add support for metadata columns in parquet format
- Enhance CRUD support for external volumes
- Add support for
EXECUTE TASK - Fix identifier parsing in stages and file formats
- Enhance
SHOW TABLESfeature parity - Handle
DATEandTIMEfunctions - Add initial Iceberg support
- Enhance parity for GRANT statements and DB permissions
- Add initial support for password-less auth using RSA key
- Enhance parity for queries over staged JSON files
- Add initial support for Catalog Integrations
- Support prepared statements in ODBC driver
- Enhance decimals parity
- Add initial support for granting
APPLICATION ROLE - Enhance parity for SQL procedures with SF-native statements
- Add support for lateral column references on
SELECT - Fix
SHOW TABLEwith schema scope for Flyway - Decode field delimiters passed as hex or octal values
- Remove modifiers from binary columns
- Fix permissions to clone default database
- Add support for numeric paramstyle
- Enhance support for
CASEexpressions inBEGIN..ENDblocks - Refreshed UI
- Enhance parity for
DESCRIBE DATABASEqueries - Enable local deployment of Streamlit Native Apps
- Enhance parity for materialized view queries
- Enhance parity for
SHOW DYNAMIC TABLES - Fix handling of
IF EXISTSstatements within transactions - Enhance support for
BEGINcode blocks with multiple command statements - Enhance logic for native apps and permission grants
- Enhance parity for Native Apps that contain streamlit apps
- Add auto-conversion of strings to
ARRAY/OBJECTtypes - Add support for Polaris catalog
- Add support for multi-account setups
- Add initial support for Java UDFs
- Add initial support for native apps and
APPLICATION PACKAGEs - Add support for row access policies
- Add support for AVRO file format
- Add support for
ALTER STAGEandALTER STREAMstatements - Enhance
SHOW COLUMNS/SCHEMASfeature parity - Add support for
EQUAL_NULLand variant type check functions - Add support for
ARRAY_REVERSEfunction - Add support for
DESCRIBE/SHOW SEQUENCES - Enhance timestamp handling and timezone support
- Add support for metadata columns in JSON
- Add support for
INSERT OVERWRITEqueries - Support ZTSD compression
- Enhance
TO_CHARwith date and number formatting - Support dropping multiple columns in single
ALTERstatement - Add support for TIMEZONE session parameter
- Make default user and password configurable
- Fix various timestamp and timezone-related issues
- Improve query performance by re-using PG connections per session
- Enhance parity for comparison of VARIANTs and JSON objects
- Enhance column aliasing for joins
- Fix type mapping for rowtype metadata to enhance compatibility with .NET clients
- Cast
INSERT INTOarguments to target type - Add support for
REGEXP_SUBSTRfunction - Prohibit Postgres specific data types
- Add
HEADERandFIELD_OPTIONALLY_ENCLOSED_BYsupport for COPY INTO - Support subquery in copy into location
- Support not equal operator
- Enhance parity for $N references in WHERE clauses
- Increase identifiers length to 255 char
- Improve JDBC driver compatibility
- Support LS alias to LIST files from stages
- Change storage integration to not be associated with DB/schema
- Add enhanced support for SHOW ROLES and USE ROLE
- Enhance parity for COUNT(..) with NULL values
- Add multiple statements support
- Fix staging issues with parsing
- Enhance logic for timestamp assignments in MERGE INTO queries
- Add proper passing of stage parameters and validations
- Add support for
SYSTEM$CLIENT_VERSION_INFO/OBJECT_CONSTRUCT_KEEP_NULL/TIMESTAMPADD/DATEADD/TIMEADDfunctions - Fix timestamp_ltz comparison operators issue
- Fix INSERT result count type
- Show tables metadata/information for dynamic tables
- Include Snowflake emulator version in the logs
- Update web app layout
- Enhance parity for NUMBER/FIXED data types in JDBC results
- Add support for querying from
INFORMATION_SCHEMA.TABLES - Fix Arrow encoding for large decimal numeric values
- Fix session for /api/v2/statements endpoint
- Improve file formats handling in COPY INTO
- Enhance parity for COPY INTO with multiple stage files
- Update metadata for integer
- Enhance parity around selecting NULL values for DATE columns
- Add initial support for materialized views
- Add format parameter for
TO_TIMESTAMPfunction - Add support for async execution of multi-statement queries
- Add support for patterns in select from stages
- Allow table column projections for COPY INTO queries from stage files
- Add support for numeric operators with mixed/variant types
- Add initial support for
MAPdata type and util functions - Create
INFORMATION_SCHEMA.FUNCTIONStable - Add support for querying metadata filename in select from stage statements
- Enhance parity for primary/foreign keys
- Add support for IF EXISTS clauses in ALTER COLUMN queries
- Add initial support for user-defined transaction management
- Support
POWER/POW/DIV0NULL/IFNULLfunctions - Add support for COPY INTO location
- Add initial support for table/database clones
- Establish parity with snowflake when csv imports
- Allow binding multiple values
- Fix database and schema names in copy into table
- Fix
executeUpdatein JDBC - Support
ORDERandNOORDERfrom AUTOINCREMENT column def - Add initial logic and tests for replicating resources between accounts
- Convert empty csv values to null
- Add support and tests for
LATERALqueries - Add initial support for EXECUTE IMMEDIATE
- Add initial support for tags
- Add identifier support to SELECT queries
- Fix inserting timestamp values correctly
- Fix timestamps in insert for current_timestamp
- Add support for init scripts
- Fix handling timestamp values on update
- Add support for
DESCRIBE STAG - Add initial support for storage integrations
- Enhance parity of
TIMESTAMP_LTZ - Create clone db using identifiers
- Add mock support for replication databases to fix TF issues
- Fix logic for setting session parameters
- Add support for some extended GRANT statements
- Support
ALTER SEQUENCE - Support creating stages with storage integrations
- Terraform create database fixes
- Improve general error handling
- Add initial support for
SHOW GRANTS TO/OF
- Add initial support for
OBJECT_KEYS/PARSE_IP/DESCRIBE FUNCTIONfunctions - Add support for various functions including
DATE_TRUNC,NVL2,LEAST,GREATEST, and more - Enhance parity for creation/deletion of schemas with fully qualified names
- Enhance parity for inserting timestamps with subsecond precision
- Enhance parity for CTAS with nested subqueries
- Enhance parity for id placeholders in JDBC prepared statements
- Enhance parity for metadata queries and schema lookup
- Adjust
MIN_BY/MAX_BYaggregate functions - Properly extract db/schema parameters for JDBC connections
- Implement trigonometric and hyperbolic functions
- Add support for GET stage files
- Add initial support for hybrid tables and dynamic tables
- Add support for
OBJECT_CONSTRUCT_KEEP_NULL/AS_DOUBLE/AS_INTEGER/AS_NUMBER/AS_CHAR - Add
/resultAPI endpoint to retrieve query results - Track original types in internal VARIANTs
- Enhance parity for
SHOW WAREHOUSESqueries - Support for
SHOW TASKS - Enhance parsing of stage params
- Fix selection of columns when querying stage files
- Automatically adjust PG JIT support if LLVM libs are missing
- Enhance custom JSON parsing to allow escaped characters
- Enhance parity of
TIMESTAMP_LTZfor Flyway compatibility
- Add initial support for Iceberg tables
- Add initial support for external volumes and Snowflake pipes
- Support
LIST/REMOVEqueries for staged files - Support
SHOW PIPESqueries - Support
COPY GRANTSinCREATE TABLEqueries - Add multiple new SQL functions
- Implement
RANK/DENSE_RANK - Implement various conversion functions
- Enhance logic for
TO_CHAR - Support window queries with
QUALIFY - Support
COUNT_IFaggregate functions - Make
CREATE SERVERqueries idempotent - Fix compatibility issues
- Add MUI data-grid for results table in UI
- Add squashing of Docker image to reduce size
- Support various SQL functions (
BITAND,FLATTEN,RANDOM, etc.) - Add Snowflake proxy request handler
- Add initial version of simple UI view
- Fix execution of CTAS queries with UNION selects
- Fix logic for PUT file uploads
- Support parsing incomplete JSON
- Enhance support for TABLESAMPLE queries
- Add initial support for temporary and transient tables
- Add Snowflake v2 SQL APIs
- Fix
describeOnlyINSERTqueries
0.1.26
Section titled “0.1.26”- Support
CONVERT_TIMEZONE,IFFSQL functions - Implement
ALTER WAREHOUSEas no-op - Implement time functions
- Enhance JDBC driver compatibility
- Fix Arrow encoding
- Support SQL queries from within JS UDFs
- Add various performance improvements
- Implement additional date functions
- Add support for loading data from public S3 buckets
0.1.25
Section titled “0.1.25”- Enhance support for various SHOW queries
- Add initial persistence support for Snowflake store
- Enhance parity for timestamp types
- Fix SHOW PARAMETERS for Terraform compatibility
- Set up CI build for Docker image
0.1.24
Section titled “0.1.24”- Enhance parity around user-defined PROCEDUREs
- Fix upper-casing for various functions
- Enhance support for UNIQUE column constraints
- Add initial support for cross-DB resource sharing
0.1.23
Section titled “0.1.23”- Add initial simple scheduler to periodically run tasks
0.1.22
Section titled “0.1.22”- Fix query transforms for
ADD COLUMNqueries - Fix wrapping of
VALUESsubquery in braces - Add initial CRUD support for
TASKs - Support
DROP PRIMARY KEYqueries - Migrate use of
localstack.httptorolo
0.1.21
Section titled “0.1.21”- Add support for consuming table stream records via DML statements
0.1.20
Section titled “0.1.20”- Initial simple support for table streams
- Add support for
SHOW DATABASES,SHOW VIEWS - Enhance parity for Arrow results
- Fix various identifier and query issues
0.1.19
Section titled “0.1.19”- Return
SELECTresults in arrow format for pandas compatibility - Add
add_monthsfunction - Fix UDFs with raw expressions
- Upgrade to Postgres v15
- Various parity and performance improvements
0.1.18
Section titled “0.1.18”- Add support for various array and aggregation functions
- Enhance
FILE FORMAToperations - Fix
CTASqueries - Support
INFER_SCHEMA(..)for parquet files - Improve identifier handling
0.1.17
Section titled “0.1.17”- Support creation/deletion of stages
- Add
IS_ARRAYfunction - Remove
DuckDBbasedDBengine - Refactor codebase to use
QueryProcessorinterface - Enhance column name handling
0.1.16
Section titled “0.1.16”- Add support for
SHOW PROCEDURESandSHOW IMPORTED KEYS - Add basic support for session parameters
0.1.15
Section titled “0.1.15”- Fix result type conversation for
GET_PATH(..)util function
0.1.14
Section titled “0.1.14”- Enhance parity around
SHOWqueries - Add more array util functions
- Fix
STRING_AGGfunctionality
0.1.13
Section titled “0.1.13”- Support
CURRENT_*functions - Enhance
LISTAGGfor distinct values - Add test for
JSUDFs with exports
0.1.12
Section titled “0.1.12”- Cast params for
string_agg/listagg - Fix parity for upper/lowercase names
0.1.11
Section titled “0.1.11”- Enhance parity for array aggregation functions
- Improve timestamp timezone handling
- Add case-sensitive identifier tracking
0.1.10
Section titled “0.1.10”- Add query transforms for
CLUSTER BY - Add
SF_S3_ENDPOINTconfig - Various parity fixes
- Add support for
PythonUDFs - Enhance function creation parity
- Add analytics setup
- Add
SF_LOGconfig for request/response trace logging
- Add initial support for
JavaScriptUDFs - Enhance DB/table creation responses
- Improve streaming logic
- Introduce session state for DB/schema retention
- Support async queries and
result_scan(..)
- Enhance
DESCRIBE TABLEresults - Support
MIN_BY/MAX_BYaggregate functions
- Add logic to parse and replace
DBreferences in queries
- Add
DBEngineabstraction - Add experimental support for
duckdb - Enhance
JSONquery support
- Add CSV file ingestion from Snowflake stage to table
- Initial support for
Kafkaconnector - Add
snowpipe/streaming APIs
- Initial release of the extension