Skip to content

Latest commit

 

History

History
573 lines (301 loc) · 32 KB

CHANGELOG.md

File metadata and controls

573 lines (301 loc) · 32 KB

Changelog

0.9.25 (2024-09-16)

Features

  • Adds MERGE INTO transform (#109) (d5e14a7)
  • close duckdb connection (223f8e2)
  • server: handle snowflake ProgrammingError (9455a43)
  • server: support empty result set (b967b69)
  • server: support FAKESNOW_DB_PATH (af79f77)
  • server: support time & timestamp types (1606a3e)
  • support MERGE with multiple join columns and source subqueries (#136) (9b5a7a0), closes #24

Chores

  • deps-dev: bump pyright from 1.1.374 to 1.1.378 (#133) (593a420)
  • deps: update ruff requirement from ~=0.5.1 to ~=0.6.3 (#130) (6b37d8b)

0.9.24 (2024-08-21)

Bug Fixes

  • don't require pandas at import time (2a7944e), closes #127

0.9.23 (2024-08-20)

Features

  • server: support bool, int, float types (efd4942)
  • server: support cur.description (6e9c1a5)
  • support conn.is_closed() (36dd461), closes #125

0.9.22 (2024-08-11)

Features

  • DESCRIBE VIEW (b874fc1)
  • describe view information_schema.* (facc390)

Bug Fixes

  • column types for DESCRIBE (572eaf5)
  • fetchmany supports irregular sizes (3115afd)
  • log all sql executed (in debug mode) (6faa120)

Chores

  • deps: update sqlglot requirement from ~=25.5.1 to ~=25.9.0 (#123) (da78574)

0.9.21 (2024-08-04)

Features

Bug Fixes

  • Allow connection with schema=information_schema (#122) (51e4e68)
  • columns returned by describe view information_schema.columns (83c62b6)
  • Ensure type column in information_schema views is not null (#121) (7340a4a)
  • Only set variables for SetItem expressions (#116) (0e0711c)

Chores

0.9.20 (2024-07-10)

Features

Bug Fixes

  • $$ not considered a variable (235fbc1)
  • concurrent connection write-write conflict (96ba682)

0.9.19 (2024-07-08)

Features

  • Implements basic snowflake session variables via SET/UNSET (#111) (7696cbd)

Chores

  • deps-dev: bump pyright from 1.1.366 to 1.1.369 (#112) (7656ab9)

0.9.18 (2024-06-29)

Bug Fixes

  • execute_string ignores comments (e6513f7)
  • Support IF NOT EXISTS in CREATE DATABASE statements (#108) (e7f3f97)

0.9.17 (2024-06-23)

Features

Bug Fixes

  • ARRAY_AGG with OVER (6d94c61), closes #92
  • flatten VALUE cast to varchar as raw string (818efcc)
  • more selective flatten_value_cast_as_varchar (7748fbf)

Chores

  • deps: update duckdb requirement from ~=0.10.3 to ~=1.0.0 (#107) (8ead354)
  • deps: update sqlglot requirement from ~=24.1.0 to ~=25.3.0 (#106) (89bee6f)

0.9.16 (2024-06-21)

Bug Fixes

0.9.15 (2024-06-07)

Bug Fixes

Chores

  • deps-dev: bump pyright from 1.1.361 to 1.1.366 (#102) (81839a4)

0.9.14 (2024-06-02)

Features

Bug Fixes

Chores

0.9.13 (2024-05-08)

Features

  • nop regexes to ignore unimplemented commands (f3783bb)

Chores

0.9.12 (2024-05-07)

Features

  • add write_pandas support for auto_create_table param (b78ba1d)

0.9.11 (2024-05-07)

Bug Fixes

  • write_pandas using database and schema params (d210c0b)

0.9.10 (2024-05-05)

Features

  • support CREATE TABLE .. CLONE (ad049d9)

Chores

  • deps-dev: bump pyright from 1.1.355 to 1.1.361 (#85) (adfa9f0)
  • deps: update ruff requirement from ~=0.3.2 to ~=0.4.2 (#86) (d2ec882)

0.9.9 (2024-05-01)

Bug Fixes

  • CREATE TABLE AS with aliases and combined fields (dbffa01), closes #82
  • patching in fakesnow.ipynb (388c0ef)

Chores

0.9.8 (2024-04-19)

Features

  • support trim with numeric and variant types (#69) (00ab619)

Bug Fixes

  • don't double transform cur.description sql (76551ef), closes #61
  • GET_PATH precedence for JSONExtractScalar (#78) (8a888a1)
  • json extraction: only return string when casting to varchar (#77) (173344e)

0.9.7 (2024-04-08)

Features

  • add TRY_PARSE_JSON (#67) (5ebf0ba)
  • add TRY_TO_{DECIMAL,...} (#68) (5903af6)
  • cast string literals to timestamp in dateadd (#72) (5af0a36)
  • cast string literals to timestamp in datediff (#79) (c8d7b26)
  • mimic dateadd with date + day/week/month/year (#71) (6a8ebe2)
  • support sha2 and sha2_hex with digest size of 256 (#63) (ce345e9)

Bug Fixes

  • remove only null key/values in object_construct (#74) (d09edb6)
  • write_pandas quotes columns when inserting dataframe (#65) (f62ab03)

Chores

0.9.6 (2024-03-24)

Features

  • support sqlalchemy metadata reflection (#55) (904156c)

Chores

  • add ruff-format (cruft update) (46fd572)
  • deps-dev: bump pyright from 1.1.330 to 1.1.355 (#58) (9060a2e)

0.9.5 (2024-02-23)

Features

  • SHOW PRIMARY KEYS + description for CREATE VIEW + fix information_schema.columns to work with sqlalchemy (#52) (ff0ab13)

Bug Fixes

  • GET_PATH has higher precedence than comparison operators (91c57a5), closes #53

0.9.4 (2024-02-18)

Features

  • implement information_schema.views (#50) (c6d0bab)

0.9.3 (2024-02-17)

Features

  • connection close (2715d04), closes #45
  • support snowflake.connector.paramstyle (524d136), closes #46

0.9.2 (2024-02-15)

Features

0.9.1 (2024-02-09)

Features

0.9.0 (2024-02-08)

⚠ BREAKING CHANGES

  • change to Apache License

Features

  • cursor.rowcount now returns count (8a8264e)
  • DESCRIBE TABLE (7d0d3a7)
  • EQUAL_NULL (f108a36)
  • extract column comments (27ff048)
  • include params in debug output (7452756)
  • SHOW OBJECTS (84e16e8)
  • SHOW SCHEMAS (74cd1a7)
  • SHOW TABLES (56f6a0b), closes #38
  • support description for TIMESTAMP WITH TIME ZONE (40a3a1e)
  • support description without db/schema + dropping current schema (3315d99)
  • support on-disk databases (6043f3d)
  • UPDATE returns number of rows updated (f1187b1)

Bug Fixes

  • casing in description() (db35a5d)
  • cli passes -m and -d to target (83254d3)
  • COMMENT ON supports raw string (50f0253)
  • FAKESNOW_DEBUG=snowflake corrupting sql (81d7e3c)
  • SHOW OBJECTS shows information_schema objects (6318881)
  • store result set per results set (69f00a6)
  • TO_DATE(VARCHAR) (c5b5d7b)
  • write_pandas supports dicts with different keys (5962801)

Chores

0.8.2 (2024-01-05)

Features

  • FAKESNOW_DEBUG=snowflake prints original snowflake sql statement (42db788)
  • support ARRAY_SIZE (c35d14b)
  • support GET_PATH on nested json (7430067)
  • support IDENTIFIER (a40ac61)
  • support OBJECT_CONSTRUCT_KEEP_NULL (47168fb)
  • support RANDOM (93c2a07)
  • support ResultBatch.to_pandas() (4bfbf45)
  • support SAMPLE (437343f)
  • support TO_TIMESTAMP_NTZ (e351fee)

Bug Fixes

  • upper/lower converts extracted json to varchar (44cd871)

0.8.1 (2024-01-03)

Features

Bug Fixes

  • description for CREATE DATABASE (6015ac8)
  • description for CREATE SCHEMA (f9b1a4d)
  • description for CREATE TABLE (8e8374a)
  • description for DROP statements (a3da822)
  • description for INSERT (ef93ad3)
  • flatten order matches array (fc3d24f)
  • handle commit without transaction (d939b43)
  • handle rollback outside transaction (af0d7ab)
  • notebook no active connection (d60f5db)

Chores

  • add notebooks used for development (3055fd4)
  • bump sqlglot 20.4.0 (2b216f9)
  • bump sqlglot 20.5.0 (6963493)

0.8.0 (2023-12-28)

⚠ BREAKING CHANGES

  • support arrays

Features

Chores

0.7.1 (2023-12-27)

Bug Fixes

  • No module named 'pandas.core.arrays.arrow.dtype' (6ed1d2a)

Chores

0.7.0 (2023-09-09)

Features

  • add information_schema.databases (6953d00), closes #22

0.6.0 (2023-08-19)

Features

  • dictionary params (01ce713)
  • support describe and info schema for ARRAY and OBJECT (0826d1c)
  • to_decimal, to_number, to_numeric (8c19a8b)

Chores

0.5.1 (2023-07-24)

Bug Fixes

  • describe on INTEGER column type in info schema (652525d), closes #16

0.5.0 (2023-07-23)

Features

  • cursor sqlstate (04aa92e)
  • sqlid (18985e9)
  • support BINARY type in description and info schema (32d5952)
  • support TIME in description & TIMESTAMP in info schema (7014d8d)

Bug Fixes

  • info schema now returns FLOAT types correctly (55d84c1)

Chores

  • add test coverage for BOOLEAN in info schema (9c4f254)

0.4.1 (2023-07-16)

Bug Fixes

  • remove stray debugging print (0ecc853)

0.4.0 (2023-07-16)

Features

  • support indices on variants (8269552)
  • support regexp_substr (98abc33)
  • very basic rowcount support (d1116d8)

Bug Fixes

  • dataframe integer columns are int64 (13d36df)
  • info schema now returns NUMBER for numeric types (b108110)
  • info schema now returns TEXT for text types (3ea4f5f)
  • support parse_json on values columns (d5198b8)

Chores

  • remove unneeded type ignore (5214ff9)

0.3.0 (2023-07-15)

Features

  • info schema columns returns lengths for text types (edb91e5), closes #11
  • support ALTER TABLE .. SET COMMENT (6470bae)
  • support setting the timezone (228e884)
  • support timestamp_ntz(9) as a table column (ef28927)
  • treat float as 64 bit (cce50ba)

Bug Fixes

  • alter table .. add column (612e1aa)
  • fetchone() when using DictCursor (e1e50f7)
  • match snowflake's integer precision (49afda2), closes #12

Chores

0.2.0 (2023-06-24)

Features

  • support commit and rollback on connection (c5520b0), closes #6

Bug Fixes

  • describe to work with parameterized SQL queries (#7) (1adaad0)
  • No module named 'pandas' when using pdm (f60d45d), closes #5

0.1.0 (2023-06-20)

Features

  • cursor description (d7d0bb3)
  • describe supports more column types (b16175d)
  • support executemany (94f17b2)
  • support object_construct (6d3e82a)
  • support pyformat style params (3ba53f9)
  • support write_pandas for dataframes with dict values (ba210cd)
  • support write_pandas with partial columns (02fd6a4)
  • to_date supports timestamp(9) (2263430)

Bug Fixes

  • don't order object keys alphabetically (cbef428)
  • object_construct now supports different types (fa50752)
  • remove docformatter (890f1df), closes #1

Documentation