Changelog
- 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