v25.32.1 - 2024-11-27
954d8fd
- parse DEFAULT in VALUES clause into a Var (PR #4448 by @georgesittas)73afd0f
- bigquery: Make JSONPathTokenizer more lenient for new standards (PR #4447 by @VaggelisD)↘️ fixes issue #4441 opened by @patricksurry
v25.32.0 - 2024-11-22
-
due to
0eed45c
- Add support for ATTACH/DETACH statements (PR #4419 by @VaggelisD):Add support for ATTACH/DETACH statements (#4419)
-
due to
da48b68
- Tokenize hints as comments (PR #4426 by @VaggelisD):Tokenize hints as comments (#4426)
-
due to
fe35394
- fix datetime coercion in the canonicalize rule (PR #4431 by @georgesittas):fix datetime coercion in the canonicalize rule (#4431)
-
due to
fddcd3d
- bump sqlglotrs to 0.3.0 (commit by @georgesittas):bump sqlglotrs to 0.3.0
0eed45c
- duckdb: Add support for ATTACH/DETACH statements (PR #4419 by @VaggelisD)2db757d
- bigquery: Support FEATURES_AT_TIME (PR #4430 by @VaggelisD)↘️ addresses issue #4428 opened by @YuvrajSoni-Ksolves
fc591ae
- risingwave: add support for SINK, SOURCE & other DDL properties (PR #4387 by @lin0303-siyuan)a2bde2e
- mysql: improve transpilability of CHAR[ACTER]_LENGTH (commit by @georgesittas)0acc248
- snowflake: Support CREATE ... WITH TAG (PR #4434 by @asikowitz)↘️ addresses issue #4427 opened by @asikowitz
37863ff
- snowflake: Transpile non-UNNEST exp.GenerateDateArray refs (PR #4433 by @VaggelisD)
83ee97b
- parser: Do not parse window function arg as exp.Column (PR #4415 by @VaggelisD)↘️ fixes issue #4410 opened by @merlindso
b22e0c8
- parser: Extend DESCRIBE parser for MySQL FORMAT & statements (PR #4417 by @VaggelisD)↘️ fixes issue #4414 opened by @AhlamHani
d1d2ae7
- duckdb: Allow count arg on exp.ArgMax & exp.ArgMin (PR #4413 by @aersam)e3c45d5
- presto reset session closes #4421 (commit by @tobymao)fd81f1b
- more presto commands (commit by @tobymao)da48b68
- Tokenize hints as comments (PR #4426 by @VaggelisD)69d4a8c
- tsql: Map weekday to %w (PR #4438 by @VaggelisD)↘️ fixes issue #4435 opened by @travispaice
41d6a13
- add return type (PR #4440 by @etonlels)fe35394
- optimizer: fix datetime coercion in the canonicalize rule (PR #4431 by @georgesittas)6aea9f3
- Refactor NORMALIZE_FUNCTIONS flag usage (PR #4437 by @VaggelisD)
f32a435
- risingwave: clean up SINK/SOURCE logic (PR #4432 by @georgesittas)b24aced
- snowflake: clean up [WITH] TAG property / constraint (PR #4439 by @georgesittas)
fddcd3d
- bump sqlglotrs to 0.3.0 (commit by @georgesittas)
v25.31.4 - 2024-11-17
59b8b6d
- preserve column quoting in DISTINCT ON elimination (commit by @georgesittas)
v25.31.3 - 2024-11-17
0479743
- snowflake: cast to TimeToStr arg to TIMESTAMP more conservatively (commit by @georgesittas)
v25.31.2 - 2024-11-17
d851269
- use existing aliases in DISTINCT ON elimination, if any (commit by @georgesittas)
v25.31.1 - 2024-11-17
0e46cc7
- refactor DISTINCT ON elimination transformation (PR #4407 by @georgesittas)
v25.31.0 - 2024-11-16
-
due to
f4abfd5
- Support FORMAT_TIMESTAMP (PR #4383 by @VaggelisD):Support FORMAT_TIMESTAMP (#4383)
-
due to
45eef60
- use select star when eliminating distinct on (PR #4401 by @agrigoroi-palantir):use select star when eliminating distinct on (#4401)
72ffdcb
- bigquery: Add parsing support for STRPOS(...) (PR #4378 by @VaggelisD)e7b67e0
- bigquery: Support MAKE_INTERVAL (PR #4384 by @VaggelisD)37c4809
- bigquery: Support INT64(...) (PR #4391 by @VaggelisD)9694999
- Add support for CONTAINS(...) (PR #4399 by @VaggelisD)
f4abfd5
- bigquery: Support FORMAT_TIMESTAMP (PR #4383 by @VaggelisD)bb46ee3
- parser: Parse exp.Column for DROP COLUMN (PR #4390 by @VaggelisD)↘️ fixes issue #4388 opened by @AhlamHani
79f6783
- snowflake: Wrap DIV0 operands if they're binary expressions (PR #4393 by @VaggelisD)↘️ fixes issue #4392 opened by @diogo-fernan
647b98d
- starrocks: Add RESERVED_KEYWORDS specific to starrocks (PR #4402 by @notexistence)45eef60
- use select star when eliminating distinct on (PR #4401 by @agrigoroi-palantir)
a3af2af
- attach stamement comments consistently (PR #4377 by @georgesittas)
858c5b1
- improve contribution guide (PR #4379 by @georgesittas)160e688
- fix relative benchmark import, comment out sqltree (PR #4403 by @georgesittas)8d78add
- bump PYO3 to v"0.22.6" (PR #4400 by @MartinSahlen)f78e755
- bump sqlglotrs to v0.2.14 (commit by @georgesittas)
v25.30.0 - 2024-11-11
-
due to
60625ea
- Fix STRUCT cast generation (PR #4366 by @VaggelisD):Fix STRUCT cast generation (#4366)
87ab8fe
- spark, bigquery: Add support for UNIX_SECONDS(...) (PR #4350 by @VaggelisD)42da638
- bigquery: Support JSON_VALUE_ARRAY(...) (PR #4356 by @VaggelisD)e337a42
- bigquery: Parse REGEXP_SUBSTR as exp.RegexpExtract (PR #4358 by @VaggelisD)602dbf8
- Support REGEXP_EXTRACT_ALL (PR #4359 by @VaggelisD)27a44a2
- improve Levenshtein expression transpilation (PR #4360 by @krzysztof-kwitt)79c675a
- bigquery: Support JSON_QUERY_ARRAY & JSON_EXTRACT_ARRAY (PR #4361 by @VaggelisD)57722db
- optionally wrap connectors when using builders (PR #4369 by @georgesittas)↘️ addresses issue #4362 opened by @gabrielteotonio↘️ addresses issue #4367 opened by @gabrielteotonio
eb8e2fe
- bubble up comments in qualified column refs fixes #4353 (commit by @georgesittas)efcbfdb
- clickhouse: Generate exp.Median as lowercase (PR #4355 by @VaggelisD)60625ea
- duckdb: Fix STRUCT cast generation (PR #4366 by @VaggelisD)↘️ fixes issue #4365 opened by @NickCrews
a665030
- safe removal while iterating expression list for multiple UNNEST expressions (PR #4364 by @gauravsagar483)a71cee4
- Transpilation of exp.ArraySize from Postgres (read) (PR #4370 by @VaggelisD)↘️ fixes issue #4368 opened by @dor-bernstein
702fe31
- Remove flaky timing test (PR #4371 by @VaggelisD)4d3904e
- spark: Support DB's TIMESTAMP_DIFF (PR #4373 by @VaggelisD)↘️ fixes issue #4372 opened by @nikmalviya
060ecfc
- don't generate comments in table_name (PR #4375 by @georgesittas)
e19fb62
- improve error handling for unnest_to_explode (PR #4339 by @gauravsagar483)
v25.29.0 - 2024-11-05
-
due to
e92904e
- Transpile ANY to EXISTS (PR #4305 by @VaggelisD):Transpile ANY to EXISTS (#4305)
-
due to
23e620f
- Support MEDIAN() function (PR #4317 by @VaggelisD):Support MEDIAN() function (#4317)
-
due to
a093ae7
- always wrap value in NOT value IS ... (PR #4331 by @georgesittas):always wrap value in NOT value IS ... (#4331)
-
due to
84f78aa
- parse information schema views into a single identifier (PR #4336 by @georgesittas):parse information schema views into a single identifier (#4336)
efd9b4e
- postgres: Support JSONB_EXISTS (PR #4302 by @VaggelisD)↘️ addresses issue #4299 opened by @dor-bernstein
e92904e
- spark: Transpile ANY to EXISTS (PR #4305 by @VaggelisD)↘️ addresses issue #4298 opened by @dor-bernstein
2af4936
- snowflake: Transpile BQ's TIMESTAMP() function (PR #4309 by @VaggelisD)50a1c91
- snowflake: Transpile exp.TimestampAdd (PR #4320 by @VaggelisD)01671ce
- teradata: add support for hexadecimal literals (PR #4323 by @thomascjohnson)23e620f
- Support MEDIAN() function (PR #4317 by @VaggelisD)9faef8d
- snowflake: Transpile exp.TimestampSub (PR #4329 by @VaggelisD)2d98cac
- BigQuery: Support JSON_VALUE() (PR #4332 by @VaggelisD)f8fec0a
- snowflake: Transpile exp.DatetimeDiff (PR #4334 by @VaggelisD)16fd1ea
- BigQuery: Support JSON_QUERY (PR #4333 by @VaggelisD)c09b6a2
- duckdb: support flags for RegexpExtract (PR #4326 by @NickCrews)536973c
- trino: add support for the ON OVERFLOW clause in LISTAGG (PR #4340 by @georgesittas)4584935
- snowflake: Transpile exp.StrToDate (PR #4348 by @VaggelisD)71f4a47
- snowflake: Transpile exp.DatetimeAdd (PR #4349 by @VaggelisD)
551afff
- handle a Move edge case in the semantic differ (PR #4295 by @georgesittas)a66e721
- generator: Add NULL FILTER on ARRAY_AGG only for columns (PR #4301 by @VaggelisD)↘️ fixes issue #4300 opened by @elad-sachs
b4ea602
- clickhouse: improve parsing of WITH FILL ... INTERPOLATE (PR #4311 by @georgesittas)↘️ fixes issue #4310 opened by @brunorpinho
749886b
- tsql: Generate LOG(...) for exp.Ln (PR #4318 by @VaggelisD)5c1b1f4
- parser: optionally parse a Stream expression (PR #4325 by @georgesittas)bb49a00
- oracle: Do not normalize time units for exp.DateTrunc (PR #4328 by @VaggelisD)a093ae7
- clickhouse: always wrap value in NOT value IS ... (PR #4331 by @georgesittas)↘️ fixes issue #4330 opened by @elchyn-cheliabiyeu
def4f1e
- Refactor exp.RegexpExtract (follow up 4326) (PR #4341 by @VaggelisD)c1456d0
- presto/trino current_time closes #4344 (commit by @tobymao)8e16abe
- duckdb: we ALWAYS need to render group if params is present for RegexpExtract (PR #4343 by @NickCrews)1689dc7
- bigquery: Parse timezone for DATE_TRUNC (PR #4347 by @VaggelisD)84f78aa
- bigquery: parse information schema views into a single identifier (PR #4336 by @georgesittas)
v25.28.0 - 2024-10-25
-
due to
1691388
- Fix chained exp.SetOperation type annotation (PR #4274 by @VaggelisD):Fix chained exp.SetOperation type annotation (#4274)
-
due to
c3c1997
- Add support for STRING function (PR #4284 by @VaggelisD):Add support for STRING function (#4284)
379f487
- bigquery: transpile EDIT_DISTANCE, closes #4283 (commit by @georgesittas)c3c1997
- bigquery: Add support for STRING function (PR #4284 by @VaggelisD)1a26bff
- snowflake: Transpile exp.SafeDivide (PR #4294 by @VaggelisD)
ac66d2f
- clickhouse: properly parse CREATE FUNCTION DDLs (PR #4282 by @georgesittas)↘️ fixes issue #3276 opened by @jwhitaker-gridcog
1691388
- optimizer: Fix chained exp.SetOperation type annotation (PR #4274 by @VaggelisD)↘️ fixes issue #4261 opened by @gabrielteotonio
559e7bc
- clickhouse: Wrap subquery if it's LHS of IS NOT NULL (PR #4287 by @VaggelisD)↘️ fixes issue #4285 opened by @EugeneTorap
47bc09a
- sqlite: Fix UNIQUE parsing (PR #4293 by @VaggelisD)ee266ef
- improve support for identifier delimiter escaping (PR #4288 by @georgesittas)
c6ff7f1
- bump sqlglotrs to v0.2.13 (commit by @georgesittas)
v25.27.0 - 2024-10-22
-
due to
4d86499
- include the target node for Move edits (PR #4277 by @georgesittas):include the target node for Move edits (#4277)
-
due to
9771965
- Add support for TIMESTAMP_NTZ_FROM_PARTS (PR #4280 by @VaggelisD):Add support for TIMESTAMP_NTZ_FROM_PARTS (#4280)
-
due to
768adb3
- time string literals containing fractional seconds (PR #4269 by @treysp):time string literals containing fractional seconds (#4269)
9771965
- snowflake: Add support for TIMESTAMP_NTZ_FROM_PARTS (PR #4280 by @VaggelisD)9e11654
- clickhouse: add geometry types (PR #4278 by @jwhitaker-gridcog)
c25a9ab
- tsql: Keep CTE's attached to the query when emulating IF NOT EXISTS (PR #4279 by @erindru)768adb3
- clickhouse: time string literals containing fractional seconds (PR #4269 by @treysp)
4d86499
- diff: include the target node for Move edits (PR #4277 by @georgesittas)
v25.26.0 - 2024-10-21
-
due to
142c3e7
- Support TO_DOUBLE function (PR #4255 by @VaggelisD):Support TO_DOUBLE function (#4255)
-
due to
13d0696
- Support TRY_TO_TIMESTAMP function (PR #4257 by @VaggelisD):Support TRY_TO_TIMESTAMP function (#4257)
-
due to
7fc0055
- dont parse right-hand side operands of ARRAY JOIN as Tables (PR #4258 by @georgesittas):dont parse right-hand side operands of ARRAY JOIN as Tables (#4258)
-
due to
222152e
- Add type hints for optimizer rules eliminate & merge subqueries (PR #4267 by @VaggelisD):Add type hints for optimizer rules eliminate & merge subqueries (#4267)
6f32e53
- support non-strict qualify_columns (PR #4243 by @hsheth2)ed97954
- duckdb: Transpile Spark's LATERAL VIEW EXPLODE (PR #4252 by @VaggelisD)↘️ addresses issue #4247 opened by @idanyadgar-clutch
8f5efc7
- oracle: parse hints (PR #4249 by @mkmoisen)8b7ff5e
- starrocks: support for ALTER TABLE SWAP WITH (PR #4256 by @mrhamburg)1c43348
- trino: Support for LISTAGG function (PR #4253 by @VaggelisD)142c3e7
- snowflake: Support TO_DOUBLE function (PR #4255 by @VaggelisD)13d0696
- snowflake: Support TRY_TO_TIMESTAMP function (PR #4257 by @VaggelisD)04dccf3
- tsql: Support for stored procedure options (PR #4260 by @rsanchez-xtillion)36f6841
- bigquery: support EDIT_DISTANCE (Levinshtein) function (PR #4276 by @esciara)
fcc05c9
- bigquery: Early expand only aliased names in GROUP BY (PR #4246 by @VaggelisD)5655cfb
- add support for negative intervals in to_interval (commit by @georgesittas)51f4d26
- generate single argument ArrayConcat without trailing comma fixes #4259 (commit by @georgesittas)7fc0055
- clickhouse: dont parse right-hand side operands of ARRAY JOIN as Tables (PR #4258 by @georgesittas)8f49ad8
- clickhouse: traverse_scope with FINAL modifier (PR #4263 by @pkit)83167ea
- hive dialect hierarchy has no CURRENT_TIME func (PR #4264 by @georgesittas)7a5c7e0
- presto: transpile BIT to BOOLEAN (commit by @georgesittas)48be3d8
- make the semantic diffing aware of changes to non-expression leaves (PR #4268 by @georgesittas)4543fb3
- optimizer: Fix merge_subqueries.py::rename_inner_sources() (PR #4266 by @VaggelisD)↘️ fixes issue #4245 opened by @daniel769
222152e
- optimizer: Add type hints for optimizer rules eliminate & merge subqueries (PR #4267 by @VaggelisD)
94013a2
- simplify _expression_only_args helper in diff module (PR #4251 by @georgesittas)41e2eba
- Oracle: simplify hint arg formatting (commit by @georgesittas)cfd692f
- move SwapTable logic to the base Parser/Generator classes (commit by @georgesittas)
v25.25.1 - 2024-10-15
e6567ae
- small overload fix for ensure list taking None (PR #4248 by @benfdking)
v25.25.0 - 2024-10-14
-
due to
275b64b
- refactor set operation builders so they can work with N expressions (PR #4226 by @georgesittas):refactor set operation builders so they can work with N expressions (#4226)
-
due to
aee76da
- Native annotations for string functions (PR #4231 by @VaggelisD):Native annotations for string functions (#4231)
-
due to
202aaa0
- Native annotations for string functions (PR #4234 by @VaggelisD):Native annotations for string functions (#4234)
-
due to
5741180
- produce exp.Column for the RHS of IN (PR #4239 by @georgesittas):produce exp.Column for the RHS of IN (#4239)
-
due to
4da2502
- make Explode a UDTF subclass (PR #4242 by @georgesittas):make Explode a UDTF subclass (#4242)
163e943
- tsql: SPLIT_PART function and conversion to PARSENAME in tsql (PR #4211 by @daihuynh)275b64b
- refactor set operation builders so they can work with N expressions (PR #4226 by @georgesittas)3f6ba3e
- clickhouse: Support varlen arrays for ARRAY JOIN (PR #4229 by @VaggelisD)↘️ addresses issue #4227 opened by @brunorpinho
aee76da
- bigquery: Native annotations for string functions (PR #4231 by @VaggelisD)202aaa0
- bigquery: Native annotations for string functions (PR #4234 by @VaggelisD)eeae25e
- support EXPLAIN in mysql (PR #4235 by @xiaoyu-meng-mxy)06748d9
- mysql: add support for operation modifiers like HIGH_PRIORITY (PR #4238 by @georgesittas)
dcdec95
- Make exp.Update a DML node (PR #4223 by @VaggelisD)79caf51
- clickhouse: rename BOOLEAN type to Bool fixes #4230 (commit by @georgesittas)b26a3f6
- satisfy mypy (commit by @georgesittas)5741180
- parser: produce exp.Column for the RHS of IN (PR #4239 by @georgesittas)↘️ fixes issue #4237 opened by @rustyconover
daa6e78
- optimizer: handle subquery predicate substitution correctly in de morgan's rule (PR #4240 by @georgesittas)c0a8355
- parser: parse a column reference for the RHS of the IN clause (PR #4241 by @georgesittas)
0882f03
- Rename exp.RenameTable to exp.AlterRename (PR #4224 by @VaggelisD)↘️ addresses issue #4222 opened by @s1101010110
fd42b5c
- Simplify PARSENAME <-> SPLIT_PART transpilation (PR #4225 by @VaggelisD)4da2502
- make Explode a UDTF subclass (PR #4242 by @georgesittas)
v25.24.5 - 2024-10-08
22a1684
- bigquery: Native annotations for more math functions (PR #4212 by @VaggelisD)354cfff
- add builder methods to exp.Update and add with_ arg to exp.update (PR #4217 by @brdbry)
2c513b7
- Attach CTE comments before commas (PR #4218 by @VaggelisD)
v25.24.4 - 2024-10-04
v25.24.3 - 2024-10-03
25b18d2
- trino: Support JSON_QUERY (PR #4206 by @VaggelisD)↘️ addresses issue #4200 opened by @Harmuth94
5781b45
- duckdb: Add more Postgres operators (PR #4199 by @VaggelisD)↘️ addresses issue #4189 opened by @rustyconover
89c0703
- bigquery: Native math function annotations (PR #4201 by @VaggelisD)977d9e5
- allow supplying dialect in diff, conditionally copy ASTs (PR #4208 by @georgesittas)
332c74b
- attach comments to subquery predicates properly, fix comment case (PR #4207 by @georgesittas)55da21d
- Unexpected row deduplication using eliminate_full_outer_join (PR #4178 by @liaco)
v25.24.2 - 2024-10-02
c8b7c1e
- optimizer: Fixture file for function annotations (PR #4182 by @VaggelisD)0adbbf7
- duckdb: Parse ** and ^ operators as POW (PR #4193 by @VaggelisD)↘️ addresses issue #4186 opened by @rustyconover
4949906
- duckdb: Parse ~~~ as GLOB (PR #4194 by @VaggelisD)↘️ addresses issue #4187 opened by @rustyconover
6ba2bb0
- oracle: Add support for BULK COLLECT INTO (PR #4181 by @mkmoisen)0de59ce
- markexpressions
as unsupported in Into generator (commit by @georgesittas)
475f7a3
- redshift: Add unsupported warnings for UNNEST (PR #4173 by @VaggelisD)d38e023
- spark: Offset TRY_ELEMENT_AT by one (PR #4183 by @VaggelisD)3d1c643
- rename SHA function to SHA1 for DuckDB (PR #4191 by @rustyconover)0388a51
- add support for UHUGEINT for duckdb (PR #4190 by @rustyconover)↘️ fixes issue #4184 opened by @rustyconover
9eba00d
- duckdb: Parse ~~ as LIKE (PR #4195 by @VaggelisD)↘️ fixes issue #4188 opened by @rustyconover
6a65973
- expand UPDATABLE_EXPRESSION_TYPES to account for Identifier changes (PR #4197 by @georgesittas)a6c28c6
- sqlite: generate StrPosition as INSTR (PR #4198 by @pruzko)5a123a5
- oracle: retreat properly when parsing BULK COLLECT INTO (commit by @georgesittas)f935e42
- properly escape closing identifier delimiters (PR #4202 by @georgesittas)
v25.24.1 - 2024-10-01
7af33a2
- spark: Custom annotation for more string functions (PR #4156 by @VaggelisD)
81df4e1
- athena: Case sensitivity in CTAS property names (PR #4171 by @erindru)0703152
- bigquery: Do not generate null ordering on agg funcs (PR #4172 by @VaggelisD)
v25.24.0 - 2024-09-26
-
due to
3ab6dfb
- Generalize COLUMNS(...) APPLY (PR #4161 by @VaggelisD):Generalize COLUMNS(...) APPLY (#4161)
93cef30
- postgres: Support OVERLAY function (PR #4165 by @VaggelisD)↘️ addresses issue #4159 opened by @s1101010110
0a5444d
- expose a flag to automatically exclude Keep diff nodes (PR #4168 by @georgesittas)
9c17264
- hive: Enclose exp.Split with \E (PR #4163 by @VaggelisD)3ab6dfb
- clickhouse: Generalize COLUMNS(...) APPLY (PR #4161 by @VaggelisD)↘️ fixes issue #4157 opened by @elchyn-cheliabiyeu
2540e50
- simplify check_deploy job (commit by @georgesittas)
f6d3bdd
- update supported dialect count (21 -> 23) (commit by @georgesittas)
v25.23.2 - 2024-09-25
eca05d3
- tweak should_deploy_rs script to avoid marking CI as failed (commit by @georgesittas)
v25.23.1 - 2024-09-25
349b8f8
- fetch all history to allow workflow script to skip sqlglotrs deployments (PR #4162 by @georgesittas)
v25.23.0 - 2024-09-25
-
due to
da51ea5
- refactor exp.Chr (PR #4081 by @georgesittas):refactor exp.Chr (#4081)
-
due to
9c527b5
- treat Nullable as an arg instead of a DataType.TYPE (PR #4094 by @georgesittas):treat Nullable as an arg instead of a DataType.TYPE (#4094)
-
due to
ba015dc
- addreturning
to merge expression builder (PR #4125 by @max-muoto):add
returning
to merge expression builder (#4125) -
due to
77a514d
- Parse VALUES & query modifiers in wrapped FROM clause (PR #4135 by @VaggelisD):Parse VALUES & query modifiers in wrapped FROM clause (#4135)
5771d8d
- add merge expression builder (PR #4084 by @max-muoto)1d52709
- postgres: Parse DO NOTHING and RETURNING in MERGE statement (PR #4087 by @VaggelisD)↘️ addresses issue #4083 opened by @max-muoto
1615bad
- Add support for UUID function (PR #4089 by @VaggelisD)5733600
- bigquery: transpile UUID type to STRING (PR #4093 by @georgesittas)↘️ addresses issue #4091 opened by @gigatexal
75230f5
- bigquery: add support for the MERGE ... THEN INSERT ROW syntax (PR #4096 by @georgesittas)f8d4dc4
- parser: add support for ALTER INDEX closes #4105 (commit by @georgesittas)28c6f27
- duckdb: Support *COLUMNS() function (PR #4106 by @VaggelisD)3cb0041
- snowflake: Fix exp.Pivot FOR IN clause (PR #4109 by @VaggelisD)↘️ addresses issue #4108 opened by @kharigardner
7ac21a0
- athena: Improve DDL query support (PR #4099 by @erindru)a34f8b6
- oracle: support TRUNC without fmt argument fixes #4116 (commit by @georgesittas)bd8e050
- clickhouse: support ON CLUSTER clause in DELETE (PR #4119 by @treysp)1fac6a9
- expose sqlglot.expressions.delete as a sqlglot module function (PR #4126 by @max-muoto)4506b3b
- duckdb: add support for the UNION type (PR #4128 by @georgesittas)ba015dc
- addreturning
to merge expression builder (PR #4125 by @max-muoto)3ec96ab
- clickhouse: Add support for APPLY query modifier (PR #4141 by @VaggelisD)↘️ addresses issue #4139 opened by @elchyn-cheliabiyeu
04ddc54
- bigquery: Support RANGE type (PR #4148 by @VaggelisD)↘️ addresses issue #4146 opened by @plaflamme
17533ee
- Add support for GRANT DDL (PR #4138 by @VaggelisD)1a240ec
- Add SUBSTR Support (PR #4153 by @mwc360)
da51ea5
- parser: refactor exp.Chr (PR #4081 by @georgesittas)↘️ fixes issue #4080 opened by @EugeneTorap
6294f9e
- starrocks: generate ARRAY_FILTER for exp.ArrayFilter (PR #4088 by @gauravsagar483)1e02c02
- mysql: convert VARCHAR without size to TEXT for DDLs (PR #4092 by @georgesittas)cb5bcff
- clickhouse: generate formatDateTime instead of DATE_FORMAT fixes #4098 (commit by @georgesittas)b10255e
- snowflake: Manually escape single quotes in colon operator (PR #4104 by @VaggelisD)↘️ fixes issue #4090 opened by @jussihe-rec
67a9ad8
- Move JSON path escape to generation (PR #4110 by @VaggelisD)↘️ fixes issue #4090 opened by @jussihe-rec
06c76f7
- calling interval without unit (commit by @tobymao)66c3295
- optimizer: Enable USING expansion with multiple joins (PR #4113 by @dg-hellotwin)↘️ fixes issue #4112 opened by @dg-hellotwin
21f5bcd
- parse struct(...)[] type properly (PR #4123 by @georgesittas)22c456d
- Do not generate DISTINCT keyword in FILTER (PR #4130 by @VaggelisD)089b77e
- athena: DDL fixes (PR #4132 by @erindru)e6c9902
- invalid regex (commit by @tobymao)77a514d
- parser: Parse VALUES & query modifiers in wrapped FROM clause (PR #4135 by @VaggelisD)↘️ fixes issue #4133 opened by @danxmoran
8822d6c
- parser: handle brackets in column op json extract arrow parser (PR #4140 by @georgesittas)↘️ fixes issue #3151 opened by @markgraphene
be0a4a8
- bigquery: Consume dashed identifiers only if they're connected (PR #4144 by @VaggelisD)0444819
- optimizer: don't reorder subquery predicates in simplify (PR #4147 by @georgesittas)89519bb
- clickhouse: make ToTableProperty appear right after the DDL name (PR #4151 by @georgesittas)
9c527b5
- treat Nullable as an arg instead of a DataType.TYPE (PR #4094 by @georgesittas)2961049
- implement decorator to easily mark args as unsupported (PR #4111 by @georgesittas)7cf1d70
- optimizer: Optimize USING expansion (PR #4115 by @VaggelisD)
75e6406
- prql: rewrite tests to usevalidate_all()
(PR #4097 by @JJHCool)e1f6ae3
- prql: use validate_all instead of validate_identity (commit by @georgesittas)2dc0b86
- optimizer: rename helper function in expand_using (PR #4117 by @georgesittas)fd8b8ba
- create ARRAY_TYPES set under DataType (commit by @georgesittas)
v25.22.0 - 2024-09-19
-
due to
ba015dc
- addreturning
to merge expression builder (PR #4125 by @max-muoto):add
returning
to merge expression builder (#4125)
1fac6a9
- expose sqlglot.expressions.delete as a sqlglot module function (PR #4126 by @max-muoto)4506b3b
- duckdb: add support for the UNION type (PR #4128 by @georgesittas)ba015dc
- addreturning
to merge expression builder (PR #4125 by @max-muoto)
22c456d
- Do not generate DISTINCT keyword in FILTER (PR #4130 by @VaggelisD)089b77e
- athena: DDL fixes (PR #4132 by @erindru)e6c9902
- invalid regex (commit by @tobymao)
v25.21.3 - 2024-09-14
21f5bcd
- parse struct(...)[] type properly (PR #4123 by @georgesittas)
v25.21.2 - 2024-09-13
a34f8b6
- oracle: support TRUNC without fmt argument fixes #4116 (commit by @georgesittas)
66c3295
- optimizer: Enable USING expansion with multiple joins (PR #4113 by @dg-hellotwin)↘️ fixes issue #4112 opened by @dg-hellotwin
7cf1d70
- optimizer: Optimize USING expansion (PR #4115 by @VaggelisD)
2dc0b86
- optimizer: rename helper function in expand_using (PR #4117 by @georgesittas)fd8b8ba
- create ARRAY_TYPES set under DataType (commit by @georgesittas)
v25.21.1 - 2024-09-13
v25.21.0 - 2024-09-12
-
due to
da51ea5
- refactor exp.Chr (PR #4081 by @georgesittas):refactor exp.Chr (#4081)
-
due to
9c527b5
- treat Nullable as an arg instead of a DataType.TYPE (PR #4094 by @georgesittas):treat Nullable as an arg instead of a DataType.TYPE (#4094)
5771d8d
- add merge expression builder (PR #4084 by @max-muoto)1d52709
- postgres: Parse DO NOTHING and RETURNING in MERGE statement (PR #4087 by @VaggelisD)↘️ addresses issue #4083 opened by @max-muoto
1615bad
- Add support for UUID function (PR #4089 by @VaggelisD)5733600
- bigquery: transpile UUID type to STRING (PR #4093 by @georgesittas)↘️ addresses issue #4091 opened by @gigatexal
75230f5
- bigquery: add support for the MERGE ... THEN INSERT ROW syntax (PR #4096 by @georgesittas)f8d4dc4
- parser: add support for ALTER INDEX closes #4105 (commit by @georgesittas)28c6f27
- duckdb: Support *COLUMNS() function (PR #4106 by @VaggelisD)3cb0041
- snowflake: Fix exp.Pivot FOR IN clause (PR #4109 by @VaggelisD)↘️ addresses issue #4108 opened by @kharigardner
7ac21a0
- athena: Improve DDL query support (PR #4099 by @erindru)
da51ea5
- parser: refactor exp.Chr (PR #4081 by @georgesittas)↘️ fixes issue #4080 opened by @EugeneTorap
6294f9e
- starrocks: generate ARRAY_FILTER for exp.ArrayFilter (PR #4088 by @gauravsagar483)1e02c02
- mysql: convert VARCHAR without size to TEXT for DDLs (PR #4092 by @georgesittas)cb5bcff
- clickhouse: generate formatDateTime instead of DATE_FORMAT fixes #4098 (commit by @georgesittas)b10255e
- snowflake: Manually escape single quotes in colon operator (PR #4104 by @VaggelisD)↘️ fixes issue #4090 opened by @jussihe-rec
67a9ad8
- Move JSON path escape to generation (PR #4110 by @VaggelisD)↘️ fixes issue #4090 opened by @jussihe-rec
9c527b5
- treat Nullable as an arg instead of a DataType.TYPE (PR #4094 by @georgesittas)2961049
- implement decorator to easily mark args as unsupported (PR #4111 by @georgesittas)
75e6406
- prql: rewrite tests to usevalidate_all()
(PR #4097 by @JJHCool)e1f6ae3
- prql: use validate_all instead of validate_identity (commit by @georgesittas)
v25.20.1 - 2024-09-06
8a357cc
- bump sqlglotrs to 0.2.12 -- remove relative readme path (commit by @georgesittas)
v25.20.0 - 2024-09-06
-
due to
3e1af21
- Canonicalize exp.RegexpExtract group default value (PR #4051 by @VaggelisD):Canonicalize exp.RegexpExtract group default value (#4051)
-
due to
c8e2eae
- do not canonicalize INTERVAL values to number literals (commit by @VaggelisD):do not canonicalize INTERVAL values to number literals
d3ee5ea
- oracle: parse TRUNC to facilitate transpilation closes #4054 (commit by @georgesittas)143f176
- clickhouse: transpile oracle functions chr, lag, lead (PR #4053 by @sleshJdev)d89757e
- postgres: add support for the NOT VALID clause in ALTER TABLE fixes #4077 (commit by @georgesittas)
3e1af21
- Canonicalize exp.RegexpExtract group default value (PR #4051 by @VaggelisD)↘️ fixes issue #4039 opened by @hellozepp
75cafad
- starrocks: Move the parse distribute and duplicate to Parser (PR #4062 by @hellozepp)74352d5
- tsql: use plus operator for string concat to support more systems that use tsql (PR #4067 by @cpcloud)c8e2eae
- do not canonicalize INTERVAL values to number literals (commit by @VaggelisD)532a024
- snowflake, bigquery: Remove exp.Trim generation (PR #4070 by @VaggelisD)↘️ fixes issue #3095 opened by @plaflamme
ad7e582
- athena: Apply correct quoting to queries depending on type (DML or DDL) (PR #4073 by @erindru)cc5b877
- parser: Wrap column constraints in _parse_column_def() (PR #4078 by @VaggelisD)↘️ fixes issue #4065 opened by @ajuszczak
4eb384a
- clickhouse: Remove CURRENT_TIMESTAMP from NO_PAREN_FUNCTIONS (PR #4079 by @VaggelisD)↘️ fixes issue #4076 opened by @hellozepp
534f882
- clickhouse: clean up chr, lag, lead generation (commit by @georgesittas)
b986ebe
- fill in more details for sqlglotrs pypi page (PR #4071 by @georgesittas)0310926
- bump sqlglotrs to 0.2.11 (update pypi details) (commit by @georgesittas)
v25.19.0 - 2024-09-03
-
due to
6da9328
- refactor SET OPERATION handling to set correct defaults (PR #4009 by @georgesittas):refactor SET OPERATION handling to set correct defaults (#4009)
-
due to
4b69d18
- use TO_GEOGRAPHY, TO_GEOMETRY instead of casts (PR #4017 by @georgesittas):use TO_GEOGRAPHY, TO_GEOMETRY instead of casts (#4017)
-
due to
0985907
- Add UnsupportedError to unnest_to_explode transform (PR #4016 by @VaggelisD):Add UnsupportedError to unnest_to_explode transform (#4016)
-
due to
7d63d23
- Support JSON_EXISTS, refactor ON handling (PR #4032 by @VaggelisD):Support JSON_EXISTS, refactor ON handling (#4032)
f550ba1
- presto: support [ SECURITY { DEFINER | INVOKER } ] (PR #4008 by @usmanovbf)dedd757
- oracle: Parse multitable inserts (PR #4000 by @usefulalgorithm)0985907
- Add UnsupportedError to unnest_to_explode transform (PR #4016 by @VaggelisD)8f5fccf
- presto: generate non-iso DayOfWeek (commit by @georgesittas)7d63d23
- oracle: Support JSON_EXISTS, refactor ON handling (PR #4032 by @VaggelisD)↘️ addresses issue #4026 opened by @ashishshukla19
85cc7ad
- duckdb: Transpile BQ's exp.ArrayToString (PR #4034 by @VaggelisD)7f2c7f1
- Support for NORMALIZE() function (PR #4041 by @VaggelisD)↘️ addresses issue #4037 opened by @jasonrosendale
a1b9803
- support COMPRESS column constraint wihout a value (PR #4045 by @thomascjohnson)
8583772
- tsql: Use count_big instead of count (PR #3996 by @colin-ho)4b7ca2b
- spark: Custom annotation for SUBSTRING() (PR #4004 by @VaggelisD)↘️ fixes issue #4002 opened by @racevedoo
cb172db
- clickhouse: ensure that ALL and DISTINCT are rendered for except and intersect (PR #4007 by @cpcloud)829fdcb
- starrocks: exp.Unnest transpilation (PR #3999 by @hellozepp)↘️ fixes issue #3962 opened by @hellozepp
6da9328
- refactor SET OPERATION handling to set correct defaults (PR #4009 by @georgesittas)23a928e
- mysql: Preserve roundtrip of %a, %W time formats (PR #4014 by @VaggelisD)↘️ fixes issue #4011 opened by @hellozepp
2d4483c
- don't log warning in to_json_path conditionally (PR #4015 by @georgesittas)↘️ fixes issue #4013 opened by @hellozepp
4b69d18
- snowflake: use TO_GEOGRAPHY, TO_GEOMETRY instead of casts (PR #4017 by @georgesittas)1108426
- optimizer: annotate unary expressions correctly (PR #4019 by @georgesittas)5fad18c
- presto: exp.DayOfWeek (PR #4024 by @hellozepp)ea9a494
- parser: consume STREAM in _parse_select only if it's a VAR, closes #4029 (commit by @georgesittas)c239a74
- transpile null exclusion for ARRAY_AGG (PR #4033 by @georgesittas)↘️ fixes issue #4031 opened by @dor-bernstein
60a8f16
- parser: don't consume strings in match_text_seq (commit by @georgesittas)a726583
- parser: don't consume strings in match_texts (commit by @georgesittas)551d32f
- postgres: Support for DROP INDEX CONCURRENTLY. (PR #4040 by @EdgyEdgemond)↘️ fixes issue #3783 opened by @EdgyEdgemond
f55647d
- starrocks: exp.Create transpilation (PR #4023 by @hellozepp)↘️ fixes issue #3997 opened by @hellozepp
bf0f5fa
- parser: Ensure exp.Coalesce expressions is a list (PR #4050 by @VaggelisD)
6494776
- simplify multi-insert generation, fix pretty mode (commit by @georgesittas)b11c73e
- clean up starrocks DISTRIBUTED BY property generation (commit by @georgesittas)
c35a62c
- set the license for sqlglotrs (PR #4048 by @georgesittas)9b7eb2e
- bump sqlglotrs to v0.2.10 (commit by @georgesittas)
v25.18.0 - 2024-08-28
-
due to
22bb9a0
- stop normalizing qualified anonymous functions (PR #3969 by @georgesittas):stop normalizing qualified anonymous functions (#3969)
-
due to
8aec682
- mysql/tsql datetime precision, formatting, exp.AtTimeZone (PR #3951 by @erindru):mysql/tsql datetime precision, formatting, exp.AtTimeZone (#3951)
-
due to
2f3626a
- Generation of exp.SHA2, exp.Transform, exp.IgnoreNulls (PR #3980 by @VaggelisD):Generation of exp.SHA2, exp.Transform, exp.IgnoreNulls (#3980)
-
due to
905b722
- preserve each distinct CUBE/ROLLUP/GROUPING SET clause (PR #3985 by @georgesittas):preserve each distinct CUBE/ROLLUP/GROUPING SET clause (#3985)
48b214d
- postgres: Support for IS JSON predicate (PR #3971 by @VaggelisD)↘️ addresses issue #3965 opened by @faisal-ksolves
f7e4e4a
- duckdb: add support for the GLOB table function closes #3973 (commit by @georgesittas)a0d1377
- spark: add support for table statement in INSERT (PR #3986 by @georgesittas)f5bfd67
- mysql: Parse JSON_VALUE() (PR #3987 by @VaggelisD)↘️ addresses issue #3983 opened by @ashishshukla19
79e92ad
- spark: Default naming of STRUCT fields (PR #3991 by @VaggelisD)↘️ addresses issue #3988 opened by @dor-bernstein
22bb9a0
- stop normalizing qualified anonymous functions (PR #3969 by @georgesittas)8aec682
- mysql/tsql datetime precision, formatting, exp.AtTimeZone (PR #3951 by @erindru)d37a5bb
- snowflake: handle DIV0 case where divident is null (PR #3975 by @georgesittas)↘️ fixes issue #3974 opened by @Nathan-Fenner
b2f877b
- oracle: Use LTRIM/RTRIM unless BOTH is specified (PR #3977 by @VaggelisD)201b51a
- sqlite: Make IS parser more lenient (PR #3981 by @VaggelisD)2f3626a
- duckdb: Generation of exp.SHA2, exp.Transform, exp.IgnoreNulls (PR #3980 by @VaggelisD)↘️ fixes issue #3972 opened by @dor-bernstein
905b722
- parser: preserve each distinct CUBE/ROLLUP/GROUPING SET clause (PR #3985 by @georgesittas)ee9dc39
- Fix binding of TABLESAMPLE to exp.Subquery instead of top-level exp.Select (PR #3994 by @VaggelisD)
v25.17.0 - 2024-08-26
42b725e
- flaky test closes #3961 (commit by @tobymao)cc29921
- Parse LTRIM/RTRIM functions as positional exp.Trim (PR #3958 by @VaggelisD)↘️ fixes issue #3957 opened by @sleshJdev
678e692
- make sample an arg of table, not a wrapper (PR #3963 by @barakalon)0a9ba05
- 0 is falsey (commit by @tobymao)c1ac987
- starrocks: exp.Array generation, exp.Unnest alias (PR #3964 by @VaggelisD)↘️ fixes issue #3962 opened by @hellozepp
v25.16.1 - 2024-08-23
794dc4c
- update readme to include onboarding doc (commit by @georgesittas)
v25.16.0 - 2024-08-22
-
due to
f68d155
- exp.Merge, for Trino and Postgres, dont strip the target alias from then WHEN MATCHED condition to prevent an ambiguous column error (PR #3940 by @erindru):exp.Merge, for Trino and Postgres, dont strip the target alias from then WHEN MATCHED condition to prevent an ambiguous column error (#3940)
-
due to
667f7d9
- attach INTERPOLATE expressions to WithFill (PR #3944 by @georgesittas):attach INTERPOLATE expressions to WithFill (#3944)
-
due to
145fdbf
- Redshift date format (PR #3942 by @erindru):Redshift date format (#3942)
-
due to
a84a21a
- Add timezone support to exp.TimeStrToTime (PR #3938 by @erindru):Add timezone support to exp.TimeStrToTime (#3938)
a84a21a
- Add timezone support to exp.TimeStrToTime (PR #3938 by @erindru)70a052a
- transpile from_iso8601_timestamp from presto/trino to duckdb (PR #3956 by @georgesittas)
f68d155
- exp.Merge, for Trino and Postgres, dont strip the target alias from then WHEN MATCHED condition to prevent an ambiguous column error (PR #3940 by @erindru)0458dc0
- optimizer: expand alias refs recursive CTE edge case patch (PR #3943 by @georgesittas)145fdbf
- Redshift date format (PR #3942 by @erindru)6233c2c
- parser: Support sqls with DESCRIBE partition (PR #3945 by @gp1105739)↘️ fixes issue #3941 opened by @gp1105739
85cd6e5
- bigquery: Map %e to %-d (PR #3946 by @VaggelisD)1ba0f03
- duckdb: TIME does not support modifiers (PR #3947 by @georgesittas)d5d3615
- optimizer: convert TsOrDsToDate to Cast more conservatively (PR #3949 by @barakalon)fb6edc7
- oracle/snowflake comments closes #3950 (commit by @tobymao)1284fd0
- oracle: Revert NVL() being parsed into exp.Anonymous (PR #3954 by @VaggelisD)↘️ fixes issue #3952 opened by @sleshJdev
c99f8d5
- duckdb: Fix exp.Unnest generation for BQ's nested arrays (PR #3931 by @VaggelisD)
f16b0e7
- iteratively generate binary expressions (PR #3926 by @MatMoore)667f7d9
- clickhouse: attach INTERPOLATE expressions to WithFill (PR #3944 by @georgesittas)
c697357
- slightly refactor Generator.binary, add stress test (commit by @georgesittas)6a5f619
- New doc - Onboarding Doc (PR #3902 by @VaggelisD)
v25.15.0 - 2024-08-19
-
due to
a668655
- preserve SYSDATE (PR #3935 by @georgesittas):preserve SYSDATE (#3935)
be11f4c
- clickhouse: add support for "@"-style parameters (PR #3939 by @georgesittas)
a668655
- oracle: preserve SYSDATE (PR #3935 by @georgesittas)↘️ fixes issue #3934 opened by @Hal-H2Apps
b824f8a
- parser: allow complex expressions for UNPIVOT alias (PR #3937 by @georgesittas)↘️ fixes issue #3936 opened by @dbittenbender
f4c34d3
- move "MINUS": TokenType.EXCEPT to hive instead of spark (commit by @georgesittas)
v25.14.0 - 2024-08-19
-
due to
605f1b2
- use creatable kind mapping dict for schema<-->database substitution (PR #3924 by @treysp):use creatable kind mapping dict for schema<-->database substitution (#3924)
-
due to
f418caa
- skip nullable comparison in is_type by default (PR #3927 by @georgesittas):skip nullable comparison in is_type by default (#3927)
f418caa
- skip nullable comparison in is_type by default (PR #3927 by @georgesittas)
605f1b2
- clickhouse: use creatable kind mapping dict for schema<-->database substitution (PR #3924 by @treysp)
v25.13.0 - 2024-08-17
-
due to
102f5d4
- infer set op types more accurately (PR #3918 by @georgesittas):infer set op types more accurately (#3918)
-
due to
46496a6
- improve transpilation of nullable/non-nullable data types (PR #3921 by @georgesittas):improve transpilation of nullable/non-nullable data types (#3921)
c74a8fd
- clickhouse: make try_cast toXXXOrNull() functions case-specific (PR #3917 by @treysp)102f5d4
- optimizer: infer set op types more accurately (PR #3918 by @georgesittas)↘️ fixes issue #3916 opened by @racevedoo
1d436d4
- clickhouse: transpile TRY_CAST(x AS T) to CAST(x AS Nullable(T)) (PR #3919 by @georgesittas)46496a6
- clickhouse: improve transpilation of nullable/non-nullable data types (PR #3921 by @georgesittas)
v25.12.0 - 2024-08-15
-
due to
e8e70f3
- treat DATABASE kind as SCHEMA (and conversely) in exp.Create (PR #3912 by @georgesittas):treat DATABASE kind as SCHEMA (and conversely) in exp.Create (#3912)
9a66903
- clickhouse: add support for TryCast generation (PR #3913 by @georgesittas)
7965cac
- clickhouse: wrap query in CTAS when COMMENT prop is present (PR #3911 by @georgesittas)e8e70f3
- clickhouse: treat DATABASE kind as SCHEMA (and conversely) in exp.Create (PR #3912 by @georgesittas)
v25.11.3 - 2024-08-14
57f7aa9
- clickhouse: COMMENT property in CTAS needs to come last (PR #3910 by @georgesittas)
v25.11.2 - 2024-08-14
c22f411
- clickhouse: ensure we generate the Table in creatable_sql if it represents a db ref (commit by @georgesittas)19eee93
- various fixups for unnest(generatedatearray) transpilation (PR #3906 by @georgesittas)
v25.11.1 - 2024-08-13
790c1b1
- clickhouse: support PARTITION BY, SETTINGS in Insert expression (PR #3904 by @georgesittas)
v25.11.0 - 2024-08-13
-
due to
0428c37
- Support ALTER VIEW AS SELECT (PR #3873 by @xiaohui-sun):Support ALTER VIEW AS SELECT (#3873)
-
due to
a666117
- parse v NOT IN (subquery) as v <> ALL (subquery) (PR #3891 by @georgesittas):parse v NOT IN (subquery) as v <> ALL (subquery) (#3891)
-
due to
d968932
- treat identifiers as case-sensitive, handle EMPTY table property, generate DateStrToDate (PR #3895 by @jwhitaker-gridcog):treat identifiers as case-sensitive, handle EMPTY table property, generate DateStrToDate (#3895)
-
due to
1d7319a
- transpile Unnest(GenerateDateArray(...)) to various dialects (PR #3899 by @georgesittas):transpile Unnest(GenerateDateArray(...)) to various dialects (#3899)
0428c37
- parser: Support ALTER VIEW AS SELECT (PR #3873 by @xiaohui-sun)8a48458
- athena: parse UNLOAD into exp.Command closes #3896 (commit by @georgesittas)6f1527f
- bigquery: transpile format_datetime, datetime_trunc to duckdb (PR #3894 by @skadel)1d7319a
- transpile Unnest(GenerateDateArray(...)) to various dialects (PR #3899 by @georgesittas)
2cac14f
- generate set ops in ALTER VIEW AS statement (commit by @georgesittas)a666117
- snowflake: parse v NOT IN (subquery) as v <> ALL (subquery) (PR #3891 by @georgesittas)↘️ fixes issue #3890 opened by @ajuszczak
924a4af
- oracle: preserve function-style MOD syntax fixes #3897 (commit by @georgesittas)d968932
- clickhouse: treat identifiers as case-sensitive, handle EMPTY table property, generate DateStrToDate (PR #3895 by @jwhitaker-gridcog)3e5e730
- clickhouse: generate exp.Values correctly, handleFORMAT Values
(PR #3900 by @georgesittas)bea3c08
- parser: improve performance of OUTER/CROSS APPLY parsing (PR #3901 by @georgesittas)
v25.10.0 - 2024-08-08
-
due to
3eb46db
- switch off CSV file schema inference by default (PR #3879 by @georgesittas):switch off CSV file schema inference by default (#3879)
3e4fcf7
- databricks: Add support for STREAMING tables (PR #3878 by @VaggelisD)↘️ addresses issue #3876 opened by @ericvergnaud
528f690
- duckdb: Transpile Snowflake's CONVERT_TIMEZONE 3-arg version (PR #3883 by @VaggelisD)↘️ addresses issue #3875 opened by @milonimrod
411f62a
- bigquery: Support for GENERATE_TIMESTAMP_ARRAY, DDB transpilation (PR #3888 by @VaggelisD)
7169e6e
- bigquery: ensure Funcs are preserved when used as Tables (PR #3877 by @georgesittas)62ceed2
- redshift: parse first arg in DATE_PART into a Var fixes #3882 (commit by @georgesittas)2ad9bfe
- snowflake: support table qualification in USING clause (PR #3885 by @georgesittas)ef16b1d
- Fix COLLATE's RHS parsing (PR #3887 by @VaggelisD)
3eb46db
- optimizer: switch off CSV file schema inference by default (PR #3879 by @georgesittas)
v25.9.0 - 2024-08-05
-
due to
64e187c
- transpile postgres impliclitly exploding GENERATE_SERIES proje… (PR #3853 by @georgesittas):transpile postgres impliclitly exploding GENERATE_SERIES proje… (#3853)
-
due to
e53e7cc
- Generation of exp.ArrayConcat for 2-arg based dialects (PR #3864 by @VaggelisD):Generation of exp.ArrayConcat for 2-arg based dialects (#3864)
-
due to
659b8bf
- Support for BQ's exp.GenerateDateArray generation (PR #3865 by @VaggelisD):Support for BQ's exp.GenerateDateArray generation (#3865)
6afed2a
- duckdb: Support for exp.TimeDiff generation (PR #3856 by @VaggelisD)64e187c
- transpile postgres impliclitly exploding GENERATE_SERIES proje… (PR #3853 by @georgesittas)↘️ addresses issue #3818 opened by @wojciechowski-p
8a948c8
- teradata: Parse RENAME TABLE as Command (PR #3863 by @VaggelisD)659b8bf
- duckdb: Support for BQ's exp.GenerateDateArray generation (PR #3865 by @VaggelisD)734f54b
- snowflake: add support for a a couple of missing clauses in PIVOT clause (PR #3867 by @georgesittas)
8710763
- presto: map %W to %A in the TIME_MAPPING (PR #3855 by @georgesittas)532f3c8
- duckdb: Add implicit casts to DATE_DIFF (PR #3857 by @VaggelisD)299c4a5
- clickhouse: Fix SETTINGS parsing (PR #3859 by @VaggelisD)810d23d
- parser: make assignment parsing more lenient by allowing keyword in LHS (PR #3866 by @georgesittas)e53e7cc
- Generation of exp.ArrayConcat for 2-arg based dialects (PR #3864 by @VaggelisD)813f127
- duckdb: Allow DESCRIBE as a _parse_select() path (PR #3871 by @VaggelisD)6ff0c01
- Fixed size array parsing (PR #3870 by @VaggelisD)
v25.8.1 - 2024-07-30
a295b3a
- tsql: regression related to CTEs in CREATE VIEW AS statements (PR #3852 by @georgesittas)
v25.8.0 - 2024-07-29
e37d63a
- bigquery: add support for BYTEINT closes #3838 (commit by @georgesittas)4c912cd
- clickhouse: improve parsing/transpilation of StrToDate (PR #3839 by @georgesittas)45f45ea
- duckdb: add support for SUMMARIZE (PR #3840 by @georgesittas)
57ecc84
- duckdb: wrap left IN clause json extract arrow operand fixes #3836 (commit by @georgesittas)2ffb070
- duckdb: allow fixed length array casts closes #3841 (PR #3842 by @tobymao)d71eb4e
- pretty gen for tuples (commit by @tobymao)12ae9cd
- tsql: handle JSON_QUERY with a single argument (PR #3847 by @georgesittas)↘️ fixes issue #3843 opened by @zachary62
f8ca6b4
- tsql: bubble up exp.Create CTEs to improve transpilability (PR #3848 by @georgesittas)↘️ fixes issue #3844 opened by @zachary62
89976c1
- parser: allow 'cube' to be used for identifiers (PR #3850 by @georgesittas)
d00ea9c
- exclude boolean args in Generator.format_args (PR #3849 by @georgesittas)
v25.7.1 - 2024-07-25
ae95c18
- alter table add columns closes #3835 (commit by @tobymao)9b5839d
- make ast consistent (commit by @tobymao)
v25.7.0 - 2024-07-25
ba0aa50
- duckdb: Transpile BQ's exp.DatetimeAdd, exp.DatetimeSub (PR #3777 by @VaggelisD)5da91fb
- postgres: Support for CREATE INDEX CONCURRENTLY (PR #3787 by @VaggelisD)↘️ addresses issue #3783 opened by @EdgyEdgemond
00722eb
- Move ANNOTATORS to Dialect for dialect-aware annotation (PR #3786 by @VaggelisD)a6d84fb
- postgres: Parse TO_DATE as exp.StrToDate (PR #3799 by @VaggelisD)3582644
- hive, spark, db: Support for exp.GenerateSeries (PR #3798 by @VaggelisD)↘️ addresses issue #3793 opened by @wojciechowski-p
80b4a12
- tsql: Support for COLUMNSTORE option on CREATE INDEX (PR #3805 by @VaggelisD)bf6c126
- databricks: Support USE CATALOG (PR #3812 by @VaggelisD)↘️ addresses issue #3811 opened by @grusin-db
624d411
- snowflake: Support for OBJECT_INSERT, transpile to DDB (PR #3807 by @VaggelisD)5b393fb
- postgres: Add missing constraint options (PR #3816 by @VaggelisD)↘️ addresses issue #3814 opened by @DTovstohan
898f523
- duckdb: Wrap JSON_EXTRACT if it's subscripted (PR #3785 by @VaggelisD)db3748d
- mysql: don't wrap VALUES clause (PR #3792 by @georgesittas)↘️ fixes issue #3789 opened by @stephenprater
44d6506
- with as comments closes #3794 (commit by @tobymao)8ca6a61
- tsql: Fix roundtrip of exp.Stddev (PR #3806 by @VaggelisD)↘️ fixes issue #3804 opened by @JonaGeishauser
8551063
- duckdb: Fix STRUCT_PACK -> ROW due to is_struct_cast (PR #3809 by @VaggelisD)98f80ed
- clickhouse: allow like as an identifier closes #3813 (commit by @tobymao)556ba35
- allow parse_identifier to handle single quotes (commit by @tobymao)f9810d2
- snowflake: Don't consume LPAREN when parsing staged file path (PR #3815 by @VaggelisD)416f4a1
- postgres: Fix COLLATE column constraint (PR #3820 by @VaggelisD)↘️ fixes issue #3817 opened by @DTovstohan
69b9395
- Do not preemptively consume SELECT [ALL] if ALL is connected (PR #3822 by @VaggelisD)1c19abe
- presto, trino: Fix StrToUnix transpilation (PR #3824 by @VaggelisD)
v25.6.1 - 2024-07-18
19370d5
- postgres: Decouple UNIQUE from DEFAULT constraints (PR #3775 by @VaggelisD)↘️ fixes issue #3774 opened by @EdgyEdgemond
e99146b
- make copy a dml statement for qualify_tables (commit by @tobymao)
v25.6.0 - 2024-07-17
-
due to
89fc63c
- QUALIFY comes after WINDOW clause in queries (PR #3745 by @georgesittas):QUALIFY comes after WINDOW clause in queries (#3745)
-
due to
a2a6efb
- Canonicalize struct & array inline constructor (PR #3751 by @VaggelisD):Canonicalize struct & array inline constructor (#3751)
e9c4bbb
- Support for ORDER BY ALL (PR #3756 by @VaggelisD)↘️ addresses issue #3755 opened by @Hunterlige
4a843e6
- postgres: Support FROM ROWS FROM (...) (PR #3753 by @VaggelisD)321051a
- presto, trino: Add support for exp.TimestampAdd (PR #3765 by @VaggelisD)82a1bb4
- Support for RPAD & LPAD functions (PR #3757 by @VaggelisD)
89fc63c
- duckdb, clickhouse: QUALIFY comes after WINDOW clause in queries (PR #3745 by @georgesittas)↘️ fixes issue #3744 opened by @taylorbarstow
15ca924
- optimizer: Fix expansion of SELECT * REPLACE, RENAME (PR #3742 by @VaggelisD)0363fef
- attach comments to Commands (PR #3758 by @georgesittas)a2a6efb
- bigquery: Canonicalize struct & array inline constructor (PR #3751 by @VaggelisD)5df3f52
- Remove number matching from COLON placeholder parser (PR #3761 by @VaggelisD)0606af6
- duckdb: Transpile UDFs from Databricks (PR #3768 by @VaggelisD)dcc783a
- clickhouse: Allow TokenType.SELECT as a Tuple field identifier (PR #3766 by @VaggelisD)b42b7ac
- extract from time/date (commit by @tobymao)
v25.5.1 - 2024-07-05
2bdde22
- optimizer: only qualify coalesced USING columns if they exist in table schemas (PR #3740 by @georgesittas)
v25.5.0 - 2024-07-04
-
due to
8335ba1
- preserve EXTRACT(date_part FROM datetime) calls (PR #3729 by @georgesittas):preserve EXTRACT(date_part FROM datetime) calls (#3729)
-
due to
fb066a6
- Decouple NVL() from COALESCE() (PR #3734 by @VaggelisD):Decouple NVL() from COALESCE() (#3734)
0c03299
- teradata: random lower upper closes #3721 (commit by @tobymao)37b6e2d
- snowflake: add support for VECTOR(type, size) (PR #3724 by @georgesittas)1e07c4d
- presto, trino: Configurable transpilation of Snowflake VARIANT (PR #3725 by @VaggelisD)e5a53aa
- snowflake: Support for FROM CHANGES (PR #3731 by @VaggelisD)↘️ addresses issue #3730 opened by @achicoine-coveo
820d664
- presto: wrap md5 string arguments in to_utf8 (PR #3732 by @georgesittas)↘️ addresses issue #2855 opened by @MikeWallis42
912bc84
- spark, databricks: Support view schema binding options (PR #3739 by @VaggelisD)
3454f86
- teradata: use timestamp with time zone over timestamptz (PR #3723 by @mtagle)f4a2872
- clickhouse: switch off table alias columns generation (PR #3727 by @georgesittas)8335ba1
- clickhouse: preserve EXTRACT(date_part FROM datetime) calls (PR #3729 by @georgesittas)fb066a6
- oracle: Decouple NVL() from COALESCE() (PR #3734 by @VaggelisD)↘️ fixes issue #3733 opened by @Hal-H2Apps
c790c3b
- tsql: parse rhs of x::varchar(max) into a type (PR #3737 by @georgesittas)
84416d2
- teradata: clean up CurrentTimestamp generation logic (commit by @georgesittas)
v25.4.1 - 2024-06-29
v25.4.0 - 2024-06-28
-
due to
9fb1d79
- extract unit should be a var, not a column (PR #3712 by @tobymao):extract unit should be a var, not a column (#3712)
-
due to
ae1816f
- simplify no longer removes neg, add to_py (PR #3714 by @tobymao):simplify no longer removes neg, add to_py (#3714)
-
due to
beaf9cc
- coalesce left-hand side of join conditions produced by expanding USING (PR #3715 by @georgesittas):coalesce left-hand side of join conditions produced by expanding USING (#3715)
97739fe
- add Select expression parser (commit by @georgesittas)1c2279c
- duckdb: Transpile exp.Length from other dialects (PR #3708 by @VaggelisD)23dac71
- snowflake: add support for CONNECT_BY_ROOT expression (PR #3717 by @georgesittas)↘️ addresses issue #3716 opened by @niklaslorenzatalligator
4f050e0
- transpile BigQuery's SAFE_CAST with FORMAT to DuckDB (PR #3718 by @georgesittas)
3a86d7e
- non deterministic aggs in planner closes #3709 (commit by @tobymao)3b8568d
- clickhouse: extract closes #3711 (commit by @tobymao)9fb1d79
- extract unit should be a var, not a column (PR #3712 by @tobymao)ae1816f
- simplify no longer removes neg, add to_py (PR #3714 by @tobymao)beaf9cc
- optimizer: coalesce left-hand side of join conditions produced by expanding USING (PR #3715 by @georgesittas)
v25.3.3 - 2024-06-26
972ce7d
- control ParseJSON generation logic with a flag (PR #3707 by @georgesittas)
v25.3.2 - 2024-06-26
a1327c7
- tsql: Add support for scope qualifier operator (PR #3703 by @VaggelisD)
842a9f0
- parser: preserve Cast expression when it's 'safe' and has a format (PR #3705 by @georgesittas)fc0411d
- parser: explicitly check for identifiers in _parse_types (PR #3704 by @georgesittas)↘️ fixes issue #2826 opened by @plaflamme
e9236e3
- add EXPAND_ALIAS_REFS_ONLY_IN_GROUP_BY dialect constant (PR #3702 by @georgesittas)92c6ebb
- tsql: make ScopeResolution round-trippable (PR #3706 by @georgesittas)
v25.3.1 - 2024-06-25
4ed02b0
- transpile TRY_PARSE_JSON Snowflake -> DuckDB (PR #3696 by @georgesittas)↘️ addresses issue #3690 opened by @achicoine-coveo
60fa5e3
- snowflake: add support for dynamic table DDL (commit by @georgesittas)
442c61d
- tokenizer: don't treat escapes in raw strings as such for some dialects (PR #3689 by @georgesittas)f3e928e
- parser: make parse_var_or_string more lenient (PR #3695 by @georgesittas)806a7e4
- remove tokenizer cache for multi-threading (commit by @tobymao)3fba603
- don't treat /*+ as a HINT token in dialects that don't support hints (PR #3697 by @georgesittas)e5d534c
- optimizer: Force early alias expansion in BQ & CH (PR #3699 by @VaggelisD)↘️ fixes issue #3687 opened by @viplazylmht
1cfb1ff
- proper parsing of unit in spark/databricks date_diff (PR #3701 by @georgesittas)↘️ fixes issue #3700 opened by @cheesefactory
8b16199
- bump sqlglotrs to v0.2.8 (commit by @georgesittas)
v25.3.0 - 2024-06-21
-
due to
84d820f
- Time/Datetime/Timestamp function additions (PR #3666 by @VaggelisD):Time/Datetime/Timestamp function additions (#3666)
-
due to
acbc81d
- Preserve JSON/VARIANT path with operators (PR #3678 by @VaggelisD):Preserve JSON/VARIANT path with operators (#3678)
84d820f
- bigquery: Time/Datetime/Timestamp function additions (PR #3666 by @VaggelisD)d46ad95
- tokenizer: add support for nested comments (PR #3670 by @georgesittas)ac0e89c
- snowflake: add SECURE post table property fixes #3677 (commit by @georgesittas)acbc81d
- databricks: Preserve JSON/VARIANT path with operators (PR #3678 by @VaggelisD)07158c7
- clickhouse: Fix roundtrips of DATE/TIMESTAMP functions (PR #3683 by @VaggelisD)↘️ addresses issue #3679 opened by @TacoBel42
79aea2a
- doris: ensure LAG/LEAD are generated with three arguments (commit by @georgesittas)08fb2ec
- parser: check if FROM exists when making implicit unnest explicit fixes #3671 (commit by @georgesittas)049fc5a
- bigquery: handle the case-sensitive strategy in normalize_identifier (PR #3667 by @georgesittas)9e1b6aa
- parser: handle another edge case in struct field type parser (PR #3682 by @georgesittas)↘️ fixes issue #3680 opened by @plaflamme
a1a0278
- jsonbcontains default gen (commit by @tobymao)bf44942
- oracle: Fix default NULL_ORDERING (PR #3688 by @VaggelisD)↘️ fixes issue #3684 opened by @ncclementi
7ae99fe
- bump sqlglotrs to 0.2.7 (commit by @georgesittas)
v25.2.0 - 2024-06-17
-
due to
d331e56
- Normalize time units in their full singular form (PR #3652 by @VaggelisD):Normalize time units in their full singular form (#3652)
-
due to
468123e
- create SetOperation class (PR #3661 by @georgesittas):create SetOperation class (#3661)
e7a158b
- set misc. dialect settings if available (PR #3649 by @georgesittas)ff3dabc
- tsql: index on closes #3658 (commit by @tobymao)fb4d908
- tsql: clustered index closes #3659 (commit by @tobymao)
88c4965
- mysql: delete redundant keywords (PR #3646 by @Toms1999)4c82c0d
- Parse UNNEST as a function in base dialect (PR #3650 by @VaggelisD)d331e56
- redshift: Normalize time units in their full singular form (PR #3652 by @VaggelisD)↘️ fixes issue #3651 opened by @vidit-wisdom
a06ee36
- parser: edge case in _parse_types (PR #3656 by @georgesittas)↘️ fixes issue #3655 opened by @dangoldin
a739741
- teradata warning (commit by @tobymao)868f30d
- improve schema error handling (PR #3663 by @georgesittas)↘️ fixes issue #3662 opened by @dexhorthy
e8cab58
- clean up join mark elimination rule (PR #3653 by @georgesittas)468123e
- create SetOperation class (PR #3661 by @georgesittas)↘️ addresses issue #3660 opened by @sorgfresser
v25.1.0 - 2024-06-12
-
due to
d6cfb41
- Support for DATE_ADD functions (PR #3609 by @VaggelisD):Support for DATE_ADD functions (#3609)
d6cfb41
- spark, databricks: Support for DATE_ADD functions (PR #3609 by @VaggelisD)↘️ addresses issue #3607 opened by @justinbt21
4b30b87
- postgres: Support DIV() func for integer division (PR #3602 by @VaggelisD)↘️ addresses issue #3601 opened by @andrrreasss
ee9b01d
- mysql: support ADD INDEX/KEY/UNIQUE in ALTER TABLE (PR #3621 by @georgesittas)c49cefa
- mysql: support STRAIGHT_JOIN (PR #3623 by @georgesittas)e998308
- eliminate join marks (PR #3580 by @mrhopko)227e054
- oracle: support unicode strings u'...' (PR #3641 by @georgesittas)6df5757
- bq datetime -> timestampfromparts (PR #3642 by @tobymao)6abd2c9
- oracle: Support for WITH READ ONLY / CHECK OPTION (PR #3639 by @VaggelisD)
514b3a5
- redshift: add support for Oracle style outer join markers #3611 (PR #3612 by @sandband)6a607d3
- unnest should also be a function (commit by @tobymao)0e1a1fb
- optimizer: don't use datetrunc type for right side (PR #3614 by @barakalon)d96459f
- postgres: sha256 support (commit by @tobymao)05fe847
- snowflake: support fqns in masking/projection policy constraint (PR #3620 by @georgesittas)↘️ fixes issue #3617 opened by @kosta-foundational
caa3051
- snowflake: Allow SELECT keyword as JSON path key (PR #3627 by @VaggelisD)↘️ fixes issue #3619 opened by @kosta-foundational
96efb64
- tokenizer: properly handle tags that need to be identifiers in heredocs (PR #3630 by @georgesittas)4f8edba
- oracle: Allow optional format in TO_DATE (PR #3637 by @VaggelisD)d8c6153
- oracle: don't apply eliminate_join_markers at parse time (commit by @georgesittas)1afe6ac
- don't generate neq(0) if subquery predicate in ensure_bools (commit by @georgesittas)fc050bd
- sqlite: Fix transpilation of GENERATED AS IDENTITY (PR #3634 by @VaggelisD)↘️ fixes issue #3632 opened by @lelandbatey
47472d9
- duckdb: get rid of TEXT length to facilitate transpilation (PR #3633 by @georgesittas)
6194c0f
- clean up logic related to join marker parsing/generation (PR #3613 by @georgesittas)
5396a8e
- fix SQLFrame casing (PR #3616 by @eakmanrq)0397d6f
- bump sqlglotrs to v0.2.6 (commit by @georgesittas)
v25.0.3 - 2024-06-06
97f8d1a
- add materialize dialect (PR #3577 by @bobbyiliev)bde5a8d
- add risingwave dialect (PR #3598 by @neverchanje)
5140817
- risingwave: clean up initial implementation of RisingWave (commit by @georgesittas)f920014
- materialize: clean up initial implementation of Materialize (PR #3608 by @georgesittas)
v25.0.2 - 2024-06-05
472058d
- bigquery: add support for GAP_FILL function (commit by @georgesittas)
v25.0.0 - 2024-06-05
f7081c4
- builder other props closes #3588 (commit by @tobymao)13009ca
- doris: use CSV syntax for GROUP_CONCAT (PR #3592 by @Toms1999)bf7fd12
- no_ilike_sql to lower both sides (PR #3593 by @barakalon)8d87568
- stop normalization_distance early (PR #3594 by @barakalon)3e38912
- duckdb: add reserved keywords (PR #3597 by @georgesittas)5683d5f
- hive: generate TRUNC for TimestampTrunc (PR #3600 by @Toms1999)ff55ec1
- hive: generate string unit for TRUNC, parse it into TimestampTrunc too (commit by @georgesittas)12b6aa7
- snowflake: Fix COPY INTO with subquery (PR #3605 by @VaggelisD)↘️ fixes issue #3604 opened by @ajuszczak
061be9b
- optimize absorb_and_eliminate and remove_complements (PR #3595 by @barakalon)
7dd244b
- hive: test TRUNC roundtrip (commit by @georgesittas)
v24.1.2 - 2024-06-04
158ca97
- duckdb: transpile TIMESTAMPNTZ into TIMESTAMP (PR #3587 by @georgesittas)
v24.1.1 - 2024-06-03
60d9085
- postgres: collate with identifier closes #3578 (commit by @tobymao)317e3a9
- bigquery: expanding positional refs with ambiguous references (PR #3585 by @tobymao)5e321f1
- div aliases closes #3583 (PR #3586 by @tobymao)
v24.1.0 - 2024-05-30
-
due to
0788c94
- Expand stars on BigQuery's tbl.struct_col.* selections (PR #3531 by @VaggelisD):Expand stars on BigQuery's tbl.struct_col.* selections (#3531)
-
due to
3e71393
- Refactor struct star expansion in BQ (PR #3576 by @VaggelisD):Refactor struct star expansion in BQ (#3576)
0788c94
- optimizer: Expand stars on BigQuery's tbl.struct_col.* selections (PR #3531 by @VaggelisD)↘️ addresses issue #3484 opened by @Bladieblah
14d63ee
- bubble up Identifier comments to TableAliases (PR #3571 by @georgesittas)↘️ fixes issue #3570 opened by @fangxingli
ba90c22
- snowflake: COPY Postfix (PR #3564 by @VaggelisD)3e71393
- optimizer: Refactor struct star expansion in BQ (PR #3576 by @VaggelisD)
1e1dc3f
- optimizer: minor improvements in the struct star expansion (PR #3568 by @georgesittas)
b12ea8c
- minor style changes related to COPY INTO (commit by @georgesittas)
v24.0.3 - 2024-05-29
fb8db9f
- parser: edge case where TYPE_CONVERTERS leads to type instead of column (PR #3566 by @georgesittas)aac8570
- use index2 instead of self._index in _parse_type index difference (commit by @georgesittas)
v24.0.2 - 2024-05-28
078471d
- mysql,doris: improve transpilation of INTERVAL (plural to singular) (PR #3543 by @Toms1999)fe56e64
- postgres: add support for col int[size] column def syntax (PR #3548 by @georgesittas)↘️ addresses issue #3544 opened by @judahrand↘️ addresses issue #3545 opened by @judahrand
188dce8
- snowflake: add support for WITH-prefixed column constraints (PR #3549 by @georgesittas)712d247
- add support for ALTER COLUMN DROP NOT NULL (PR #3550 by @noklam)7c323bd
- add option in schema's find method to ensure types are DataTypes (PR #3560 by @georgesittas)
1a8a16b
- clickhouse: improve struct type parsing (PR #3547 by @georgesittas)970d3b0
- postgres: setting un-suffixed FLOAT as DOUBLE (#3551) (PR #3552 by @sandband)e1a9a8b
- redshift: add support for MINUS operator #3553 (PR #3555 by @sandband)beb0269
- tsql: adapt TimeStrToTime to avoid superfluous casts (PR #3558 by @Themiscodes)eae3c51
- use regex to split interval strings (PR #3556 by @georgesittas)↘️ fixes issue #3554 opened by @kevinjqiu
a67de5f
- get rid of redundant dict_depth check in schema find (PR #3561 by @georgesittas)89a8984
- move UNESCAPED_SEQUENCES out of the _Dialect metaclass (commit by @georgesittas)
893addf
- add SET NOT NULL test (commit by @georgesittas)
v24.0.1 - 2024-05-23
-
due to
80c622e
- add reserved keywords fixes #3526 (commit by @georgesittas):add reserved keywords fixes #3526
a255610
- add StringToArray expression (postgres), improve its transpilation (commit by @georgesittas)8f46d48
- redshift: transpile SPLIT_TO_STRING (commit by @georgesittas)
80c622e
- doris: add reserved keywords fixes #3526 (commit by @georgesittas)ebf5fc7
- hive: generate correct names for weekofyear, dayofmonth, dayofweek (PR #3533 by @oshyun)3fe3c2c
- parser: make _parse_type less aggressive, only parse column as last resort (PR #3541 by @georgesittas)8afff02
- tsql: preserve REPLICATE roundtrip (commit by @georgesittas)
v24.0.0 - 2024-05-21
-
due to
a077f17
- add reserved keywords (PR #3525 by @georgesittas):add reserved keywords (#3525)
d958bba
- snowflake: add support for CREATE WAREHOUSE (PR #3510 by @yingw787)2105300
- databricks: Enable hex string literals (PR #3522 by @VaggelisD)1ef3bb6
- snowflake: Add support forCREATE STREAMLIT
(PR #3519 by @yingw787)
5cecbfa
- unnest identifier closes #3512 (commit by @tobymao)33ab353
- snowflake: parse certain DB_CREATABLES as identifiers (commit by @georgesittas)d468f92
- doris: dont generate arrows for JSONExtract* closes #3513 (commit by @georgesittas)bfb9f98
- postgres: parse @> into ArrayContainsAll, improve transpilation (PR #3515 by @georgesittas)4def45b
- make UDF DDL property parsing more lenient closes #3517 (commit by @georgesittas)a077f17
- mysql: add reserved keywords (PR #3525 by @georgesittas)
358f30c
- remove redundant postgres JSONB token mapping (commit by @georgesittas)
v23.17.0 - 2024-05-19
-
due to
77d21d9
- parse : operator as JSONExtract (similar to Snowflake) (PR #3508 by @georgesittas):parse : operator as JSONExtract (similar to Snowflake) (#3508)
77d21d9
- databricks: parse : operator as JSONExtract (similar to Snowflake) (PR #3508 by @georgesittas)
v23.16.0 - 2024-05-18
-
due to
e281db8
- Add ALTER TABLE SET (PR #3485 by @VaggelisD):Add ALTER TABLE SET (#3485)
e281db8
- Add ALTER TABLE SET (PR #3485 by @VaggelisD)9aee21b
- add RETURNS NULL ON NULL and STRICT properties (PR #3504 by @georgesittas)↘️ addresses issue #3503 opened by @krzysztof-kwitt
v23.15.10 - 2024-05-17
89c1d3a
- clickhouse: support generate TimestampTrunc, Variance, Stddev (PR #3489 by @longxiaofei)
03879bb
- postgres: date_trunc supports time zone (commit by @georgesittas)6e7f37a
- copy into pretty printing and default dialect (PR #3496 by @tobymao)e8600e2
- property eq needs highest precedence (commit by @tobymao)
v23.15.9 - 2024-05-17
-
due to
846d5cd
- set default precision / width for DECIMAL type (PR #3472 by @georgesittas):set default precision / width for DECIMAL type (#3472)
-
due to
e3ff67b
- preserve star clauses (EXCLUDE, RENAME, REPLACE) (PR #3477 by @georgesittas):preserve star clauses (EXCLUDE, RENAME, REPLACE) (#3477)
-
due to
b417c80
- parse TININT into UTINYINT to improve transpilation (PR #3486 by @georgesittas):parse TININT into UTINYINT to improve transpilation (#3486)
-
due to
54e31af
- add DECLARE statement parsing (PR #3462 by @jlucas-fsp):add DECLARE statement parsing (#3462)
-
due to
7287bb9
- nested cte ordering closes #3488 (commit by @tobymao):nested cte ordering closes #3488
2c29bf3
- snowflake: add support for CREATE TAG DDL statement (PR #3473 by @georgesittas)2433993
- transpiler: handle different hex behavior for dialects (PR #3463 by @viplazylmht)↘️ addresses issue #3460 opened by @viplazylmht
0009e09
- add epoch_ms of duckdb to other dialects (PR #3471 by @longxiaofei)461215b
- clickhouse: add support for PROJECTION in CREATE TABLE statement (PR #3465 by @GaliFFun)54e31af
- tsql: add DECLARE statement parsing (PR #3462 by @jlucas-fsp)c811adb
- snowflake array_construct_compact to spark (commit by @tobymao)
58d5f2b
- presto: fix parsing and generating hash functions presto/trino (PR #3459 by @viplazylmht)↘️ fixes issue #3458 opened by @viplazylmht
065281e
- optimizer: fix multiple bugs in unnest_subqueries, clean up test suite (PR #3464 by @georgesittas)↘️ fixes issue #3448 opened by @yesemsanthoshkumar
80ba1e8
- preserve quotes for projections produced by the eliminate_qualify rule (PR #3470 by @aersam)3bc1fbe
- make quoting of alias_or_name in eliminate_qualify more robust (commit by @georgesittas)1843e9b
- allow parameters in user-defined types (PR #3474 by @georgesittas)e004d2a
- duckdb: preserve precedence of json extraction when converting to arrow syntax (PR #3478 by @georgesittas)e3ff67b
- snowflake: preserve star clauses (EXCLUDE, RENAME, REPLACE) (PR #3477 by @georgesittas)428fd61
- mysql: generate CONCAT for DPipe (PR #3482 by @georgesittas)b417c80
- tsql: parse TININT into UTINYINT to improve transpilation (PR #3486 by @georgesittas)a3ff49e
- presto: fix DELETE DML statement for presto/trino (PR #3466 by @viplazylmht)7287bb9
- nested cte ordering closes #3488 (commit by @tobymao)5b64475
- allow rollup to be used as an identifier (PR #3495 by @georgesittas)↘️ fixes issue #3494 opened by @dangoldin
846d5cd
- snowflake: set default precision / width for DECIMAL type (PR #3472 by @georgesittas)930f923
- clean up Hex / LowerHex implementation (PR #3483 by @georgesittas)883fcd7
- presto: make DELETE transpilation more robust (PR #3487 by @georgesittas)49f7f85
- tsql: handle TABLE more gracefully for DeclareItem (commit by @georgesittas)
v23.15.8 - 2024-05-11
-
due to
510f8b5
- improve transpilation of TABLESAMPLE clause (PR #3457 by @georgesittas):improve transpilation of TABLESAMPLE clause (#3457)
510f8b5
- improve transpilation of TABLESAMPLE clause (PR #3457 by @georgesittas)e28c959
- make create table cmd parsing less aggressive so that they can be used in sqlmesh @if macros (commit by @tobymao)
v23.15.7 - 2024-05-11
c3bb3da
- change python-version to 3.11 for build-rs (commit by @georgesittas)
v23.15.6 - 2024-05-11
cd8f568
- fix rust deployment workflow bug (commit by @georgesittas)
v23.15.3 - 2024-05-10
v23.15.2 - 2024-05-10
116172a
- add support for ON property in ALTER and DROP statements (PR #3450 by @GaliFFun)aa104fd
- add semi colon comments (commit by @tobymao)
2c62267
- bigquery: fix SHA1 generator (PR #3453 by @viplazylmht)↘️ fixes issue #3451 opened by @viplazylmht
fb3dea9
- clickhouse: fix parsing and generating hash functions (PR #3454 by @viplazylmht)↘️ fixes issue #3452 opened by @viplazylmht
b76dfda
- snowflake: COPY Subquery postfix (PR #3449 by @VaggelisD)
v23.15.1 - 2024-05-10
v23.15.0 - 2024-05-09
80670bb
- snowflake: Support for APPROX_PERCENTILE (PR #3426 by @VaggelisD)↘️ addresses issue #3424 opened by @baruchoxman
b46c5b3
- clickhouse: add support for partition expression (PR #3428 by @GaliFFun)07badc9
- clickhouse: add support for ALTER TABLE REPLACE PARTITION statement (PR #3441 by @GaliFFun)baf39e7
- redshift: improve ALTER TABLE .. ALTER .. support (PR #3444 by @georgesittas)
e8014e2
- mysql: Parse REPLACE statement as Command (PR #3425 by @VaggelisD)273731f
- snowflake: parse CREATE SEQUENCE with commas (PR #3436 by @georgesittas)761ba6f
- don't generate connector comments when comments=False closes #3439 (commit by @georgesittas)a2a6eaa
- handle empty string in connector comment padding (PR #3437 by @uncledata)1bc0ce5
- func to binary MOD generation (PR #3440 by @VaggelisD)↘️ fixes issue #3431 opened by @daniel769
5cfb29c
- bigquery: MOD edge case (commit by @georgesittas)9825c4c
- improve error handling for nested schema levels (PR #3445 by @tobymao)c309def
- duckdb: use name sequence instead of single _t for unnest alias (PR #3446 by @georgesittas)0927ae3
- executor: use timezone-aware object to represent datetime in UTC (PR #3447 by @georgesittas)9338ebc
- tsql drop view no catalog (commit by @tobymao)
30f9d30
- bump ruff to 0.4.3 (PR #3430 by @georgesittas)91bed56
- test 3.12 (commit by @tobymao)
v23.14.0 - 2024-05-07
-
due to
258ad3b
- parse column instead of identifier for SET assignment LHS (PR #3417 by @georgesittas):parse column instead of identifier for SET assignment LHS (#3417)
258ad3b
- parse column instead of identifier for SET assignment LHS (PR #3417 by @georgesittas)17c31da
- lineage: get rid of comments in Node names (PR #3418 by @georgesittas)↘️ fixes issue #3414 opened by @jaspev123
ea197ea
- snowflake: ensure OBJECT_CONSTRUCT is not generated inside of VALUES (PR #3419 by @georgesittas)
v23.13.7 - 2024-05-04
4dbcd4f
- refactor publish workflow for sqlglotrs releasing (commit by @georgesittas)
v23.13.6 - 2024-05-04
aa4f90a
- refactor publish workflow for sqlglotrs releasing (commit by @georgesittas)
v23.13.5 - 2024-05-04
0deffd8
- refactor publish workflow for sqlglotrs releasing (commit by @georgesittas)
v23.13.4 - 2024-05-04
5125732
- refactor publish workflow for sqlglotrs releasing (commit by @georgesittas)
v23.13.3 - 2024-05-04
0a36dd8
- fix should-deploy-rs bash condition (commit by @georgesittas)
v23.13.2 - 2024-05-04
fc979a0
- snowflake: make FILE_FORMAT option always be uppercase in COPY INTO (commit by @georgesittas)
1b5b77d
- improve unsupported error documentation (PR #3406 by @georgesittas)fcb51af
- release sqlglotrs only when Cargo.toml is updated (PR #3408 by @georgesittas)
v23.13.1 - 2024-05-04
2c2a788
- snowflake: COPY postfix (PR #3398 by @VaggelisD)↘️ fixes issue #3388 opened by @dangoldin
v23.13.0 - 2024-05-03
-
due to
cc6259d
- Mark UDTF child scopes as ScopeType.SUBQUERY (PR #3390 by @VaggelisD):Mark UDTF child scopes as ScopeType.SUBQUERY (#3390)
-
due to
33bae9b
- get rid of superfluous "parameters" arg in RegexpReplace (PR #3394 by @georgesittas):get rid of superfluous "parameters" arg in RegexpReplace (#3394)
-
due to
3768514
- snowflake optional merge insert (commit by @tobymao):snowflake optional merge insert
-
due to
d1b4f1f
- Introducing TIMESTAMP_NTZ token and data type (PR #3386 by @VaggelisD):Introducing TIMESTAMP_NTZ token and data type (#3386)
d1b4f1f
- Introducing TIMESTAMP_NTZ token and data type (PR #3386 by @VaggelisD)16691f9
- prql: add support for AGGREGATE (PR #3395 by @fool1280)534fb80
- postgres: add support for anonymos index DDL syntax (PR #3403 by @georgesittas)
a2afcca
- mysql: don't cast into invalid numeric/text types (PR #3375 by @georgesittas)60b5c3b
- spark: transpile presto TRY, fix JSON casting issue (PR #3376 by @georgesittas)↘️ fixes issue #3374 opened by @cploonker
3e8de71
- postgres: allow FOR clause without FROM in SUBSTRING closes #3377 (commit by @georgesittas)b2a7e55
- optimizer: Remove XOR from connector simplifications (PR #3380 by @VaggelisD)↘️ fixes issue #3372 opened by @colincointe
477754c
- trino: bring back TRIM parsing (PR #3385 by @georgesittas)↘️ fixes issue #3384 opened by @dmelchor-stripe
cc6259d
- optimizer: Mark UDTF child scopes as ScopeType.SUBQUERY (PR #3390 by @VaggelisD)0d23b20
- allow joins in FROM expression parser (PR #3389 by @georgesittas)↘️ fixes issue #3387 opened by @MikeWallis42
e7021df
- duckdb: Preserve DATE_SUB roundtrip (PR #3382 by @VaggelisD)641b296
- postgres: tokenize INT8 as BIGINT (PR #3392 by @georgesittas)33bae9b
- get rid of superfluous "parameters" arg in RegexpReplace (PR #3394 by @georgesittas)3768514
- snowflake optional merge insert (commit by @tobymao)f44cd24
- make generated constraint parsing more lenient fixes #3397 (commit by @georgesittas)00ff877
- tsql: quote hash sign as well for quoted temporary tables (PR #3401 by @georgesittas)84b7026
- trino: support for data type 'tdigest' (PR #3402 by @suryaiyer95)24e1115
- trino|presto: adding cast support for "hyperloglog" column type (PR #3405 by @uncledata)
v23.12.2 - 2024-04-30
d2a6f16
- COPY TO/FROM statement (PR #3359 by @VaggelisD)f034ea0
- mysql: Transpile TimestampTrunc (PR #3367 by @VaggelisD)↘️ addresses issue #3366 opened by @sivpr2000
f697cb1
- duckdb describe query closes #3353 (commit by @tobymao)6e0fc5d
- export optimizer functions explicitly in init (PR #3358 by @georgesittas)23d45ee
- postgres: don't generate CommentColumnConstraint (PR #3357 by @georgesittas)e87685b
- lineage: use source names of derived table sources for laterals (PR #3360 by @georgesittas)↘️ fixes issue #3356 opened by @eliaperantoni
e82a30b
- postgres: don't generate SchemaCommentProperty (PR #3364 by @georgesittas)47dc52c
- mysql: convert epoch extraction into UNIX_TIMESTAMP call (PR #3369 by @georgesittas)b8f0979
- mysql: generate GROUP_CONCAT for ArrayAgg (PR #3370 by @georgesittas)
b928f54
- don't mutate the AST when creating DDL scopes (PR #3371 by @georgesittas)
v23.12.1 - 2024-04-25
719d394
- add a test for quoted aliases (commit by @tobymao)6d7a9f4
- use unknown token types (commit by @tobymao)
v23.12.0 - 2024-04-25
-
due to
c5ce47b
- Combine aggregate functions with orderby from WITHIN GROUP (PR #3352 by @VaggelisD):Combine aggregate functions with orderby from WITHIN GROUP (#3352)
80793cc
- parse (a,) as a tuple instead of a paren (PR #3341 by @georgesittas)b3826f8
- allow comments to be attached for identifiers used in definitions (PR #3340 by @georgesittas)ce7d893
- clickhouse: Parse window functions in ParameterizedAggFuncs (PR #3347 by @VaggelisD)
0e54975
- tsql: only use target table name when generating sp_rename (PR #3342 by @georgesittas)52bdd0c
- tsql: Convert TIMESTAMP to ROWVERSION, transpile both to BINARY (PR #3348 by @VaggelisD)c5ce47b
- duckdb: Combine aggregate functions with orderby from WITHIN GROUP (PR #3352 by @VaggelisD)
v23.11.2 - 2024-04-19
v23.11.1 - 2024-04-19
v23.11.0 - 2024-04-19
-
due to
290e408
- Preserve DPipe in simplify_concat (PR #3317 by @VaggelisD):Preserve DPipe in simplify_concat (#3317)
-
due to
83cff79
- add comprehensive reserved keywords for presto and redshift (PR #3322 by @tobymao):add comprehensive reserved keywords for presto and redshift (#3322)
-
due to
61f5b12
- Introduce partition in exp.Table (PR #3327 by @VaggelisD):Introduce partition in exp.Table (#3327)
-
due to
1832ff1
- dynamic styling for inline arrays (commit by @tobymao):dynamic styling for inline arrays
-
due to
5fb7f5b
- dont double indent comments (commit by @tobymao):dont double indent comments
4f1691a
- allow qualify to also annotate on the fly for unnest support (PR #3316 by @tobymao)83cff79
- add comprehensive reserved keywords for presto and redshift (PR #3322 by @tobymao)ef3311a
- hive: Add 'STORED AS' option in INSERT DIRECTORY (PR #3326 by @VaggelisD)↘️ addresses issue #3320 opened by @bkyryliuk
7f9cb2d
- clickhouse: Add support for DATE_FORMAT / formatDateTime (PR #3329 by @VaggelisD)↘️ addresses issue #3324 opened by @PaienNate
61f5b12
- Introduce partition in exp.Table (PR #3327 by @VaggelisD)↘️ addresses issue #3319 opened by @bkyryliuk
31744b2
- prql: handle NULL (PR #3331 by @fool1280)1105044
- tsql: add alter table rename (commit by @tobymao)1832ff1
- dynamic styling for inline arrays (commit by @tobymao)
ef84f17
- optimizer: don't simplify parentheses when parent is SubqueryPredicate (PR #3315 by @georgesittas)290e408
- optimizer: Preserve DPipe in simplify_concat (PR #3317 by @VaggelisD)52b957a
- transform eliminate_qualify on generated columns (PR #3307 by @viplazylmht)eb8d7b8
- remove e*s mapping because it's not equivalent to %f (commit by @tobymao)9de1494
- allow bigquery udf with resered keyword closes #3332 (PR #3333 by @tobymao)e2b6213
- don't double comment unions (commit by @tobymao)5fb7f5b
- dont double indent comments (commit by @tobymao)
v23.10.0 - 2024-04-12
506760d
- redshift: unqualify unnest columns (PR #3314 by @georgesittas)
0450521
- get rid of 1st projection pad for leading comma formatting (PR #3308 by @georgesittas)
v23.9.0 - 2024-04-12
-
due to
32cdc36
- allow unions to be limited directly and stop subquerying since… (PR #3301 by @tobymao):allow unions to be limited directly and stop subquerying since… (#3301)
-
due to
3c97d34
- parse right-hand side of IN () as a Subquery (PR #3304 by @georgesittas):parse right-hand side of IN () as a Subquery (#3304)
-
due to
75e0c69
- cast less aggressively (PR #3302 by @georgesittas):cast less aggressively (#3302)
a721923
- prql: Add support for SORT (PR #3297 by @fool1280)2ea438b
- is_negative helper method (commit by @tobymao)b28cd89
- improve transpilation of datetime functions to Teradata (PR #3295 by @maureen-daum)32cdc36
- allow unions to be limited directly and stop subquerying since… (PR #3301 by @tobymao)↘️ addresses issue #3300 opened by @williaster
1bc51df
- teradata: handle transpile of quarter function (PR #3303 by @maureen-daum)4790414
- prql: Handle DESC with sort (PR #3299 by @fool1280)
3c97d34
- parse right-hand side of IN () as a Subquery (PR #3304 by @georgesittas)75e0c69
- cast less aggressively (PR #3302 by @georgesittas)d3472c6
- Add postgres transpilation for TIME_TO_UNIX (PR #3305 by @crericha)2224881
- case when / if should ignore null types (commit by @tobymao)5b2feb7
- allow unnesting to bring struct fields into scope (commit by @tobymao)
b523bb6
- cleanup teradata to simplify first (commit by @tobymao)6f73186
- refactor to use inline lambda (commit by @tobymao)6b21bba
- make test runnable (commit by @tobymao)
v23.8.2 - 2024-04-10
94c188d
- optimizer: propagate recursive CTE source to children scopes early (PR #3294 by @georgesittas)281db61
- replace fully qualified columns with generated table aliases since they become invalid (commit by @tobymao)
v23.8.1 - 2024-04-09
942856d
- postgres: add COMMENT ON MATERIALIZED VIEW (PR #3293 by @l-vincent-l)
fd24b27
- make exp.to_column more lenient (PR #3292 by @georgesittas)
v23.8.0 - 2024-04-08
-
due to
6bba030
- transpile map retrieval to duckdb, transpile TRY_ELEMENT_AT (PR #3277 by @georgesittas):transpile map retrieval to duckdb, transpile TRY_ELEMENT_AT (#3277)
-
due to
02218fc
- allow to_column to properly parse quoted column paths, make types simpler (PR #3289 by @tobymao):allow to_column to properly parse quoted column paths, make types simpler (#3289)
08222c2
- clickhouse: add support for MATERIALIZED, EPHEMERAL column constraints (PR #3275 by @pkit)6bba030
- transpile map retrieval to duckdb, transpile TRY_ELEMENT_AT (PR #3277 by @georgesittas)1726923
- desc history databricks closes #3280 (commit by @tobymao)0690cbc
- snowflake: FINAL/RUNNING keywords in MATCH_RECOGNIZE MEASURES (PR #3284 by @VaggelisD)1311ba3
- presto: add support for DISTINCT / ALL after GROUP BY (PR #3290 by @georgesittas)↘️ addresses issue #3286 opened by @bkyryliuk
f65d812
- move EphemeralColumnConstraint generation to base generator (commit by @georgesittas)6d1c44d
- optimizer: unnest union subqueries (PR #3278 by @georgesittas)a37d231
- presto: allow qualify to be an alias closes #3287 (commit by @tobymao)02218fc
- allow to_column to properly parse quoted column paths, make types simpler (PR #3289 by @tobymao)fe0eb57
- pass quoted to the identifier (commit by @tobymao)
v23.7.0 - 2024-04-04
19302ab
- optimizer: preserve the original type when creating a date literal (PR #3273 by @georgesittas)
v23.6.4 - 2024-04-03
803fc9e
- allow placeholders in units closes #3265 (PR #3267 by @tobymao)64ae85b
- nested cte ordering closes #3266 (commit by @tobymao)09287d9
- amend interval unit parsing regression (PR #3269 by @georgesittas)↘️ fixes issue #3268 opened by @LilyFoote
bc26e84
- optimizer: tweaks to date simplification (PR #3270 by @barakalon)
v23.6.0 - 2024-04-02
4eec748
- deploy sqlglot and then sqlglotrs (PR #3264 by @georgesittas)
v23.4.0 - 2024-04-02
-
due to
e148fe1
- describe formatted closes #3244 (commit by @tobymao):describe formatted closes #3244
-
due to
2c359e7
- properly transpile escape sequences (PR #3256 by @georgesittas):properly transpile escape sequences (#3256)
-
due to
9787567
- bump sqlglotrs to 0.2.0 (commit by @georgesittas):bump sqlglotrs to 0.2.0
8dba8e2
- optimizer: Support for small integer CAST elimination (PR #3234 by @VaggelisD)↘️ addresses issue #3229 opened by @NickCrews
e148fe1
- describe formatted closes #3244 (commit by @tobymao)a48d7eb
- allow non func hints closes #3248 (commit by @tobymao)d90ec95
- add conversion of named tuples and classes to structs (PR #3245 by @tobymao)f88640b
- clickhouse: CREATE TABLE computed columns, column compression, index (PR #3252 by @VaggelisD)a64ec1b
- snowflake: MATCH_CONDITION in ASOF JOIN (PR #3255 by @VaggelisD)↘️ addresses issue #3254 opened by @Bilbottom
a630c50
- allow interval spans closes #3246 (commit by @tobymao)28c5ee7
- mysql: Duplicate parsing of ENGINE_ATTRIBUTE (PR #3253 by @VaggelisD)2c359e7
- properly transpile escape sequences (PR #3256 by @georgesittas)6badfd1
- Fix STRPOS for Presto & Trino (PR #3261 by @VaggelisD)↘️ fixes issue #3259 opened by @amitgilad3
9787567
- bump sqlglotrs to 0.2.0 (commit by @georgesittas)
v23.3.0 - 2024-03-29
-
due to
0919be5
- StrToUnix Hive parsing, Presto generation fixes (PR #3225 by @georgesittas):StrToUnix Hive parsing, Presto generation fixes (#3225)
-
due to
163c85c
- convert dt with isoformat sep space for better compat, trino doesnt accept T (commit by @tobymao):convert dt with isoformat sep space for better compat, trino doesnt accept T
59f1d13
- oracle: Support for CONNECT BY [NOCYCLE] (PR #3238 by @VaggelisD)↘️ addresses issue #3237 opened by @Hal-H2Apps
12563ae
- mvp for transpling sqlite's STRFTIME (PR #3242 by @georgesittas)↘️ addresses issue #3240 opened by @markhalonen
0919be5
- StrToUnix Hive parsing, Presto generation fixes (PR #3225 by @georgesittas)163c85c
- convert dt with isoformat sep space for better compat, trino doesnt accept T (commit by @tobymao)555647d
- make property value parsing more lenient (PR #3230 by @georgesittas)8325039
- duckdb: wrap columns inside of INTERVAL expressions (commit by @georgesittas)fd5783f
- don't evaluate Rand twice when ordering by it (PR #3233 by @georgesittas)b097da5
- index error when comment sql is none (commit by @tobymao)bf94ce3
- > 1 nested joins closes #3231 (commit by @tobymao)2a3a5cd
- properly parse/generate duckdb MAP {..} syntax, annotate MAPs (PR #3241 by @georgesittas)
v23.1.0 - 2024-03-26
-
due to
71b82b4
- allow transformations that mutate the visited node's parent (PR #3182 by @georgesittas):allow transformations that mutate the visited node's parent (#3182)
c19878a
- transpile Snowflake's ADDTIME (PR #3180 by @georgesittas)66e2e49
- improve lineage perf (commit by @tobymao)ad23608
- mysql: Parse MODIFY COLUMN (PR #3189 by @VaggelisD)↘️ addresses issue #3186 opened by @kosti-hokkanen-supermetrics
a18444d
- add expressions for CORR, COVAR_SAMP, COVAR_POP (PR #3193 by @ttzhou)3620b99
- add support for convertingbytes
to sqlglot AST (PR #3198 by @georgesittas)648c819
- redshift starts with support (PR #3194 by @eakmanrq)c355a4a
- tsql: add support for WITH <view_attribute> in view DDL (PR #3203 by @georgesittas)8622eb2
- duckdb: add support for heredoc string syntax (PR #3212 by @georgesittas)b50dc5e
- Support for MySQL & Redshift UnixTotime (PR #3223 by @VaggelisD)↘️ addresses issue #3214 opened by @exgalibas
2f6a2f1
- optimizer: Support for UNION BY NAME (PR #3224 by @VaggelisD)↘️ addresses issue #3222 opened by @yiyuanliu
71b82b4
- allow transformations that mutate the visited node's parent (PR #3182 by @georgesittas)↘️ fixes issue #3181 opened by @l-vincent-l
6827edd
- postgres: Fix ARROW/DARROW column operators (PR #3191 by @VaggelisD)↘️ fixes issue #3185 opened by @ZipBrandon
0dd9ba5
- Fix backtracking through try/catch exceptions (PR #3190 by @VaggelisD)5cdd874
- generator: compute csv leading comma pad length correctly (PR #3201 by @georgesittas)↘️ fixes issue #3199 opened by @giovannipcarvalho
73fc807
- tokenizer: don't increment array cursor by 2 on CRLF (PR #3204 by @georgesittas)af1b026
- snowflake: convert VALUES with invalid expressions into UNION ALL (PR #3213 by @georgesittas)ec4648f
- optimizer: don't merge ORDER BY into UNION (PR #3215 by @barakalon)↘️ fixes issue #3211 opened by @rorynormaness
e4dd052
- allow snowflake object_construct with string keys to transpile to sqlglot dialect (commit by @tobymao)9e39076
- tsql: datestrtodate for tsql closes #3216 (commit by @tobymao)e7c9158
- bq datetime to timestamp (PR #3220 by @eakmanrq)e6b8d1f
- optimizer: constrain UDTF scope boundary (PR #3226 by @georgesittas)↘️ fixes issue #3209 opened by @rorynormaness
4cd0e17
- get rid of redundant condition in Expression.replace (PR #3192 by @georgesittas)
3879518
- bump sqlglotrs to 0.1.3 (commit by @georgesittas)
v23.0.5 - 2024-03-20
ed2c9e1
- move varchar max conversion to base (commit by @tobymao)e3b6139
- move comment from window function to Window expression (PR #3178 by @georgesittas)↘️ fixes issue #2299 opened by @georgesittas
a452276
- clickhouse: Fixing FORMAT being parsed as implicit alias (PR #3179 by @VaggelisD)
v23.0.4 - 2024-03-20
20cd803
- cleanup redundant check (commit by @tobymao)7e12342
- add superset to readme (commit by @tobymao)
v23.0.3 - 2024-03-19
eaaeab0
- snowflake: Allow non-literal expressions too in DATE functions (PR #3167 by @VaggelisD)
v23.0.2 - 2024-03-19
32cc2be
- postgres: add support for materialized CTEs (PR #3171 by @georgesittas)↘️ addresses issue #3170 opened by @betodealmeida
df4ce17
- can't expand group by for nulls and bools (commit by @tobymao)d859fc0
- unnest annotation with generate_date_array (PR #3169 by @tobymao)
v23.0.1 - 2024-03-19
5e18d49
- fill in missing implementation details for replace(None) (PR #3166 by @georgesittas)↘️ fixes issue #3165 opened by @streamnsight
a0df28f
- can't simplify null parens (commit by @tobymao)
eb0a6c3
- actually pop the where statement (commit by @tobymao)f6778ef
- add recursion test (commit by @tobymao)
v23.0.0 - 2024-03-18
e838713
- mysql: Support for multi arg GROUP_CONCAT (PR #3150 by @VaggelisD)↘️ addresses issue #3142 opened by @optionals
7e8f134
- test: Add standard alias to some TPC-DS query (PR #3151 by @fool1280)6d0e965
- add skip limit token kwarg (PR #3149 by @z3z1ma)3ed5845
- include table alias in bigquery unnest (PR #3156 by @eakmanrq)706fac3
- add bigquery mod op (PR #3157 by @eakmanrq)6ffdc25
- clickhouse: Support for INSERT INTO TABLE FUNCTION (PR #3162 by @VaggelisD)021af42
- snowflake: Adding support for DATE, TO_DATE, TRY_TO_DATE functions (PR #3160 by @VaggelisD)
cfde552
- asof identifier closes #3153 (commit by @tobymao)b1e6eef
- bigquery values transpilation with no column alias (commit by @tobymao)c0760b3
- parse over any closes #3155 (commit by @tobymao)
38b931e
- pin ruff (commit by @tobymao)66a6284
- improve type hints of Query methods (PR #3148 by @georgesittas)
v22.5.0 - 2024-03-14
-
due to
2b4952e
- desugar LOG2 and LOG10 by converting them into LOG (PR #3139 by @georgesittas):desugar LOG2 and LOG10 by converting them into LOG (#3139)
c01ff44
- snowflake: Add TO_TIMESTAMP test and update env.py (PR #3130 by @fool1280)8526c8e
- tsql: transpile LIMIT with OFFSET properly (PR #3145 by @georgesittas)
a9db8ff
- don't mutate parent nested classes if undefined in a dialect (PR #3134 by @georgesittas)d6bac3e
- duckdb: Slice + Array bug (PR #3137 by @VaggelisD)230a845
- optimizer bugs (commit by @tobymao)
2b4952e
- desugar LOG2 and LOG10 by converting them into LOG (PR #3139 by @georgesittas)↘️ addresses issue #3138 opened by @baruchoxman
ebbf5a1
- copy sqlglot.svg in docs/ to also display logo in website (PR #3147 by @georgesittas)↘️ addresses issue #3146 opened by @lostmygithubaccount
v22.4.0 - 2024-03-12
-
due to
b1c8cac
- traverse union scopes iteratively (PR #3112 by @georgesittas):traverse union scopes iteratively (#3112)
88033da
- test: add more passing tpcds tests (PR #3110 by @fool1280)804af34
- duckdb: add support for positional joins (PR #3111 by @georgesittas)↘️ addresses issue #3109 opened by @dylanscott
c4e7bbf
- improve transpilation of TO_NUMBER (commit by @codeDing18)80d484c
- postgres: generate StrToDate (PR #3124 by @georgesittas)09708f5
- Adding EXCLUDE constraint support (PR #3116 by @VaggelisD)9b25a8e
- Adding BACKUP property (PR #3127 by @VaggelisD)0ea849b
- Adding NAME data type in Postgres/Redshift (PR #3128 by @VaggelisD)
c333017
- correctly generate ArrayJoin in various dialects (PR #3120 by @georgesittas)12d72a6
- make the lineage sources dict type covariant (PR #3122 by @georgesittas)↘️ fixes issue #3121 opened by @rexledesma
b1c8cac
- traverse union scopes iteratively (PR #3112 by @georgesittas)94b5a2f
- athena: Fix CREATE TABLE properties, STRING data type (PR #3129 by @VaggelisD)↘️ fixes issue #3126 opened by @matthias-Q
0ce9ef1
- improve parsing of storage provider setting in index params (commit by @georgesittas)
v22.3.1 - 2024-03-09
fa84e2c
- copy all arg keys, including those set to None (PR #3108 by @georgesittas)
v22.3.0 - 2024-03-08
46c9c2c
- snowflake: parse CREATE SEQUENCE (PR #3072 by @tekumara)9f1e1ad
- add Athena dialect (PR #3089 by @georgesittas)efee388
- no more recursion for union generation (PR #3101 by @tobymao)ddab9df
- duckdb: add support for exp.ArrayJoin (PR #3102 by @seruman)8d5be0c
- duckdb: make ARRAY_TO_STRING transpilable to other dialects (commit by @georgesittas)a38db01
- Generalizing CREATE SEQUENCE (PR #3090 by @VaggelisD)18fd079
- no recursion copy (PR #3103 by @tobymao)
b101013
- subquery edge cases (PR #3076 by @tobymao)8c4400b
- bigquery: more table qualification edge cases closes #3083 (commit by @tobymao)d898f55
- bigquery: even more edge cases (commit by @tobymao)4fb74ff
- dataframe optimize user input (PR #3092 by @eakmanrq)↘️ fixes issue #3091 opened by @alexdemeo
cea7508
- lineage: simplifyNode.walk()
(PR #3098 by @rexledesma)ebe5a46
- executor: simplify column type inference (PR #3104 by @georgesittas)
6c67a2b
- reduce size of tpcds (commit by @tobymao)21e4fca
- update dialect count in README to include Athena (commit by @georgesittas)
v22.2.1 - 2024-03-04
19e07f3
- initial commit prql (commit by @tobymao)13b64fd
- more prql (commit by @tobymao)3d263aa
- oracle: Support for INSERT hint (PR #3077 by @VaggelisD)↘️ addresses issue #3074 opened by @sunrutcon
c51b64f
- json extract precedence closes #3068 (commit by @tobymao)223a475
- planner: don't overwrite JOIN step name (PR #3071 by @georgesittas)2770ddc
- drop CLUSTER/DISTRIBUTED/SORT BY modifiers when unsupported (PR #3069 by @georgesittas)↘️ fixes issue #3066 opened by @cploonker
4173ea2
- handle lineage of subqueries (PR #3075 by @tobymao)0ebce40
- redshift: don't transform multi-arg DISTINCT clause (PR #3079 by @georgesittas)
v22.2.0 - 2024-03-01
-
due to
08bafbd
- handle unnesting groups closes #3056 (PR #3058 by @tobymao):handle unnesting groups closes #3056 (#3058)
-
due to
4029fab
- expand alias refs of double aggs if it is a window func (PR #3059 by @tobymao):expand alias refs of double aggs if it is a window func (#3059)
8662e31
- postgres: improve transpilation of JSON array unnesting (PR #3063 by @georgesittas)c9bde44
- Making parse_number & parse_string more lenient (PR #3064 by @VaggelisD)
08bafbd
- handle unnesting groups closes #3056 (PR #3058 by @tobymao)4029fab
- expand alias refs of double aggs if it is a window func (PR #3059 by @tobymao)4e6e82c
- snowflake: allow any identifier after : closes #3061 (PR #3062 by @georgesittas)e2becea
- is distinct from parsing (commit by @tobymao)c8a753b
- Ignore Identifier nodes in the diffing algorithm (PR #3065 by @izeigerman)
v22.1.1 - 2024-02-29
1e25ec9
- test: handle NULL value in TPC-DS (PR #3052 by @fool1280)ad21b6b
- test: add more passing tpc-ds test (PR #3053 by @fool1280)
08249af
- Hive UnixToTime regression, README stale results (PR #3055 by @VaggelisD)39b3813
- redshift: don't pop recursive cte table columns (commit by @tobymao)6a9501f
- ensure UDF identifier quotes are preserved (PR #3057 by @georgesittas)
v22.1.0 - 2024-02-29
v22.0.2 - 2024-02-28
51f8d58
- tsql: add support for OPTION clause, select only (PR #3025 by @nadav-botanica)c9eef99
- Support for TRUNCATE TABLE/DATABASE DDL (PR #3026 by @VaggelisD)703b878
- mysql: add LOCK property, allow properties after ALTER TABLE (PR #3027 by @georgesittas)↘️ addresses issue #3020 opened by @samotarnik
bc4acb9
- allow trailing comma in ORDER BY list (PR #3031 by @georgesittas)4105639
- bigquery: unquoted project-0.x closes #3029 (commit by @tobymao)f1f2aec
- bigquery edgecase (commit by @tobymao)5c01c01
- handle falsey values for replace_placeholders kwargs (PR #3036 by @sarchila)ccfbb22
- clickhouse: make CTE expression parser more flexible fixes #3038 (commit by @georgesittas)30e0bb1
- another edge case (commit by @tobymao)0d93852
- oracle: handle GLOBAL/PRIVATE keyword in temp table DDL (PR #3045 by @georgesittas)e89d38d
- duckdb: recognize ENUM as a type (PR #3044 by @georgesittas)4db7781
- avoid raising a KeyError in the lineage module, log a warning (PR #3048 by @georgesittas)
5337980
- simplify parsing of keyword sequences as Vars (PR #3034 by @georgesittas)bc35c59
- use _parse_var_from_options for USE statement parser (PR #3035 by @georgesittas)
c0d355a
- bump sqlglotrs to 0.1.2 (commit by @georgesittas)
v22.0.1 - 2024-02-26
e2fc6e8
- optimizer: fix parent mutation of new_projections in column qualifier (PR #3030 by @georgesittas)
v22.0.0 - 2024-02-26
-
due to
2507aa2
- consolidate Subqueryable and Unionable into Query expression (PR #2992 by @georgesittas):consolidate Subqueryable and Unionable into Query expression (#2992)
-
due to
d5eb2b1
- make implicit unnest syntax explicit by using UNNEST calls (PR #3005 by @georgesittas):make implicit unnest syntax explicit by using UNNEST calls (#3005)
-
due to
238f9aa
- refactor structs to always be aliases (PR #3017 by @tobymao):refactor structs to always be aliases (#3017)
-
due to
06bcfcd
- select expressions not statements closes #3022, statements can be parsed without into (commit by @tobymao):select expressions not statements closes #3022, statements can be parsed without into
-
due to
1612e62
- Add reference to lineage node (PR #3018 by @vchan):Add reference to lineage node (#3018)
e50609b
- Supporting RANGE <-> GENERATE_SERIES between DuckDB & SQLite (PR #3010 by @VaggelisD)1709ec2
- bigquery e6s format (commit by @tobymao)17e34e7
- add unnest type annotations (PR #3019 by @tobymao)efdbc12
- clickhouse prewhere closes #3024 (commit by @tobymao)1612e62
- Add reference to lineage node (PR #3018 by @vchan)5c3bd10
- test: add more passing tests of tpc-ds (PR #3016 by @fool1280)
7f547e6
- it's actually seconds + fraction (commit by @tobymao)238f9aa
- refactor structs to always be aliases (PR #3017 by @tobymao)06bcfcd
- select expressions not statements closes #3022, statements can be parsed without into (commit by @tobymao)
2507aa2
- consolidate Subqueryable and Unionable into Query expression (PR #2992 by @georgesittas)d5eb2b1
- make implicit unnest syntax explicit by using UNNEST calls (PR #3005 by @georgesittas)8943179
- move limit method to Query, get rid of Subquery.subquery override (PR #3013 by @georgesittas)
v21.2.1 - 2024-02-22
2a88e40
- bigquery: support ELSE and ELSEIF procedural statements (PR #3011 by @georgesittas)↘️ addresses issue #3009 opened by @razvan-am
d2e15ed
- improve transpilation of Doris' MONTHS_ADD (PR #3012 by @georgesittas)
v21.2.0 - 2024-02-22
-
due to
2940417
- simplify ADD CONSTRAINT handling (PR #2990 by @georgesittas):simplify ADD CONSTRAINT handling (#2990)
7c48079
- support parameters in BigQuery / DuckDB (PR #2991 by @r1b)b7c2744
- tests: update test_executor with tpc-ds (PR #2983 by @fool1280)c433cad
- allow more leniant bigquery wildcard parsing (PR #2998 by @tobymao)8607247
- support LEFT JOIN UNNEST in duckdb (PR #2999 by @r1b)64e38ed
- add support for more Snowflake SHOW commands (PR #3002 by @DanCardin)
bc18f56
- optimizer: don't coerce nested arg types in annotate_by_args (PR #2997 by @georgesittas)↘️ fixes issue #2152 opened by @plaflamme
ccd8cc0
- doris to_char closes #3001 (commit by @tobymao)
2940417
- simplify ADD CONSTRAINT handling (PR #2990 by @georgesittas)d2711f7
- clean up duplicative placeholder_sql implementations (PR #2993 by @georgesittas)
v21.1.2 - 2024-02-19
b8cbf66
- bigquery: parse procedural EXCEPTION WHEN statement into a Command closes #2981 (commit by @georgesittas)906ceee
- duckdb: implement generation logic for exp.ArrayAny (PR #2984 by @georgesittas)92455e4
- snowflake: create storage integration (PR #2985 by @tekumara)bedf6e9
- improve transpilation support for ArrayAny (PR #2986 by @georgesittas)↘️ addresses issue #2707 opened by @HuashiSCNU0303
cc67ab2
- tsql: map StrPosition back to CHARINDEX fixes #2968 (commit by @georgesittas)46f15ce
- postgres: ensure json extraction can roundtrip unaltered (PR #2974 by @georgesittas)↘️ fixes issue #2971 opened by @l-vincent-l
7ee4fe7
- expand using with star except (commit by @tobymao)
5a34f3d
- clean up tech debt in dialect implementations (PR #2977 by @georgesittas)
ae92789
- rephrase some sentences in the FAQ section (PR #2980 by @georgesittas)22ed4d0
- cleanup kv defs from brackets (PR #2987 by @tobymao)
v21.1.1 - 2024-02-14
1d0b3d3
- add support for multi-part interval addition syntax (PR #2970 by @georgesittas)
1c67f03
- parser: enable parsing of values into Identifier for some dialects (PR #2962 by @georgesittas)d8b0d4f
- don't treat VALUES as a keyword in BigQuery, Redshift (PR #2965 by @georgesittas)↘️ fixes issue #2963 opened by @sean-rose
5b7fd10
- optimizer: more optimizations for qualifying wide tables (PR #2972 by @barakalon)6cb985a
- pass dialect in to_table call inside replace_tables (PR #2973 by @georgesittas)
v21.1.0 - 2024-02-12
e71d489
- add array and tuple helpers (commit by @tobymao)876e075
- postgres: root operator closes #2940 (commit by @tobymao)e731276
- snowflake: add support for SHOW USERS (PR #2948 by @DanCardin)b9d4468
- tableau: identifier and quotes closes #2950 (commit by @tobymao)f8d9dbf
- sqlite: add support for IIF (PR #2951 by @georgesittas)b755551
- clickhouse: add basic support for system statement (PR #2953 by @GaliFFun)
844018b
- explode_outer to unnest closes #2941 (commit by @tobymao)159da45
- posexplode_outer to unnest (PR #2942 by @chelsea-lin)76d6634
- spark: CREATE TABLE ... PARTITIONED BY fixes (PR #2937 by @barakalon)d07ddf9
- optimizer: remove redundant casts (PR #2945 by @barakalon)b70a394
- if doesn't support different types (commit by @tobymao)6a988e0
- bigquery: fix annotation of timestamp(x) (PR #2946 by @georgesittas)78e6d0d
- optimizer: qualify_columns optimizations for wide tables (PR #2955 by @barakalon)c20cc70
- redshift: don't assume Table is an unnested Column if Join has a predicate (PR #2956 by @georgesittas)↘️ fixes issue #2952 opened by @vidit-wisdom
v21.0.2 - 2024-02-08
1842c96
- clickhouse: add support for LIMIT BY clause (PR #2926 by @georgesittas)9241858
- add typing for explode closes #2927 (commit by @tobymao)85073d1
- transpile multi-arg DISTINCT expression (PR #2936 by @georgesittas)
b827626
- remove find method from Schema (PR #2934 by @georgesittas)08cd117
- postgres: fallback to parameter parser if heredoc is untokenizable (PR #2935 by @georgesittas)
e4b5edb
- bump sqlglotrs to 0.1.1 (commit by @georgesittas)
v21.0.1 - 2024-02-07
3a20eac
- clickhouse: add support for JSONExtractString, clean up some helpers (PR #2925 by @georgesittas)↘️ addresses issue #2051 opened by @BTheunissen
v21.0.0 - 2024-02-07
-
due to
b4e8868
- improve transpilation of JSON paths across dialects (PR #2883 by @georgesittas):improve transpilation of JSON paths across dialects (#2883)
-
due to
aa388ea
- ignore nulls closes #2896 (PR #2898 by @tobymao):ignore nulls closes #2896 (#2898)
-
due to
617a8c0
- timestamp diff for mysql and databricks (commit by @tobymao):timestamp diff for mysql and databricks
-
due to
b00b393
- use raise instead of assert for assert_is (commit by @tobymao):use raise instead of assert for assert_is
-
due to
326aa31
- deprecate case where transforms can be plain strs (PR #2919 by @georgesittas):deprecate case where transforms can be plain strs (#2919)
fb450f0
- add tsql right left auto casting closes #2899 (commit by @tobymao)617a8c0
- timestamp diff for mysql and databricks (commit by @tobymao)3fa92ca
- redshift: parse GETDATE (PR #2904 by @erickpeirson)d262139
- snowflake: implement parsing logic for SHOW TABLES (PR #2913 by @tekumara)838e780
- improve transpilation of CREATE TABLE LIKE statement (PR #2923 by @georgesittas)cbbad1f
- improve transpilation of JSON path wildcards (PR #2924 by @georgesittas)
aa388ea
- ignore nulls closes #2896 (PR #2898 by @tobymao)b00b393
- use raise instead of assert for assert_is (commit by @tobymao)ab97246
- array overlaps closes #2903 (commit by @tobymao)f3bdcb0
- duckdb: fix JSON pointer path parsing, reduce warning noise (PR #2911 by @georgesittas)072264f
- mysql: SHOW SCHEMAS (PR #2916 by @barakalon)15fdff2
- optimizer: don't remove NOT parenthesis (PR #2917 by @barakalon)d20d826
- have table exclude this if schema target (PR #2921 by @eakmanrq)
b4e8868
- improve transpilation of JSON paths across dialects (PR #2883 by @georgesittas)↘️ addresses issue #2839 opened by @FlaviovLeal
9481f94
- several JSON path improvements (PR #2914 by @georgesittas)326aa31
- deprecate case where transforms can be plain strs (PR #2919 by @georgesittas)15582f4
- move JSON path generation logic in Generator (PR #2920 by @georgesittas)
afb4f9b
- switch to ruff (commit by @tobymao)f9fdf7b
- switch to ruff (PR #2912 by @tobymao)71c33fa
- pandas warning (commit by @tobymao)
v20.11.0 - 2024-01-29
-
due to
eb8b40a
- deprecate NULL, TRUE, FALSE constant expressions (PR #2884 by @georgesittas):deprecate NULL, TRUE, FALSE constant expressions (#2884)
dc2d7d7
- tsql: len text transpilation closes #2885 (commit by @tobymao)ad50f47
- type imports (PR #2886 by @tobymao)e4fb7f6
- union should return union (commit by @tobymao)8f795ea
- don't expand star except/replace refs (commit by @tobymao)218121c
- alter table cluster by closes #2887 (commit by @tobymao)5cec283
- bigquery script if statement closes #2888 (commit by @tobymao)5fc7791
- all view column options without types closes #2891 (commit by @tobymao)102304e
- postgres: generate CurrentUser without parentheses closes #2893 (commit by @georgesittas)43902db
- error level ignore comments closes #2895 (commit by @tobymao)
eb8b40a
- deprecate NULL, TRUE, FALSE constant expressions (PR #2884 by @georgesittas)29cddd5
- change warning message (commit by @tobymao)9eac93e
- upgrade black (commit by @tobymao)4f3fac7
- cleanup command parsing and warnings (commit by @tobymao)
v20.10.0 - 2024-01-24
89b439e
- postgres: support the INCLUDE clause in INDEX creation (PR #2857 by @georgesittas)90ffff8
- clickhouse: AggregateFunction data type (PR #2832 by @pkit)326d3ae
- improve transpilation of Spark's TO_UTC_TIMESTAMP (PR #2861 by @georgesittas)6d03587
- snowflake: SHOW SCHEMAS/OBJECTS (PR #2845 by @tekumara)d5a08b8
- optimizer: improve struct type annotation support for EQ-delimited kv pairs (PR #2863 by @fool1280)1f5fc39
- jsonpath parsing (PR #2867 by @tobymao)7fd9045
- add support for rename column (PR #2866 by @gableh)89b781b
- postgres: add support for the INHERITS property closes #2871 (commit by @georgesittas)970c202
- postgres: add support for the SET property (PR #2873 by @georgesittas)↘️ addresses issue #2872 opened by @edongashi
6845c37
- make the CREATE parser more lenient (PR #2875 by @georgesittas)
bf03a45
- snowflake: extend _parse_range to gracefully handle colon operator (PR #2856 by @georgesittas)ad14f4e
- qualify alter table table refs in optimizer qualify (PR #2862 by @z3z1ma)8599903
- optimizer: compute external columns for union sopes correctly (PR #2864 by @georgesittas)↘️ fixes issue #2860 opened by @derekpaulsen
3e065f9
- optimizer: don't copy projection in qualify_outputs when attaching alias (PR #2868 by @georgesittas)a642758
- avoid dag cycle with unnesting subqueries closes #2876 (commit by @tobymao)0648453
- set div type on multiplication closes #2878 (commit by @tobymao)b7fb800
- oracle: generate with time zone for timestamptz fixes #2879 (commit by @georgesittas)8770e3b
- optimizer: don't qualify CTEs for DDL/DML statements (PR #2880 by @georgesittas)
d55cfba
- move postgres tests (commit by @tobymao)0e43c58
- parser: warn when parsing (>1 tokens) SQL into exp.Command (PR #2874 by @georgesittas)
v20.9.0 - 2024-01-18
-
due to
1be93e4
- properly support all unix time scales (commit by @tobymao):properly support all unix time scales
816976f
- extend submodule annotate_types to handle STRUCT (PR #2783 by @fool1280)7bce2f6
- oracle: add support for ORDER SIBLINGS BY clause (PR #2821 by @georgesittas)↘️ addresses issue #2819 opened by @Shweta-BI-Lead
ce8d254
- snowflake: parse RM/REMOVE as commands (PR #2825 by @georgesittas)↘️ addresses issue #2824 opened by @sfc-gh-jlambert
1902778
- add support for multi-unit intervals (PR #2822 by @georgesittas)↘️ addresses issue #2793 opened by @nikmalviya
a537898
- add support for DESCRIBE EXTENDED (PR #2828 by @georgesittas)6e50759
- clickhouse: support Date32 type (PR #2830 by @pkit)9560e8f
- add support for Heredocs in Databricks Python UDFs (PR #2801 by @viethungle-vt1401)52ed590
- transpile SELECT .. INTO to dialects that do not support it (PR #2820 by @giorgosnikolaou)ea536c4
- remove target alias in trino merge (PR #2852 by @eakmanrq)
6ddbefc
- snowflake: apply range parser after colon, if any (PR #2800 by @georgesittas)↘️ fixes issue #2798 opened by @mbarugelCA
0c4f44e
- oracle: regexp_replace replacement is optional closes #2803 (commit by @tobymao)5072d5a
- oracle: improve parsing of JSON_OBJECT[AGG] functions (PR #2807 by @georgesittas)↘️ fixes issue #2806 opened by @Shweta-BI-Lead
ea39f10
- optimizer: pushdown predicates more conservatively to avoid DAG cycles (PR #2808 by @georgesittas)↘️ fixes issue #2797 opened by @Konntroll
ea58003
- snowflake: insert overwrite into closes #2815 (commit by @tobymao)d5fa5be
- optimizer: handle table alias columns for (UN)PIVOTs (PR #2816 by @georgesittas)↘️ fixes issue #2791 opened by @billstark
24177f3
- unnest star expansion closes #2811 (PR #2818 by @tobymao)3dba6c1
- add parentheses to no_safe_divide args (PR #2826 by @j1ah0ng)ed68d6b
- clickhouse: add ipv4/6 data type parser (PR #2829 by @pkit)70b280f
- allow insert columns to have spaces (commit by @tobymao)57917b8
- oracle: TO_TIMESTAMP not parsed as StrToTime (PR #2833 by @pkit)9960e11
- optimizer: annotate struct value without alias correctly (PR #2812 by @fool1280)a6d396b
- doris: add transformation of aggregation function and last_day function (PR #2835 by @echo-hhj)8cc252b
- interval without unit alias closes #2838 (commit by @tobymao)607817f
- schema with period name closes #2842 (commit by @tobymao)1be93e4
- properly support all unix time scales (commit by @tobymao)a657fc0
- clickhouse,doris: fix the transformation of ArraySum (PR #2843 by @echo-hhj)c92888c
- parser: fix order of query modifier parsing for nested subqueries (PR #2851 by @georgesittas)7949a4f
- clickhouse: ensure arraySum generation is preserved, add tests (commit by @georgesittas)17a6ac6
- move comment in expr as alias next to the alias (PR #2853 by @georgesittas)
9e5ae50
- use flag instead of regex (commit by @tobymao)5c13a1e
- simplify merge without target transformation (PR #2854 by @georgesittas)
5996a69
- presto: get rid of assert in ELEMENT_AT parser (commit by @georgesittas)f9a02ec
- fix table, column instantiation in schema normalization tests (PR #2817 by @georgesittas)
v20.8.0 - 2024-01-08
2d822f3
- improve support for Doris' TO_DATE, Oracle's SYSDATE (PR #2775 by @georgesittas)7187215
- desc builder (commit by @tobymao)ba62639
- add support for CREATE FUNCTION (SQL) characteristics for MySQL and Databricks (PR #2777 by @viethungle-vt1401)↘️ addresses issue #1980 opened by @xinglin-zhao
963e2dc
- snowflake: add support for SHOW COLUMNS (PR #2778 by @andrew-sha)46c9733
- tsql: round func closes #2790 (commit by @tobymao)2dfb7e8
- optimizer: add support for the UNPIVOT operator (PR #2771 by @georgesittas)
68e1214
- column field typing (commit by @tobymao)3f31706
- tsql exec command #2772 (commit by @tobymao)f6cbadb
- snowflake: add a couple of special fn types (PR #2774 by @georgesittas)0634f73
- optimizer: replace star with outer column list (PR #2776 by @georgesittas)d31ae0d
- allow string aliases closes #2788 (commit by @tobymao)8f8f00e
- don't transform null ordering with positional orders closes #2779 (commit by @tobymao)f85ce3b
- tsql: gracefully handle complex formats in FORMAT (PR #2794 by @georgesittas)a2499f5
- tsql: generate correct TRIM syntax closes #2786 (commit by @georgesittas)59ecd2f
- clickhouse: allow transpilation of countIf, fix 2 arg variant parsing (PR #2795 by @georgesittas)3f7748b
- don't transpile nulls last in window specs (commit by @tobymao)
v20.7.1 - 2024-01-04
v20.6.0 - 2024-01-04
-
due to
4648c6a
- set sample clause keyword(s) as class constant to enable transpilation (PR #2750 by @georgesittas):set sample clause keyword(s) as class constant to enable transpilation (#2750)
-
due to
0b6bdc4
- improve transpilation of JSON value extraction (PR #2744 by @georgesittas):improve transpilation of JSON value extraction (#2744)
-
due to
862b305
- improve table sampling transpilation (PR #2761 by @georgesittas):improve table sampling transpilation (#2761)
202f035
- clickhouse: add aggregate parsing (PR #2734 by @pkit)e772e26
- guess the correct dialect in case we get an unknown one (PR #2753 by @georgesittas)7a07862
- implement to_s method in Expression for verbose repr mode (PR #2756 by @georgesittas)4072184
- improve transpilation of TIME/TIMESTAMP_FROM_PARTS (PR #2755 by @georgesittas)3bd811d
- optimizer: allow star expansion to be turned off (PR #2762 by @georgesittas)c246285
- bigquery unix_date closes #2758 (commit by @tobymao)a2abbc7
- improve transpilation of LAST_DAY (PR #2766 by @georgesittas)7e7ac65
- snowflake: add support for OBJECT_CONSTRUCT_KEEP_NULL (PR #2769 by @georgesittas)
ed972f9
- alter table rename should not qualify with db in postgres (PR #2736 by @z3z1ma)1ebfb36
- else interval (commit by @tobymao)a43174f
- generateCROSS JOIN
instead of comma inexplode_to_unnest
transformation (PR #2739 by @cpcloud)e543c55
- interval is null (commit by @tobymao)fb3188f
- lineage closes #2742 (commit by @tobymao)b608b2d
- duckdb: percentile_cont closes #2741 (commit by @tobymao)0b6bdc4
- improve transpilation of JSON value extraction (PR #2744 by @georgesittas)33d6e5f
- bigquery: enable transpilation of single-argument TIME func (PR #2752 by @georgesittas)↘️ fixes issue #2749 opened by @jherrmannNetfonds
72f8cfa
- snowflake: parse two argument version of TIMESTAMP_FROM_PARTS (PR #2754 by @georgesittas)2a94f2b
- bigquery: fix parsing of COUNTIF (PR #2765 by @giovannipcarvalho)↘️ fixes issue #2764 opened by @giovannipcarvalho
862b305
- improve table sampling transpilation (PR #2761 by @georgesittas)
4648c6a
- set sample clause keyword(s) as class constant to enable transpilation (PR #2750 by @georgesittas)
v20.5.0 - 2023-12-29
-
due to
87498c3
- redshift unnesting to column (commit by @tobymao):redshift unnesting to column
-
due to
a4e899a
- normalize units to all be upper case (PR #2714 by @tobymao):normalize units to all be upper case (#2714)
-
due to
92b4ec1
- Change Expression.repr format (PR #2723 by @barakalon):Change Expression.repr format (#2723)
92b4ec1
- Change Expression.repr format (PR #2723 by @barakalon)
db9de94
- Grant 'contents: write' permissions to the 'deploy' job (commit by @izeigerman)1abd731
- allow final in clickhouse ctes (commit by @tobymao)87498c3
- redshift unnesting to column (commit by @tobymao)55735f5
- redshift: auto refresh closes #2713 (commit by @tobymao)b415037
- hive: parse values alias closes #2717 (commit by @tobymao)8979e51
- duckdb: udf no types closes #2718 (commit by @tobymao)2888452
- snowflake: timezone_from_parts nanos closes #2720 (commit by @tobymao)4fd6c90
- predicate pushdown closes #2721 (commit by @tobymao)0ae6f6c
- snowflake, duckdb: generate TimestampDiff correctly (PR #2728 by @georgesittas)a8582b1
- include empty lists in the hide_missing repr check (PR #2729 by @georgesittas)33df497
- bigquery: improve transpilation of structs / brackets (PR #2730 by @georgesittas)af50c79
- duckdb: named and positional parameters closes #2732 (commit by @tobymao)ea43cec
- duckdb: position and named paramaters closes #2732 (commit by @tobymao)c50b948
- bigquery: add FUNCTIONS entry for FORMAT_DATE to facilitate transpilation (PR #2733 by @georgesittas)
c628af5
- Update installation steps in README to include sqlglotrs (PR #2725 by @izeigerman)
v20.2.0 - 2023-12-14
1a484b3
- presto: coerce DATEADD expression to BIGINT (PR #2648 by @barakalon)3cdb81a
- duckdb: transpile bigquery structs w/ aliases correctly (PR #2650 by @georgesittas)↘️ fixes issue #2649 opened by @nakalamvokis
49dc0da
- tokenizer: advance self._start by a character when we encounter CRLF (PR #2658 by @georgesittas)↘️ fixes issue #2656 opened by @charsmith
8ee5492
- duckdb: support the 6 arg. variant of make_timestamp (PR #2659 by @georgesittas)9cf71ff
- Get rid of the custom text encoding in the tokenizer (PR #2660 by @izeigerman)462c970
- make union parsing non-recursive, allowing to parse infinite large unions and lhs binding (PR #2662 by @tobymao)8860521
- optimizer: handle case where top-level query is a Subquery in scope (PR #2661 by @georgesittas)4617ac3
- executor: respect LIMIT in set operations (PR #2665 by @georgesittas)a8d4b05
- postgres exec as command closes #2666 (commit by @tobymao)bf6d3e4
- optimizer: eliminate eliminate_unions (PR #2663 by @barakalon)2ae0deb
- snowflake: refactor location paths (PR #2668 by @georgesittas)9177c6a
- snowflake: time travel syntax can be used in queries as well (PR #2674 by @georgesittas)↘️ fixes issue #2670 opened by @sfc-gh-jlambert
7188431
- ignore unnesting non subqueries closes #2676 (commit by @tobymao)9e7112b
- create .venv when publishing so that maturin doesn't crash (PR #2675 by @georgesittas)
v20.1.0 - 2023-12-07
-
due to
96f9b0e
- make generation of CONCAT less verbose (PR #2639 by @georgesittas):make generation of CONCAT less verbose (#2639)
7a505f0
- clickhouse: add support for arrayJoin (PR #2640 by @georgesittas)2062553
- add comments to replace table (commit by @tobymao)
4f07aaa
- from_utc double cast (commit by @tobymao)96f9b0e
- make generation of CONCAT less verbose (PR #2639 by @georgesittas)1a231f7
- avoid recursive set op calls (commit by @tobymao)
v20.0.0 - 2023-12-07
-
due to
be89da3
- introduce Dialect settings, make MySQL case-sensitive by default (PR #2627 by @georgesittas):introduce Dialect settings, make MySQL case-sensitive by default (#2627)
-
due to
4d68e39
- remove redundant todate closes #2636 (commit by @tobymao):remove redundant todate closes #2636
-
due to
1e387f6
- parse functions with positional args in exp.func (PR #2622 by @georgesittas):parse functions with positional args in exp.func (#2622)
-
due to
ee2e7f0
- snowflake column transform constraints closes #2634 (commit by @tobymao):snowflake column transform constraints closes #2634
-
due to
656d54c
- make lineage html more reusable (commit by @tobymao):make lineage html more reusable
be89da3
- introduce Dialect settings, make MySQL case-sensitive by default (PR #2627 by @georgesittas)ee2e7f0
- snowflake column transform constraints closes #2634 (commit by @tobymao)
b0c5375
- tsql: add dw, hour to the DATEPART-only formats (PR #2632 by @georgesittas)↘️ fixes issue #2630 opened by @abadugu13
4d68e39
- remove redundant todate closes #2636 (commit by @tobymao)1e387f6
- parse functions with positional args in exp.func (PR #2622 by @georgesittas)78697b4
- optimizer: simplify Sub/Div more conservatively, they're not associative (PR #2635 by @georgesittas)
v19.9.0 - 2023-12-05
-
due to
6e71c34
- remove safe versions and use a flag instead (PR #2629 by @tobymao):remove safe versions and use a flag instead (#2629)
4755293
- attach function comments to the AST (PR #2628 by @georgesittas)160f06d
- snowflake: allow rename/replace identifier (commit by @tobymao)
v19.8.3 - 2023-12-04
6351007
- tokenize CRLF sequence correctly (PR #2623 by @georgesittas)
f9a43a1
- don't patch loggers at method level to silence warnings (PR #2620 by @georgesittas)
v19.8.2 - 2023-12-01
5657a60
- tsql, teradata: Distinct goes before top (PR #2618 by @treysp)c0e751a
- duckdb: arrays are 1-indexed (PR #2619 by @georgesittas)
v19.8.1 - 2023-12-01
v19.8.0 - 2023-12-01
-
due to
b5f690b
- add timestamp functions to BQ and DuckDB closes #2611 (PR #2612 by @j1ah0ng):add timestamp functions to BQ and DuckDB closes #2611 (#2612)
-
due to
019e0e5
- qualify columns added in explode to unnest transformation (PR #2615 by @georgesittas):qualify columns added in explode to unnest transformation (#2615)
5af7ac3
- helper method for dot parts (commit by @tobymao)da0a4b1
- postgres: add support for operators with schema path (PR #2610 by @georgesittas)↘️ addresses issue #2609 opened by @ninja96826
568ddd1
- treat parameters as primary expressions (PR #2605 by @georgesittas)↘️ fixes issue #2604 opened by @bruderooo
526d760
- revert 568ddd12, parse placeholder in sample instead (PR #2606 by @georgesittas)bb75218
- always expand sentinel line break in pretty mode (PR #2608 by @georgesittas)9106702
- properly normalize and parse schema for replace_tables and expand (commit by @tobymao)d47879f
- snowflake: unnest sql doesn't need subquery (commit by @tobymao)b5f690b
- add timestamp functions to BQ and DuckDB closes #2611 (PR #2612 by @j1ah0ng)5aa134d
- preserve alias quotes in explode_to_unnest (PR #2613 by @georgesittas)5509e31
- generate UnixToTime correctly (spark, bq, presto, snowflake, duckdb) (PR #2614 by @georgesittas)019e0e5
- qualify columns added in explode to unnest transformation (PR #2615 by @georgesittas)ad9fe11
- snowflake: snowflake array_contains closes #2616 (commit by @tobymao)
v19.7.0 - 2023-11-28
-
due to
8cd7d1c
- use more canonical cast instead of to_date (commit by @tobymao):use more canonical cast instead of to_date
-
due to
c413b7f
- expand positional args in order by as aliases (PR #2599 by @tobymao):expand positional args in order by as aliases (#2599)
-
due to
13817f1
- avoid unnecessary copying in normalization (PR #2602 by @tobymao):avoid unnecessary copying in normalization (#2602)
739c3c7
- insert returning builder closes #2579 (commit by @tobymao)6e3c7c1
- tsql: default database .. closes #2594 (commit by @tobymao)
8cd7d1c
- use more canonical cast instead of to_date (commit by @tobymao)08d60b6
- tsql: add special chars in single var tokens (PR #2582 by @georgesittas)↘️ fixes issue #2581 opened by @Hal-H2Apps
bf29a9b
- handle ending spaces after keywords closes #2585 (commit by @tobymao)f53f656
- optimizer: respect EXCEPT when expanding star for PIVOTs (PR #2589 by @georgesittas)426075f
- duckdb: unqualify columns under Pivot (PR #2590 by @georgesittas)4774431
- tsql: generate DATEPART when the format is quarter (PR #2591 by @georgesittas)↘️ fixes issue #2586 opened by @abadugu13
dc783a8
- bigquery: generate FORMAT_DATE for TimeToStr (PR #2596 by @georgesittas)2ecfd34
- time format chunk misses from mapping, but its constituent parts are not (PR #2598 by @georgesittas)c413b7f
- expand positional args in order by as aliases (PR #2599 by @tobymao)c66e413
- oracle: to_char nlsparam closes #2601 (commit by @tobymao)
v19.6.0 - 2023-11-20
7647227
- oracle: parse DROP CONSTRAINT into DROP instead of Command (PR #2573 by @HassanShafiq123)↘️ fixes issue #2572 opened by @HassanShafiq123
f5899a1
- bigquery: bigquery only allows literals in LIMIT (PR #2574 by @treysp)757c433
- treat := as PropertyEQ in base sqlglot classes (PR #2576 by @georgesittas)
v19.5.1 - 2023-11-16
v19.5.0 - 2023-11-16
-
due to
96d514c
- get rid of SetAgg to use ArrayUniqueAgg for consistency (PR #2566 by @georgesittas):get rid of SetAgg to use ArrayUniqueAgg for consistency (#2566)
3766686
- executor: add support for array_unique_agg (PR #2564 by @wezham)53b3677
- executor: add support for null replacement value in ARRAY_JOIN (PR #2569 by @georgesittas)
ac79a59
- tokenizer should not reuse list in initializer (commit by @tobymao)2029896
- snowflake: Snowflake only supports literals in LIMIT (PR #2568 by @treysp)
96d514c
- get rid of SetAgg to use ArrayUniqueAgg for consistency (PR #2566 by @georgesittas)c4da9fc
- tokenizer performance improvements (commit by @tobymao)
v19.4.0 - 2023-11-14
-
due to
5034d92
- transpile NULLS FIRST/LAST to dialects that dont support it (PR #2554 by @georgesittas):transpile NULLS FIRST/LAST to dialects that dont support it (#2554)
5034d92
- transpile NULLS FIRST/LAST to dialects that dont support it (PR #2554 by @georgesittas)a6bdff9
- snowflake: improve TRY_CAST -> CAST transpilation (PR #2561 by @georgesittas)
9d345e5
- spark: string(n) -> varchar(n) closes #2552 (commit by @tobymao)e5e6d92
- optimizer: dont cast right side of IS (PR #2559 by @barakalon)18793b0
- snowflake: generate SHA1 for exp.SHA (PR #2557 by @georgesittas)8cfb39e
- clickhouse: scalar ctes second try (commit by @tobymao)0f9912f
- snowflake: only generate TRY_CAST if cast value is of text type (PR #2560 by @georgesittas)
v19.3.1 - 2023-11-10
1d557a7
- tsql: only call subquery method in CTAS if it's not one already (PR #2553 by @georgesittas)
v19.3.0 - 2023-11-10
d92f2be
- don't bubble up CTEs for the CREATE DDL statement (PR #2550 by @georgesittas)39ef0e1
- tsql: preserve column projection quotes for newly added Alias nodes (PR #2551 by @georgesittas)
v19.2.0 - 2023-11-10
-
due to
9f42b6b
- disallow nested CTEs for Spark and Databricks (PR #2544 by @georgesittas):disallow nested CTEs for Spark and Databricks (#2544)
91483b0
- add / move fixed-width integer tokens to base class (PR #2540 by @j1ah0ng)45334eb
- bigquery: array contains to exist unnest closes #2547 (commit by @tobymao)
9f42b6b
- disallow nested CTEs for Spark and Databricks (PR #2544 by @georgesittas)
v19.1.3 - 2023-11-09
d9d64e0
- postgres: parse CREATE CONSTRAINT TRIGGER as Command (PR #2541 by @georgesittas)ea41ddc
- optimizer: simplify DATE_ADD on literals (PR #2537 by @barakalon)73746ed
- more robust boolean conversions for tsql (PR #2543 by @tobymao)
9922232
- presto -> spark to_json closes #2536 (commit by @tobymao)1c6d348
- parser: take TokenType.RAW_STRING into account in _parse_string (PR #2542 by @georgesittas)↘️ fixes issue #2539 opened by @braunreyes
b5a477f
- tsql top paren term parsing (commit by @tobymao)
v19.1.2 - 2023-11-09
7de4922
- hive: add fine-grained parsing for REFRESH (PR #2531 by @georgesittas)↘️ addresses issue #2530 opened by @juliands-stripe
8abf1d7
- snowflake: avoid advancing beyond array limit when parsing staged files (PR #2529 by @georgesittas)↘️ fixes issue #2528 opened by @nsenno-dbr
151f14b
- transpile Snowflake structs correctly (PR #2534 by @georgesittas)↘️ fixes issue #2533 opened by @nsenno-dbr
5c750f3
- tsql: convert boolean columns into explicit conditions (PR #2535 by @georgesittas)
v19.1.1 - 2023-11-08
ff69304
- snowflake->spark sample transpilation closes #2526 (commit by @tobymao)a43132b
- Alter column set type statement for MySQL (PR #2527 by @izeigerman)
v19.1.0 - 2023-11-08
-
due to
c6db124
- transpile division (PR #2513 by @barakalon):transpile division (#2513)
-
due to
3469e75
- typed div and safe div semantics (PR #2516 by @barakalon):typed div and safe div semantics (#2516)
f95947f
- bigquery: add support for FOR .. IN statement (PR #2507 by @georgesittas)↘️ addresses issue #2506 opened by @scholtzan
01d446b
- optimizer: annotate type of ABS (PR #2524 by @georgesittas)
c7302cf
- struct conversion for non correlated queries (commit by @tobymao)1aa727c
- subquery column lineage closes #2510 (commit by @tobymao)c6db124
- transpile division (PR #2513 by @barakalon)3787389
- lineage with subquery and cte closes #2515 (commit by @tobymao)3469e75
- typed div and safe div semantics (PR #2516 by @barakalon)52066ea
- tsql: parse DROP CONSTRAINT into Drop instead of Command (PR #2521 by @georgesittas)↘️ fixes issue #2519 opened by @HassanShafiq123
190f028
- oracle: parse TO_CHAR using format_time_lambda (PR #2523 by @georgesittas)e2e11ae
- optimizer: more support for date literals in simplify (PR #2525 by @barakalon)
2065210
- expressions type (commit by @tobymao)7ff5f25
- use tuples instead of sets for inline collection instantiations (PR #2520 by @georgesittas)
v19.0.3 - 2023-11-02
c51d9ae
- fix type hint for normalize_identifiers (PR #2505 by @GeorgeSittas)
v19.0.2 - 2023-11-01
3d60f0e
- optimizer: more date function coercion (PR #2493 by @barakalon)01c1abb
- tsql: add period constraint, system versioning property, generate as row (PR #2484 by @Rik-de-Kort)b18235b
- use parse_identifiers in qualify tables (PR #2502 by @tobymao)
471591c
- teradata: supportTRYCAST
(PR #2496 by @hsheth2)5cdbdf6
- teradata: support**
for exponent (PR #2495 by @hsheth2)70227fc
- postgres: allow opclass types to be namespaced (PR #2499 by @GeorgeSittas)b434717
- tsql: improve support for SYSTEM_VERSIONING (PR #2501 by @GeorgeSittas)8691e1a
- oracle: alter table add multiple columns closes #2500 (commit by @tobymao)
v19.0.1 - 2023-10-31
12596fd
- support teradata as format no type closes #2485 (PR #2486 by @tobymao)f25b61c
- redshift: add support for DATE_DIFF (PR #2491 by @GeorgeSittas)
83ecc5a
- get rid of UNKNOWN type mapping in base Generator class (PR #2487 by @GeorgeSittas)22990ef
- qualify catalog only if db is present (PR #2489 by @eakmanrq)8e20328
- schema: use to_identifier as fallback when normalizing names (PR #2492 by @GeorgeSittas)f6c34b0
- teradata: add UPD and DEL abbreviations (PR #2494 by @hsheth2)
v19.0.0 - 2023-10-30
-
due to
7a6da28
- generator now always copies, making transforms much simpler (PR #2477 by @tobymao):generator now always copies, making transforms much simpler (#2477)
542ea6c
- mysql: convert full outer join to union with left/right outer joins (PR #2461 by @GeorgeSittas)b3990bc
- postgres: support WITH ORDINALITY in table functions (PR #2465 by @GeorgeSittas)c3852db
- postgres: add support for the PARTITION OF property in CREATE (PR #2476 by @GeorgeSittas)↘️ addresses issue #2469 opened by @judahrand
4f9cb22
- facilitate transpilation of Redshift's LISTAGG (PR #2460 by @GeorgeSittas)81ab80a
- mysql: str_to_date for datetime (PR #2473 by @barakalon)a1252d8
- teradata: add eq, minus abbreviations fixes #2474 (commit by @GeorgeSittas)e6f31d6
- snowflake: don't add time format in TO_TIMESTAMP if not supplied (PR #2475 by @GeorgeSittas)2307910
- optimizer: make normalize_identifiers identifier conversion more lenient (PR #2478 by @GeorgeSittas)ed5c559
- snowflake: avoid crash on OBJECT_CONSTRUCT without arguments (PR #2482 by @GeorgeSittas)↘️ fixes issue #2479 opened by @wedotech-ashley
df0a698
- tsql: add 'dddd' to '%A' time mapping (PR #2483 by @GeorgeSittas)↘️ fixes issue #2481 opened by @SudarshanVS
v18.17.0 - 2023-10-25
-
due to
c8e87b6
- unnabreviate units, e.g. ms to millisecond (PR #2451 by @GeorgeSittas):unnabreviate units, e.g. ms to millisecond (#2451)
7ded253
- add support for {fn ...} function syntax (PR #2447 by @GeorgeSittas)ee18756
- snowflake: register APPROX_TOP_K as AggFunc (PR #2450 by @GeorgeSittas)↘️ addresses issue #2449 opened by @yogevyuval
57b744a
- optimizer: infer bracket type (PR #2441 by @GeorgeSittas)64b18e6
- add ArgMax, ArgMin expressions, fix their transpilation (PR #2454 by @GeorgeSittas)959fa92
- lineage: terminal table node for select star (PR #2456 by @edpaget)
e11ecaf
- clickhouse: treat CURRENT_DATE as a function (PR #2439 by @GeorgeSittas)↘️ fixes issue #2438 opened by @samuelcolvin
fdb1668
- improve bracket parsing error, set Slice type to Unknown (PR #2440 by @GeorgeSittas)↘️ fixes issue #2437 opened by @samuelcolvin
546eb54
- redshift: don't rewrite JSON_PARSE to PARSE_JSON (commit by @purcell)00e3515
- parser: treat 'use' as a valid identifier token (PR #2446 by @GeorgeSittas)c8e87b6
- unnabreviate units, e.g. ms to millisecond (PR #2451 by @GeorgeSittas)↘️ fixes issue #2448 opened by @samuelcolvin
11bfc75
- lineage: handle unions with SELECT STAR (PR #2452 by @edpaget)b856477
- add table alias in unnest with columns only (PR #2457 by @GeorgeSittas)
927f5aa
- add docstrings in rest of transforms (commit by @GeorgeSittas)
v18.16.1 - 2023-10-21
87efe41
- duckdb: regexp_replace modifiers closes #2436 (commit by @tobymao)be38964
- infinite loop due to uppercase expansion (commit by @tobymao)
v18.16.0 - 2023-10-21
5b388bc
- attach comments to Union expressions (PR #2432 by @GeorgeSittas)↘️ fixes issue #2430 opened by @SudarshanVS
e6721d1
- subquery lineage closes #2431 (commit by @tobymao)b4f76eb
- clickhouse: neq bug closes #2435 (commit by @tobymao)
v18.15.1 - 2023-10-19
469226b
- snowflake: support for ALTER TABLE SWAP WITH (PR #2420 by @teraamp)13a5df2
- lineage: lineage from UDTFs that use columns (PR #2424 by @edpaget)8d7e4e9
- show version in cli (commit by @tobymao)88ddaa7
- make data type build more flexible (commit by @tobymao)
e1186a5
- redshift: generate the IDENTITY constraint correctly (PR #2418 by @GeorgeSittas)a00b5b5
- smarter detection of timestamp() fallback to cast (commit by @tobymao)c5028d4
- teradata: teradata only supports top closes #2419 (commit by @tobymao)3173683
- snowflake: map DAYOF[MONTH|YEAR] back to itself fixes #2422 (commit by @GeorgeSittas)e612089
- ts_or_ds reparse closes #2428 (commit by @tobymao)
fda3576
- fix type hint of swaptable_sql (commit by @GeorgeSittas)
v18.15.0 - 2023-10-17
v18.14.0 - 2023-10-17
4163d5f
- makeRegexpILike
a subclass ofBinary
as well asFunc
(PR #2404 by @samuelcolvin)de0cd98
- clickhouse any -> has closes #2408 (commit by @tobymao)463b6d6
- redshift: add a missing retreat in the group by parser (PR #2412 by @GeorgeSittas)↘️ fixes issue #2411 opened by @mrmammadov
f8109be
- bigquery: revert commit 09e2eeb, only reduce NULL for BQ at sqlgen time (PR #2414 by @GeorgeSittas)f970f7c
- clickhouse: map RegexpILike to match (PR #2407 by @GeorgeSittas)↘️ fixes issue #2406 opened by @samuelcolvin
1c8883f
- clickhouse any transpilation closes #2408 (commit by @tobymao)586de82
- casting (commit by @tobymao)d9958f9
- presto/trino limit can only contain literals (commit by @tobymao)7744648
- trino view column and partition column (PR #2416 by @eakmanrq)
v18.13.0 - 2023-10-13
e2e960a
- duckdb: add parsing support for timestamp types with unit suffixes (PR #2400 by @cpcloud)f024ac5
- redshift approximate count distinct (commit by @tobymao)
d7021d1
- optimizer: don't propagate equality constraints from IF/CASE outwards (PR #2396 by @GeorgeSittas)ed45fad
- teradata: FOR in LOCKING ROW FOR ACCESS is optional (PR #2402 by @GeorgeSittas)
85a16b1
- remove generic schema type (PR #2399 by @GeorgeSittas)
v18.12.0 - 2023-10-10
-
due to
28308da
- support spark trycast, treat databricks as strict_cast closes #2389 (commit by @tobymao):support spark trycast, treat databricks as strict_cast closes #2389
-
due to
c7c3869
- add explode outer and change hiearchy are explosions closes #2393 (commit by @tobymao):add explode outer and change hiearchy are explosions closes #2393
f4f8366
- schema: add method to check if column exists (PR #2381 by @GeorgeSittas)da2c6f1
- optimizer: simplify CONCAT_WS (PR #2383 by @GeorgeSittas)cca58dd
- optimizer: propagate constants (PR #2386 by @GeorgeSittas)28308da
- support spark trycast, treat databricks as strict_cast closes #2389 (commit by @tobymao)c7c3869
- add explode outer and change hiearchy are explosions closes #2393 (commit by @tobymao)
0fb1652
- replace executor None values with np.NaN to silence Pandas>2.1 warnings (PR #2384 by @GeorgeSittas)a849794
- mysql: move parsing logic for JSON_TABLE to base parser (PR #2387 by @GeorgeSittas)e08c1c0
- correctly handle agg subexpressions with no selections (PR #2390 by @ginter)8afa7a1
- schema: don't specialize type variable in MappingSchema (PR #2394 by @GeorgeSittas)
v18.11.6 - 2023-10-06
v18.11.5 - 2023-10-06
v18.11.4 - 2023-10-05
3266e51
- bigquery: improve support for CREATE MODEL DDL statement (PR #2380 by @GeorgeSittas)
dd8334d
- parser: don't consume identifier in unnamed constraint parser (PR #2377 by @GeorgeSittas)
v18.11.3 - 2023-10-04
347ac51
- redshift: add support for Redshift's super array index iteration (PR #2373 by @GeorgeSittas)160d841
- bigquery: add support for ML.PREDICT function (PR #2375 by @GeorgeSittas)
6a65a09
- postgres: translate variance_pop to var_pop and variance to var_samp (PR #2371 by @cpcloud)
v18.11.2 - 2023-10-03
513fe2c
- parser: support END keyword when parsing create procedure DDLs (PR #2369 by @GeorgeSittas)1ba5f98
- distinct from parsing (commit by @tobymao)
v18.11.1 - 2023-10-03
f777155
- unescape escape sequences on read, re-escape them on generation (PR #2367 by @GeorgeSittas)0d1e674
- optimizer: handle edge case in DATE_TRUNC simplification (PR #2368 by @GeorgeSittas)
v18.11.0 - 2023-10-03
e4da5d7
- clickhouse: add support for SAMPLE BY property in CREATE DDL (PR #2355 by @GeorgeSittas)8dc2a9c
- add the ability to set meta in sql comments (PR #2351 by @tobymao)d2047ec
- snowflake: add support for staged file file_format clause (PR #2359 by @GeorgeSittas)55e2d15
- switch identifier normalization off using comments (PR #2361 by @GeorgeSittas)
1df9333
- parser: exclude set operators from unnest offset alias token set (PR #2349 by @GeorgeSittas)↘️ fixes issue #2348 opened by @sean-rose
a794bfe
- hive: don't generate WithDataProperty (PR #2350 by @GeorgeSittas)5fb7174
- fix perf issues with nested left joins (commit by @tobymao)ac4e572
- handle strings in Table.parts, use dialect for parsing in table_name (PR #2353 by @GeorgeSittas)e8273e2
- hive: don't generate BYTE when transpiling Oracle's VARCHAR(5 BYTE) (PR #2358 by @GeorgeSittas)↘️ fixes issue #2356 opened by @CaryMoore-DB
2bc30a5
- mysql: DATE_ADD for datetimes (PR #2360 by @barakalon)a270c15
- redshift: treat single quote as an escape character (PR #2365 by @GeorgeSittas)0e93890
- optimizer: don't merge CTEs with EXPLODE projections into outer scopes (PR #2366 by @GeorgeSittas)
v18.10.1 - 2023-09-29
17e39d0
- snowflake: fix staged table path parsing (PR #2346 by @GeorgeSittas)
v18.10.0 - 2023-09-29
090724d
- addeliminate_qualify
to clickhouse, mysql, oracle, postgres, and tsql dialects (PR #2339 by @cpcloud)e2c8366
- executor: add support for TRIM, fix TRIM CSV-style parsing order (PR #2342 by @GeorgeSittas)↘️ addresses issue #2341 opened by @skyserenaa
fcc2d8f
- mysql,optimizer: TO_DAYS transpilation and more date casting (PR #2334 by @barakalon)
v18.9.0 - 2023-09-28
-
due to
f0e5eb6
- revert escape sequence changes introduced in #2230 (PR #2336 by @GeorgeSittas):revert escape sequence changes introduced in #2230 (#2336)
f80501c
- presto: group_concat -> array_join closes #2331 (commit by @tobymao)8af4054
- snowflake: add support for staged file table syntax (PR #2333 by @GeorgeSittas)↘️ addresses issue #2330 opened by @ShayYaari
bcd342a
- mysql: add unsigned decimal type (PR #2340 by @Nitrino)
58c7849
- clickhouse: don't generate parentheses, match R_PAREN conditionally (PR #2332 by @GeorgeSittas)f0e5eb6
- revert escape sequence changes introduced in #2230 (PR #2336 by @GeorgeSittas)5ea5438
- snowflake: allow window to be used as a table alias (PR #2337 by @GeorgeSittas)↘️ fixes issue #2335 opened by @arunbalasubramani
79c208a
- snowflake, bigquery: parse COLLATE as a func instead of a binary operator (PR #2343 by @GeorgeSittas)
v18.8.0 - 2023-09-26
-
due to
66d7385
- store expressions in Offset.expression when using builder fixes #2312 (commit by @GeorgeSittas):store expressions in Offset.expression when using builder fixes #2312
-
due to
cdcc564
- make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (PR #2315 by @GeorgeSittas):make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (#2315)
-
due to
ebdfc59
- add support for heredoc strings (Postgres, ClickHouse) (PR #2328 by @GeorgeSittas):add support for heredoc strings (Postgres, ClickHouse) (#2328)
c50e74c
- support for percentiles in duckdb, snowflake (PR #2302 by @longxiaofei)8ed0a81
- bigquery: add support for CREATE TABLE .. COPY DDL syntax (PR #2305 by @GeorgeSittas)↘️ addresses issue #2304 opened by @razvan-am
3cb3131
- clickhouse: add isnan and startswith renamings (PR #2310 by @cpcloud)f473e88
- postgres: add support for operator classes in CREATE INDEX DDL (PR #2317 by @GeorgeSittas)64a7b93
- optimizer: canonicalize date arithmetic funcs (PR #2320 by @barakalon)f3d928b
- optimizer: ensure boolean predicates on CASE statement (PR #2321 by @barakalon)ebdfc59
- add support for heredoc strings (Postgres, ClickHouse) (PR #2328 by @GeorgeSittas)
c51ecb1
- clickhouse: fix incorrect array param generation for clickhouse quantiles (PR #2311 by @cpcloud)66d7385
- store expressions in Offset.expression when using builder fixes #2312 (commit by @GeorgeSittas)cdcc564
- make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (PR #2315 by @GeorgeSittas)aa2c4c3
- optimizer: a couple simplify_date_trunc enhancements (PR #2319 by @barakalon)180cd8e
- clickhouse: support SAMPLE clause fixes #2323 (commit by @GeorgeSittas)8242a2c
- mysql: transpile CHAR (PR #2329 by @barakalon)
v18.7.0 - 2023-09-22
f1b6546
- add iter for expressions (commit by @tobymao)13877fe
- optimizer: replace date funcs (PR #2299 by @barakalon)
fc793c4
- postgres: generate ARRAY[] correctly (PR #2287 by @GeorgeSittas)↘️ fixes issue #1457 opened by @cmvarmour
06e0869
- unnest complex closes #2284 (commit by @tobymao)5aa7e2a
- bigquery: preserve log argument order when parsing and generation dialects match (PR #2293 by @cpcloud)44f732d
- parser: make kwarg parsing more robust (PR #2295 by @GeorgeSittas)8fe91e2
- redshift: generate correct SQL VALUES clause alias (PR #2298 by @GeorgeSittas)6429042
- bigquery: anticipate OPTION property after JS UDF definition (PR #2297 by @GeorgeSittas)29550c1
- safedpipe is always varchar (commit by @tobymao)
v18.6.0 - 2023-09-21
-
due to
8100311
- explode to unnest with multiple explosions (PR #2235 by @tobymao):explode to unnest with multiple explosions (#2235)
-
due to
ff19f4c
- don't parse SEMI, ANTI as table aliases, fix join side issue (PR #2247 by @GeorgeSittas):don't parse SEMI, ANTI as table aliases, fix join side issue (#2247)
-
due to
8ebbfe2
- store expressions in Limit.expression when using builder (PR #2249 by @GeorgeSittas):store expressions in Limit.expression when using builder (#2249)
-
due to
4badd91
- preserve ascending order of sorting when present (PR #2256 by @GeorgeSittas):preserve ascending order of sorting when present (#2256)
-
due to
e90312a
- improve transpilation of T-SQL's SET assignment command (PR #2275 by @GeorgeSittas):improve transpilation of T-SQL's SET assignment command (#2275)
f63a06b
- eliminate semi/anti joins transformation (PR #2242 by @GeorgeSittas)d1cfa01
- optimizer: simplify date_trunc (PR #2271 by @barakalon)e90312a
- improve transpilation of T-SQL's SET assignment command (PR #2275 by @GeorgeSittas)69a2c67
- optimizer: simplify_equality (PR #2281 by @barakalon)ef062d1
- kill (PR #2285 by @barakalon)
66aadfc
- unescape escape sequences (PR #2230 by @GeorgeSittas)cd30eb7
- tsql: include catalog and db in create if not exists (PR #2231 by @treysp)c2238a5
- snowflake: transpile SELECT UNNEST(x) to TABLE(FLATTEN(..)) (PR #2232 by @GeorgeSittas)8509d52
- don't unnest subqueries when the parent select doesn't have a from since the subquery can't be joined (PR #2233 by @ginter)8100311
- explode to unnest with multiple explosions (PR #2235 by @tobymao)1992ab9
- transpile bool xor closes #2238 (commit by @tobymao)12de208
- snowflake: use IF instead of FILTER(WHERE cond) for conditional aggregation (PR #2241 by @GeorgeSittas)94d56be
- bigquery: regex with raw strings compile closes #2236 (commit by @tobymao)ff19f4c
- don't parse SEMI, ANTI as table aliases, fix join side issue (PR #2247 by @GeorgeSittas)8ebbfe2
- store expressions in Limit.expression when using builder (PR #2249 by @GeorgeSittas)829415c
- snowflake: rename GenerateSeries, include offset in unnest_sql (PR #2243 by @GeorgeSittas)ba013d6
- presto: treat struct with key-value definition as unsupported (PR #2245 by @GeorgeSittas)ab7effe
- parser: check for column operators after having parsed brackets (PR #2251 by @GeorgeSittas)3b654f2
- dataframe: ensure Column.alias preserves quotes (PR #2254 by @GeorgeSittas)f76ebb2
- tsql: generate SELECT INTO from CTAS (PR #2237 by @treysp)4badd91
- preserve ascending order of sorting when present (PR #2256 by @GeorgeSittas)86538ba
- bigquery: reduce the scope where UNKNOWN is treated as NULL (PR #2260 by @GeorgeSittas)12c83b6
- hive: get rid of any ASC in a ClusteredColumnConstraint (PR #2261 by @GeorgeSittas)35927a2
- tsql: correctly escape single quotes in EXEC (PR #2263 by @treysp)61f85a4
- postgres: parse RESTRICT constraint action (PR #2267 by @Nitrino)d5b229a
- snowflake: implement correct semantics of EXCEPT, RENAME (PR #2268 by @GeorgeSittas)↘️ fixes issue #2265 opened by @diogo-fernan
ccff88c
- postgres: add support for WHERE clause in CREATE INDEX (PR #2269 by @GeorgeSittas)ed8714f
- bigquery: allow overlaps to be used as an identifier (PR #2273 by @GeorgeSittas)↘️ fixes issue #2272 opened by @turntable-justin
76b7077
- ensure Expression is not an iterable to avoid inf. loops (PR #2280 by @GeorgeSittas)6475b84
- remove copy (PR #2282 by @barakalon)310d691
- improve performance of VALUES -> UNION ALL transpilation (PR #2283 by @GeorgeSittas)
v18.5.1 - 2023-09-15
0378325
- improve support for percentiles in duckdb, postgres (PR #2219 by @GeorgeSittas)b59ef0f
- add support for scoped user-defined types (PR #2226 by @GeorgeSittas)↘️ addresses issue #2217 opened by @sashindeitidata
b3c97de
- mysql: timestamp add/sub closes #2214 (commit by @tobymao)4634220
- use parse primary in the sample parser to handle nums like .25 (commit by @GeorgeSittas)fd1ed25
- oracle: add support for locking reads fixes #2216 (commit by @GeorgeSittas)5ec8e1f
- normalize before qualifying tables (commit by @tobymao)da398f4
- parse and generate JSON correctly (PR #2220 by @GeorgeSittas)6bc8e13
- mysql: transpile ISNULL to IS NULL (PR #2221 by @barakalon)2fa4043
- mysql: transpile MONTHNAME (PR #2222 by @barakalon)857e380
- mysql: TIMESTAMP -> CAST (PR #2223 by @barakalon)
v18.5.0 - 2023-09-13
72e939e
- parser: allow functions in FETCH clause (PR #2207 by @GeorgeSittas)↘️ addresses issue #2204 opened by @sashindeitidata
d944e17
- mysql: add support for [UN]LOCK TABLES as a Command (PR #2212 by @GeorgeSittas)
416b341
- use SUPPORTS_USER_DEFINED_TYPES to set udt in schema _to_data_type (PR #2203 by @GeorgeSittas)14c1b3b
- mysql: add support for index type in the UNIQUE KEY constraint (PR #2211 by @GeorgeSittas)5c7210a
- oracle: allow CONNECT BY / START WITH to be interchanged (PR #2208 by @GeorgeSittas)↘️ fixes issue #2205 opened by @sashindeitidata
v18.4.1 - 2023-09-12
-
due to
f85b535
- parse schema UDTs into DataTypes instead of identifiers (PR #2201 by @GeorgeSittas):parse schema UDTs into DataTypes instead of identifiers (#2201)
a228656
- tokenizer: treat quote as escape only if its followed by itself (PR #2199 by @GeorgeSittas)fa09688
- mysql: for update regression due to list comprehensions closes #2200 (commit by @tobymao)f85b535
- parse schema UDTs into DataTypes instead of identifiers (PR #2201 by @GeorgeSittas)
v18.4.0 - 2023-09-12
5e2042a
- add TINYTEXT and TINYBLOB types (PR #2182 by @Nitrino)0c536bd
- oracle: add support for JSON_ARRAYAGG (PR #2189 by @GeorgeSittas)f4e3e09
- oracle: add support for JSON_TABLE (PR #2191 by @GeorgeSittas)↘️ addresses issue #2187 opened by @sashindeitidata
11d95ff
- add redshift concat_ws support (PR #2194 by @eakmanrq)
c7433bf
- join using with star (commit by @tobymao)451439c
- clickhouse: add missing type mappings for string types (PR #2183 by @GeorgeSittas)5ba5165
- duckdb: rename VariancePop -> var_pop in DuckDB (PR #2184 by @gforsyth)d192515
- optimizer: merge subqueries should use alias from outer scope (PR #2185 by @barakalon)12db377
- mysql: multi table update closes #2193 (commit by @tobymao)b9f5ede
- oracle: make parentheses in JSON_TABLE's COLUMNS clause optional (commit by @GeorgeSittas)8c51275
- mysql: parse column prefix in index / pk defn. correctly (PR #2197 by @GeorgeSittas)
a81dd14
- override Bracket.output_name only when there's one bracket expression (commit by @GeorgeSittas)7ae5a94
- fix mutation bug in Column.to_dot, simplify Dot.build (PR #2196 by @GeorgeSittas)
981ad23
- duckdb: fix var_pop tests (commit by @GeorgeSittas)
v18.3.0 - 2023-09-07
-
due to
3fc2eb5
- improve support for interval spans like HOUR TO SECOND (PR #2167 by @GeorgeSittas):improve support for interval spans like HOUR TO SECOND (#2167)
-
due to
93b7ba2
- MySQL Timestamp Data Types (PR #2173 by @eakmanrq):MySQL Timestamp Data Types (#2173)
5dd0fda
- spark: add support for raw strings (PR #2165 by @GeorgeSittas)d9f8910
- teradata: add support for the SAMPLE clause (PR #2169 by @GeorgeSittas)63ac621
- mysql: improve support for unsigned int types (PR #2172 by @GeorgeSittas)cd301cc
- postgres: add support for ALTER TABLE ONLY ... (PR #2179 by @GeorgeSittas)
3fc2eb5
- improve support for interval spans like HOUR TO SECOND (PR #2167 by @GeorgeSittas)93b7ba2
- MySQL Timestamp Data Types (PR #2173 by @eakmanrq)6d761f9
- filter_sql use strip closes #2180 (commit by @tobymao)
5fbe303
- add minimum python version required to setup.py (PR #2170 by @GeorgeSittas)↘️ addresses issue #2168 opened by @jlardieri5
v18.2.0 - 2023-09-05
5df9b5f
- snowflake: desc table type closes #2145 (commit by @tobymao)a48051c
- teradata: improve support for DATABASE statement (PR #2160 by @GeorgeSittas)
d4d7a5c
- bigquery: allow numbers in table name (commit by @tobymao)7b589ae
- snowflake: better support for LISTAGG (PR #2147 by @GeorgeSittas)↘️ fixes issue #2146 opened by @alonc-sygnia
9c4a9cd
- hive: parse <date_part> as an interval instead of an alias (PR #2151 by @GeorgeSittas)↘️ fixes issue #2123 opened by @liujiwen-up
585d0bf
- tokenizer with ambious keywords (commit by @tobymao)f0bddde
- oracle: remove COALESCE -> NVL mapping fixes #2158 (commit by @GeorgeSittas)dcacef1
- parser: use _parse_bitwise for values of JSON_OBJECT (commit by @GeorgeSittas)db1303c
- parser: solve interval parsing bug (PR #2157 by @GeorgeSittas)↘️ fixes issue #2154 opened by @liujiwen-up
36ac469
- remove inconsistent quotes from eliminate distinct on transform (commit by @tobymao)
f934575
- improve type hints for dialects (PR #2152 by @GeorgeSittas)
v18.1.0 - 2023-09-01
-
due to
f3fee3a
- iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128 (commit by @tobymao):iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128
f3fee3a
- iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128 (commit by @tobymao)30e3e2f
- add support for transpiling some datetime functions from bq to databricks (PR #2142 by @fireis)
632ad59
- mysql: binary x parsing closes #2130 (commit by @tobymao)999a950
- optimizer: dont simplify parens with multiple predicates closes #2131 (commit by @tobymao)bf7af1f
- parser: support order in update statement (PR #2134 by @brosoul)7a27931
- bigquery: parse JSON_OBJECT properly for key-value pairs (PR #2136 by @middagj)2ad559d
- mysql: generate JSON_OBJECT properly (PR #2139 by @middagj)bd96d0c
- tsql: support adding multiple columns with ALTER TABLE (PR #2140 by @treysp)32d8e54
- row number in transform requires order by (commit by @tobymao)39bce6d
- mysql: allow unquoted identifiers that start with a number (PR #2141 by @middagj)
v18.0.1 - 2023-08-30
be56bc0
- optimizer join needs on condition (commit by @tobymao)cc0a6e2
- tsql: generate IDENTITY instead of AUTO_INCREMENT (PR #2127 by @GeorgeSittas)d1ccb03
- bigquery: unnest with structs closes #2125 (commit by @tobymao)6a0110a
- create the struct key properly in struct_extract_sql (PR #2129 by @GeorgeSittas)
v18.0.0 - 2023-08-29
c9d679b
- parse INTERVAL ... YEAR (PR #2122 by @barakalon)d5bae81
- table with empty identifiers (commit by @tobymao)
v17.16.2 - 2023-08-28
5b14f52
- duckdb: by_name modifiers #2118 (commit by @tobymao)cf2789f
- duckdb: allow selects in from leading syntax #2118 (commit by @tobymao)
167d298
- presto: transpile DATE_SUB (PR #2120 by @barakalon)
v17.16.1 - 2023-08-26
v17.16.0 - 2023-08-26
0316f7f
- presto: datetime -> timestamp (PR #2113 by @barakalon)
v17.15.1 - 2023-08-24
dc5836c
- tsql: table constraints closes #2106 (commit by @tobymao)bda94df
- tsql: not for replication closes #2107 (commit by @tobymao)c99bf73
- mysql mediumint and year types closes #2109 (commit by @tobymao)
fb8a0b6
- regxpilike for snowflake (commit by @tobymao)f62f35c
- clickhouse dateadd/datediff closes #2108 (commit by @tobymao)b0d82ea
- property with ON keyword closes #2111 (commit by @tobymao)12bc916
- tsql: single quotes in if not exists (commit by @tobymao)
v17.15.0 - 2023-08-22
-
due to
1da653f
- Have Spark put CTE at front of insert (PR #2086 by @eakmanrq):Have Spark put CTE at front of insert (#2086)
-
due to
edb9a96
- rename DataTypeSize -> DataTypeParam (PR #2097 by @GeorgeSittas):rename DataTypeSize -> DataTypeParam (#2097)
-
due to
28a0e20
- add support for casting to user defined types (PR #2096 by @GeorgeSittas):add support for casting to user defined types (#2096)
-
due to
075849f
- allow types to be identifiers closes #2102 (commit by @tobymao):allow types to be identifiers closes #2102
33220b9
- add more funcs to scope module (commit by @tobymao)2922bb0
- postgres full text search @@ closes #2066 (commit by @tobymao)c5dc9ac
- oracle: add support for old-style SELECT UNIQUE .. syntax (PR #2076 by @GeorgeSittas)↘️ addresses issue #2074 opened by @sashindeitidata
6426c1f
- tsql: transpile CREATE SCHEMA IF NOT EXISTS to dynamic SQL (PR #2083 by @GeorgeSittas)19300a8
- oracle: add support for $, # symbols (PR #2095 by @GeorgeSittas)↘️ addresses issue #2090 opened by @sashindeitidata
0b9a575
- tsql: update statistics cmd closes #2101 (commit by @tobymao)28a0e20
- add support for casting to user defined types (PR #2096 by @GeorgeSittas)↘️ addresses issue #2091 opened by @sashindeitidata
2843817
- add snowflake/tsql insert/stuff (commit by @tobymao)1fa5056
- tsql computed column exp closes #2104 (commit by @tobymao)
3c01cbf
- presto: allow REGEXP_REPLACE with 2 arguments (PR #2073 by @GeorgeSittas)↘️ fixes issue #2072 opened by @dmelchor-stripe
3c493e9
- optimizer: solve an infinite loop problem in simplify (PR #2071 by @GeorgeSittas)↘️ fixes issue #2068 opened by @powerAmore
c1febf2
- duckdb: improve struct kwarg parsing (PR #2082 by @GeorgeSittas)1da653f
- Have Spark put CTE at front of insert (PR #2086 by @eakmanrq)1aafe6e
- allow placeholders to be any ID_VAR token (PR #2093 by @GeorgeSittas)↘️ fixes issue #2089 opened by @sashindeitidata
6fa1581
- interval::int cast closes #2098 (commit by @tobymao)075849f
- allow types to be identifiers closes #2102 (commit by @tobymao)e474aa0
- array (commit by @tobymao)
edb9a96
- rename DataTypeSize -> DataTypeParam (PR #2097 by @GeorgeSittas)
afe0286
- remove unnecessary class constants (PR #2094 by @GeorgeSittas)a20794a
- cleanup types and add sort by alias for hive (commit by @tobymao)
v17.14.2 - 2023-08-15
cd2628a
- convert ANY_VALUE to MAX for some dialects (PR #2058 by @GeorgeSittas)d92a5b7
- optimizer: improve type annotation for nested types (PR #2061 by @GeorgeSittas)
21b061f
- escape sequence warnings closes #2059 (commit by @tobymao)56a3d89
- spark: handle MAP(..) without arguments correctly (PR #2063 by @GeorgeSittas)↘️ fixes issue #2062 opened by @dmelchor-stripe
7787342
- pushdown predicate to HAVING (PR #2064 by @barakalon)
v17.14.1 - 2023-08-15
0126d01
- parenthesize coalesce simplification (PR #2057 by @barakalon)
v17.14.0 - 2023-08-14
-
due to
2e73a4f
- dict conversion had incorrect ast (commit by @tobymao):dict conversion had incorrect ast
2e73a4f
- dict conversion had incorrect ast (commit by @tobymao)8affeff
- coalesce simplify window func (commit by @tobymao)
v17.13.0 - 2023-08-14
c817e19
- improve support for NVL2 function (PR #2042 by @GeorgeSittas)689956b
- add distribute by alias for hive window functions closes #2043 (commit by @tobymao)0746b6f
- tsql: if object_id is not null support closes #2044 (commit by @tobymao)c37abfd
- any_value hive/spark/presto closes #2053 (commit by @tobymao)f8cb87d
- presto, spark: improve support for STR_TO_MAP, SPLIT_TO_MAP (PR #2054 by @GeorgeSittas)
a35cfe0
- tsql: add support for 'culture' argument in FORMAT (PR #2047 by @GeorgeSittas)cad6de8
- tsql: improve handling of table hints in MERGE statement (PR #2049 by @GeorgeSittas)↘️ fixes issue #2048 opened by @dmoore247
96d4d8b
- parser: ensure identifiers aren't treated as NO_PAREN_FUNCTIONS (PR #2056 by @GeorgeSittas)
v17.12.0 - 2023-08-11
95ec5b6
- hive: improve transpilation of Bigquery's TIMESTAMP_ADD (PR #2012 by @GeorgeSittas)921d7a5
- add apache doris dialect (PR #2006 by @liujiwen-up)6e2705e
- simplify COALESCE (PR #2019 by @barakalon)915b1e2
- databricks: add support for UNPIVOT nulls option (PR #2021 by @GeorgeSittas)ea7891d
- duckdb: improve support for INT128, HUGEINT, NUMERIC (PR #2023 by @GeorgeSittas)190255d
- clickhouse: add support for FixedString(N) type (PR #2036 by @GeorgeSittas)ccb1b14
- clickhouse: LowCardinality closes #2033 (commit by @tobymao)55a8ead
- clickhouse: add support for Enum types (PR #2038 by @GeorgeSittas)593153c
- presto,oracle: add support for INTERVAL span types (PR #2035 by @GeorgeSittas)36f308e
- clickhouse: add support for Nested type (PR #2039 by @GeorgeSittas)
bc46c3d
- executor: add table normalization, fix python type mapping (PR #2015 by @GeorgeSittas)baab165
- improve comment handling for several expressions (PR #2017 by @GeorgeSittas)325b26e
- duckdb ISNAN (PR #2024 by @barakalon)ad75c6f
- only some joins can be simplified to CROSS (PR #2025 by @barakalon)32eb129
- postgres: improve parsing of array types closes #2034 (PR #2040 by @tobymao)4591092
- parse time[(p)] with time zone correctly (PR #2041 by @GeorgeSittas)
c3fd695
- doris: cleanup implementation of Doris dialect (PR #2018 by @GeorgeSittas)
v17.10.2 - 2023-08-09
7ccfd35
- optimizer: don't parse str argument in normalize_identifiers (PR #2010 by @GeorgeSittas)
v17.10.1 - 2023-08-08
f6fe54a
- optimizer: wrap expanded alias expressions (PR #2004 by @GeorgeSittas)900bec3
- if_sql mutation (commit by @tobymao)c73790d
- optimizer: ensure TableAlias column names shadow source columns (PR #2002 by @GeorgeSittas)caf2adc
- snowflake: tokenize $$ as raw string delimiters (PR #2007 by @GeorgeSittas)289493b
- remove several mutations in Generator methods (PR #2009 by @GeorgeSittas)
v17.10.0 - 2023-08-07
92f3288
- snowflake: generate WEEKOFYEAR instead of WEEK_OF_YEAR (commit by @GeorgeSittas)c9dd971
- parser, duckdb: decode/encode in duckdb don't take charset (PR #1993 by @charsmith)e00d857
- redshift: parse dateadd alias date_add (PR #1995 by @gafeol)d219a65
- snowflake startswith closes #1998 (commit by @tobymao)
v17.9.1 - 2023-08-03
57df0b7
- optimizer: allow normalize_identifiers to accept strings (PR #1992 by @GeorgeSittas)
652d1c9
- optimizer: wrap scalar subquery replacement in a MAX call (PR #1988 by @GeorgeSittas)↘️ fixes issue #1987 opened by @laurentiupiciu
1865959
- ensure eliminate_qualify won't introduce duplicate projections (PR #1990 by @GeorgeSittas)
v17.9.0 - 2023-08-01
ea7c7da
- teradata: parse [COLLECT|HELP] STATISTICS as Commands (PR #1979 by @GeorgeSittas)↘️ addresses issue #1978 opened by @MarkBell920
4af91a0
- parser: parse placeholder as fallback for boolean, null, star (PR #1976 by @GeorgeSittas)↘️ fixes issue #1975 opened by @SoftwareGuy2020
be7d4e6
- control whether quotes are generated for extract's date part (PR #1981 by @GeorgeSittas)5436f53
- Make date_add with incorrect expression more clear (commit by @tobymao)
8a44cc2
- optimizer: improve handling of DDL optimization (PR #1972 by @GeorgeSittas)9e77c7b
- optimizer: factor out pseudocolumns in qualify columns (PR #1984 by @GeorgeSittas)
78b0eed
- update docstring with description of Expression.meta (commit by @GeorgeSittas)
v17.8.5 - 2023-07-28
9d67283
- optimizer: add support for resolving CTEs in CREATE statements (PR #1949 by @gtoonstra)
2874ae5
- tsql: improve UDF parsing (PR #1973 by @GeorgeSittas)89c8635
- parser,bigquery: make separator optional in STRING_AGG parser (PR #1974 by @GeorgeSittas)
v17.8.4 - 2023-07-28
7440e4a
- tsql: improve support for the DATEDIFF function (PR #1967 by @GeorgeSittas)
2d5d714
- tsql: revert float-to-datetime coercions (PR #1970 by @GeorgeSittas)35f55e9
- mysql: simplify LIMIT, OFFSET when their expression is complex (PR #1971 by @GeorgeSittas)
5695667
- add dialect parameter to parse for parity with parse_one (PR #1969 by @GeorgeSittas)
v17.8.3 - 2023-07-27
75b418c
- mysql: generate DATETIME instead of TIMESTAMP for TimeStrToTime (commit by @GeorgeSittas)
v17.8.2 - 2023-07-27
5e641c2
- presto: add IPADDRESS/IPPREFIX data types (PR #1965 by @roykoand)d2685dd
- mysql: improve support for DDL index column constraints (PR #1961 by @GeorgeSittas)↘️ addresses issue #1959 opened by @ninja96826
7082b61
- trino->spark starts_with closes #1963 (commit by @tobymao)9787329
- trino->spark is_nan closes #1964 (commit by @tobymao)1ebe49f
- mysql: generate TimeStrToTime as a cast to TIMESTAMP (PR #1968 by @GeorgeSittas)
v17.8.1 - 2023-07-27
59847f5
- parser: improved comment parsing (PR #1956 by @mpf82)8448141
- tsql: improve transpilation of temp table DDLs (PR #1958 by @GeorgeSittas)
92849bd
- optimizer: traverse UNNEST scope (PR #1960 by @GeorgeSittas)7f79592
- using type (commit by @tobymao)
4ed04d5
- minor README addition (commit by @GeorgeSittas)
v17.8.0 - 2023-07-24
75d49b7
- schema: improve overridability of normalization setting (PR #1954 by @GeorgeSittas)
da5a4d1
- oracle: improve handling of KEEP (...) OVER (...) window syntax (PR #1953 by @GeorgeSittas)↘️ fixes issue #1952 opened by @push2prod
v17.7.0 - 2023-07-23
-
due to
2aa62d1
- mysql 5 does not support select * from values (commit by @tobymao):mysql 5 does not support select * from values
b82573b
- redshift: improve transpilation of ADD_MONTHS function (PR #1945 by @GeorgeSittas)
46b5dfa
- duckdb: ensure 'day' will be generated for exp.DateDiff by default (PR #1944 by @GeorgeSittas)↘️ fixes issue #1943 opened by @richard-a-lott
327451f
- limit with select subquery closes #1948 (commit by @tobymao)f2f4084
- offset subquery (commit by @tobymao)2aa62d1
- mysql 5 does not support select * from values (commit by @tobymao)3b5d0a6
- mysql cast only supports a few data types (commit by @tobymao)
v17.6.1 - 2023-07-21
4b7e9f1
- clickhouse: add support for the logical xor function (PR #1937 by @GeorgeSittas)1d2b5e0
- hive: add support for the query TRANSFORM clause (PR #1935 by @GeorgeSittas)
b8de650
- union lineage with > 2 sources closes #1934 (commit by @tobymao)79efb42
- duckdb, presto: improve bitwise support (PR #1938 by @GeorgeSittas)
v17.6.0 - 2023-07-19
v17.5.0 - 2023-07-18
e6b3a01
- tsql: improve support for transaction statements (PR #1907 by @dmoore247)048b9bc
- add refresh command (commit by @tobymao)3456bbf
- add RegexpReplace expression (PR #1925 by @GeorgeSittas)d6c8722
- clickhouse array join (commit by @tobymao)
d928ee0
- duckdb filter where optional (commit by @tobymao)cbcb113
- spark: add support for RLIKE function (PR #1911 by @GeorgeSittas)cc33749
- preserve comments in exp.Drop (commit by @GeorgeSittas)35e05f7
- make end transactions postgres specific closes #1921 (commit by @tobymao)aaee594
- teradata: separate POST_EXPRESSION props from POST_INDEX (PR #1924 by @GeorgeSittas)↘️ fixes issue #1923 opened by @MarkBell920
a523c8b
- comments above limit (commit by @tobymao)e9f1cb5
- spark,duckdb: transpile TO_TIMESTAMP, MONTHS_BETWEEN correctly (PR #1929 by @GeorgeSittas)↘️ fixes issue #1928 opened by @richard-a-lott
726306e
- scope: rename _is_subquery_scope to _is_derived_table for clarity (PR #1912 by @GeorgeSittas)
v17.4.1 - 2023-07-11
v17.4.0 - 2023-07-11
-
due to
c511278
- table_name force quotes if unsafe identifiers (commit by @tobymao):table_name force quotes if unsafe identifiers
21246fb
- Add FLOAT(n) mappings to Hive (PR #1896 by @dmoore247)d68f844
- tsql: insert output closes #1901 (commit by @tobymao)273daf9
- add returning as alias for postgres (commit by @tobymao)
900ad7e
- mysql: add support some logical operators (PR #1899 by @brosoul)c3b4b66
- expansions of literals in select and where (commit by @tobymao)6ccb595
- postgres nested jsonb closes #1903 (commit by @tobymao)a27521b
- improve parsing / generation of REGEXP_EXTRACT (PR #1905 by @GeorgeSittas)3e8c6cb
- oracle: keep NCHAR as-is (PR #1908 by @mpf82)5eed17e
- use sql method to generate index name (PR #1909 by @GeorgeSittas)c511278
- table_name force quotes if unsafe identifiers (commit by @tobymao)
3b215ad
- hive: cleanup handling of FLOAT(n) in the generator (commit by @GeorgeSittas)69a69f6
- show an 'unsupported' error when transpiling (+) (PR #1906 by @GeorgeSittas)
v17.3.0 - 2023-07-07
fafccf5
- postgres: add MONEY type, revert in Spark to use DECIMAL(15, 4) (commit by @GeorgeSittas)24dda47
- improve transpilation of BigQuery's TO_HEX(MD5(..)) (PR #1897 by @GeorgeSittas)
2ab8887
- spark: map MONEY type to a broader DECIMAL type (commit by @GeorgeSittas)dd7e494
- enforce function arg order (commit by @tobymao)
5cf9304
- optimizer: add more tests, improve titles in qualify_tables.sql (commit by @GeorgeSittas)
v17.2.0 - 2023-07-06
1f575db
- duckdb: improve transpilation of BigQuery DATE function (PR #1895 by @GeorgeSittas)
v17.1.0 - 2023-07-04
83db4c0
- tsql: rename EXTRACT to DATEPART closes #1885 (commit by @GeorgeSittas)5a84605
- order by agg closes #1887 (PR #1889 by @tobymao)d1ad7da
- performance regression due to 6f80cc80 (commit by @tobymao)
v17.0.0 - 2023-07-04
-
due to
df4448d
- use a dictionary for query modifier search (commit by @tobymao):use a dictionary for query modifier search
-
due to
f747260
- hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific (commit by @tobymao):hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific
47d999c
- mysql: add support for the MEMBER OF operator (PR #1872 by @GeorgeSittas)156afcd
- add the ability to parse nested joins implements #1878 (commit by @tobymao)
8a19d7a
- mysql: improve parsing of INSERT .. SELECT statement (PR #1871 by @GeorgeSittas)58e1683
- bigquery: improve support for cast to timestamp with format, time zone (PR #1873 by @GeorgeSittas)↘️ fixes issue #1870 opened by @dskarbrevik
0197119
- convert JSONArrayContains to a Func expression (commit by @GeorgeSittas)f4fb1f4
- tsql datepart format casing closes #1869 (commit by @tobymao)fe69102
- duckdb date_trunc to time closes #1875 (commit by @tobymao)a957388
- mysql: add support more kind for MEMBER OF content (PR #1880 by @brosoul)6f80cc8
- parser: handle chained table join with consecutive USING clauses (PR #1883 by @GeorgeSittas)82f8fff
- bigquery don't strip nested types (commit by @tobymao)cf12c8a
- python is literal warning (commit by @tobymao)
df4448d
- use a dictionary for query modifier search (commit by @tobymao)f747260
- hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific (commit by @tobymao)f621e85
- remove unused line, no tests fail (commit by @tobymao)0114b6d
- change to lambda that returns tuple (commit by @tobymao)
v16.8.1 - 2023-06-30
v16.8.0 - 2023-06-30
-
due to
fcf7dd0
- big query single quotes does not support line breaks (commit by @tobymao):big query single quotes does not support line breaks
3800158
- datediff python executor (commit by @tobymao)2e1a2b8
- snowflake: add support for GROUP BY ALL (PR #1864 by @GeorgeSittas)6e81ac6
- makefile: add rule to skip integration tests (PR #1865 by @GeorgeSittas)
2911bbb
- typo (commit by @tobymao)d6c1569
- executor: allow non-projected aggregates in ORDER BY (PR #1863 by @GeorgeSittas)fcf7dd0
- big query single quotes does not support line breaks (commit by @tobymao)
v16.7.7 - 2023-06-30
v16.7.6 - 2023-06-30
15ac3c1
- executor: get rid of 'running' set (PR #1861 by @GeorgeSittas)
v16.7.4 - 2023-06-29
08c3074
- bigquery: support the full syntax of ANY_VALUE (PR #1860 by @GeorgeSittas)↘️ addresses issue #1858 opened by @lucia-vargas-a
0357d63
- bigquery quoted udf project id (commit by @tobymao)28e1024
- group and order cannot replace with literals (commit by @tobymao)5dabb96
- alias snowflake timediff/timestampdiff to datediff closes #1851 (commit by @tobymao)
1e76107
- snowflake: fix tests (commit by @GeorgeSittas)
v16.7.2 - 2023-06-28
v16.7.1 - 2023-06-28
95a4b70
- bigquery: pushdown CTE column names (PR #1847 by @GeorgeSittas)f81dd26
- bigquery: add support for casting to string w/ format (PR #1848 by @GeorgeSittas)
v16.7.0 - 2023-06-28
-
due to
d72caf4
- bigquery udfs are case sensitive (commit by @tobymao):bigquery udfs are case sensitive
ebe04bb
- table name with dots (commit by @tobymao)e3c43f2
- redshift to ast incorrect (commit by @tobymao)d72caf4
- bigquery udfs are case sensitive (commit by @tobymao)7cb01a0
- bigquery: transpile explode projection to cross join unnest, clean up tests (PR #1844 by @GeorgeSittas)abdf34b
- bigquery: STRING_AGG parsing bug (PR #1846 by @GeorgeSittas)
v16.6.0 - 2023-06-27
-
due to
71818f9
- bigquery normalize dot tables and aliases (commit by @tobymao):bigquery normalize dot tables and aliases
b60e19b
- spark clustered by dml (commit by @tobymao)40928b7
- full support for spark clustered by (commit by @tobymao)71818f9
- bigquery normalize dot tables and aliases (commit by @tobymao)
v16.5.0 - 2023-06-27
-
due to
451dad2
- use alias for order by after group by closes #1822 (commit by @tobymao):use alias for order by after group by closes #1822
-
due to
9de9667
- group by having closes #1831 (commit by @tobymao):group by having closes #1831
5d5795d
- postgres: improve transpilation of ELEMENT_AT (PR #1830 by @GeorgeSittas)↘️ addresses issue #1829 opened by @SudarshanVS
763d25b
- mysql: add support for SIGNED [INTEGER] and UNSIGNED [INTEGER] types (PR #1828 by @brosoul)
451dad2
- use alias for order by after group by closes #1822 (commit by @tobymao)8aef4c3
- dont expand bq pseudocolumns in optimizer star expansion (PR #1826 by @z3z1ma)f7abc28
- mysql: convert (U)BIGINT to (UN)SIGNED in CAST expressions (PR #1832 by @GeorgeSittas)9de9667
- group by having closes #1831 (commit by @tobymao)cb0ac10
- unnest subqueries in executor closes #1835 (commit by @tobymao)32a86aa
- bigquery: handle reserved keywords (PR #1839 by @serkef)4de255c
- interval precedence parsing bug (PR #1837 by @GeorgeSittas)e4d6ba5
- remove group alias for spark 3 (commit by @tobymao)
v16.4.2 - 2023-06-23
91ebaf5
- snowflake: add support for BYTEINT type (PR #1819 by @GeorgeSittas)↘️ addresses issue #1818 opened by @criccomini
2367bfc
- make table_name more robust by quoting unsafe parts (PR #1820 by @GeorgeSittas)5572e76
- execute LEFT and RIGHT (PR #1821 by @barakalon)
v16.4.1 - 2023-06-23
088e745
- databricks: add support for REPLACE WHERE in INSERT statement (PR #1817 by @GeorgeSittas)
8079b50
- executor: ensure IN clause can work with a single value (PR #1815 by @GeorgeSittas)
v16.4.0 - 2023-06-21
-
due to
1db023f
- simplify mypy type hints for parse_one (PR #1797 by @GeorgeSittas):simplify mypy type hints for parse_one (#1797)
15f6f26
- support BigQuery GENERATE_ARRAY (PR #1800 by @r1b)2f43629
- bigquery: support TO_JSON_STRING (PR #1802 by @r1b)e62c50c
- add support for LIMIT clause in DELETE statement (PR #1804 by @GeorgeSittas)a2bf084
- duckdb: support TO_JSON (PR #1803 by @r1b)b8d9a19
- add support for LIMIT clause in UPDATE statement (PR #1808 by @GeorgeSittas)
2e67bf9
- teradata: add support for the SELECT TOP N syntax (PR #1799 by @GeorgeSittas)6945b28
- remove side on condition simplification (commit by @tobymao)d7c1e7d
- snowflake: add support for TOP keyword (commit by @ftom)
1db023f
- simplify mypy type hints for parse_one (PR #1797 by @GeorgeSittas)458f12d
- hive: improve transpilation of TO_JSON (PR #1809 by @GeorgeSittas)
4da37aa
- clean up some comments in helper.py (commit by @GeorgeSittas)73cddc4
- fix ANNOTATORS mypy type hint (commit by @GeorgeSittas)
v16.3.1 - 2023-06-16
v16.3.0 - 2023-06-16
-
due to
038afc9
- switch presto tsords to cast timestamp -> date (commit by @tobymao):switch presto tsords to cast timestamp -> date
-
due to
4084ba3
- move normalization logic in Dialect, update case-sensitivity info (PR #1784 by @GeorgeSittas):move normalization logic in Dialect, update case-sensitivity info (#1784)
fc9afb3
- snowflake: add support for COPY GRANTS property (PR #1793 by @GeorgeSittas)
311380c
- select as struct transpilation closes #1788 (commit by @tobymao)1b62c0a
- parser: cast coalesce arg to text in the context of a CONCAT call (PR #1792 by @GeorgeSittas)d27e8f8
- schema: ensure tables aren't normalized for BigQuery (PR #1794 by @GeorgeSittas)58fe190
- rawstring backslashes for bigquery (commit by @tobymao)
038afc9
- switch presto tsords to cast timestamp -> date (commit by @tobymao)4084ba3
- move normalization logic in Dialect, update case-sensitivity info (PR #1784 by @GeorgeSittas)
v16.2.1 - 2023-06-16
-
due to
88249b8
- cyclic joins in the optimizer (PR #1786 by @tobymao):cyclic joins in the optimizer (#1786)
88249b8
- cyclic joins in the optimizer (PR #1786 by @tobymao)f957a07
- overly aggressive cross join removal (commit by @tobymao)cacf8bf
- build null types (commit by @tobymao)
d696d7f
- cleanup merge_subqueries (commit by @tobymao)8e1b6a7
- speed up executor tests (commit by @tobymao)
v16.2.0 - 2023-06-15
v16.1.4 - 2023-06-15
4a1068b
- Postgres: Set INDEX_OFFSET to 1 (PR #1782 by @vegarsti)f523dd6
- build uppercasing everything (commit by @tobymao)
v16.1.3 - 2023-06-15
fd0fc97
- bigquery timestamp -> timestamptz (commit by @tobymao)b86f7e8
- dialect build (commit by @tobymao)
v16.1.1 - 2023-06-15
697c8b1
- bigquery: allow SPLIT call with 1 argument (PR #1770 by @GeorgeSittas)0796cdc
- join using struct (commit by @tobymao)b13d0b9
- map "RETURNING" to its token in the base Tokenizer (PR #1773 by @GeorgeSittas)↘️ fixes issue #1771 opened by @LilyFoote
a2deee3
- parser: don't parse an alias for non-source UNNESTs (PR #1774 by @GeorgeSittas)0a1362b
- bigquery regexp_extract closes #1776 (commit by @tobymao)f84732e
- bigquery timestamp mapping (commit by @tobymao)
1dbed85
- optimizer: make the type annotator more dry (PR #1777 by @GeorgeSittas)
v16.1.0 - 2023-06-13
a4934cb
- add hint builder (PR #1758 by @GeorgeSittas)b87fa35
- add copy flag to replace_tables (commit by @tobymao)6cfc873
- snowflake: add support for // comments (PR #1765 by @GeorgeSittas)↘️ addresses issue #1763 opened by @florian-ernst-alan
146e66a
- select x.update (commit by @tobymao)2b46782
- json_object(*) closes #1757 (commit by @tobymao)0264b43
- limit offset multi arg order (commit by @tobymao)4fcdb0f
- tokenizer: improve tokenization of decimals ending in . (PR #1766 by @GeorgeSittas)↘️ fixes issue #1764 opened by @florian-ernst-alan
35d960a
- parser: disallow no paren functions when parsing table parts (PR #1767 by @GeorgeSittas)↘️ fixes issue #1762 opened by @florian-ernst-alan
5955b9e
- values inner alias snowflake closes #1768 (commit by @tobymao)0a9cecb
- Postgres: Support UNNEST (PR #1761 by @vegarsti)
46abf16
- simplify list comprehension in hint parser (commit by @GeorgeSittas)
v16.0.0 - 2023-06-12
-
due to
e00647a
- output name for parens (commit by @tobymao):output name for parens
-
due to
2dd8cba
- misc. improvements in formatting, type hints, dialect class variables (PR #1750 by @GeorgeSittas):misc. improvements in formatting, type hints, dialect class variables (#1750)
-
due to
a233afa
- bigquery cast date format closes #1753 (commit by @tobymao):bigquery cast date format closes #1753
99c41d9
- clickhouse: support CREATE VIEW TO syntax (PR #1752 by @pkit)e00647a
- output name for parens (commit by @tobymao)
48ad1f1
- bigquery table with hyphen number (commit by @tobymao)68b9128
- index using closes #1751 (commit by @tobymao)55a14a3
- selecting from table with same name as cte (commit by @tobymao)7000a6f
- presto offset limit order closes #1754 (commit by @tobymao)1553bfa
- count with multiple args closes #1755 (commit by @tobymao)a233afa
- bigquery cast date format closes #1753 (commit by @tobymao)
2dd8cba
- misc. improvements in formatting, type hints, dialect class variables (PR #1750 by @GeorgeSittas)
v15.2.0 - 2023-06-09
-
due to
c6a540c
- store type dump so it is not reparsed (commit by @tobymao):store type dump so it is not reparsed
e028d98
- redshift,presto: transpile FROM_BASE to STRTOL and vice versa (PR #1744 by @GeorgeSittas)↘️ addresses issue #1742 opened by @pangyifish
bb1f1a0
- redshift,presto: transpile DATEADD, DATEDIFF to presto (PR #1746 by @GeorgeSittas)↘️ addresses issue #1745 opened by @pangyifish
9b56fc9
- add ts_or_ds to postgres (commit by @tobymao)0cc09cf
- is true for presto closes #1740 (commit by @tobymao)6168fbf
- redshift len->length closes #1741 (commit by @tobymao)824fcb2
- bigquery table with hyphen number (commit by @tobymao)
d2e46c3
- fix README example (commit by @GeorgeSittas)c6a540c
- store type dump so it is not reparsed (commit by @tobymao)
v15.1.0 - 2023-06-07
-
due to
6ad00ca
- convert left and right closes #1733 (commit by @tobymao):convert left and right closes #1733
5867fc4
- postgres: add support for all range/multirange types (PR #1718 by @GeorgeSittas)dd29f3f
- presto: transpile 'epoch' to '1970-01-01 00:00:00' in time-like casts (PR #1726 by @GeorgeSittas)↘️ addresses issue #1725 opened by @pangyifish
4f31a50
- clickhouse backslash str escape closes #1719 (commit by @tobymao)95f7ac7
- bigquery: treat HASH as a reserved keyword (PR #1721 by @GeorgeSittas)cad14bd
- conditionally quote identifiers that start with a digit (PR #1729 by @GeorgeSittas)e058513
- ensure pivot can be used as a table name (PR #1734 by @GeorgeSittas)be0de6e
- window sql gen closes #1739 (commit by @tobymao)
1eb338a
- optimizer: fix pushdown_predicates comment example (PR #1732 by @GeorgeSittas)a30a828
- cleanup identifer (commit by @tobymao)
v15.0.0 - 2023-06-02
24d44ad
- schema: allow passing kwargs in ensure_schema (PR #1706 by @GeorgeSittas)1b1d9f2
- mysql: add support for the UNIQUE KEY constraint (PR #1708 by @GeorgeSittas)17dc0e1
- duckdb: add support for simplified pivot syntax (PR #1714 by @GeorgeSittas)↘️ addresses issue #1712 opened by @csubhodeep
ec7c863
- ensure maybe parse doesn't get none (commit by @tobymao)5f45e18
- teradata partition order (PR #1696 by @tobymao)764ce6f
- clear errors on schema parse closes #1698 (commit by @tobymao)a9e1483
- Minor Dataframe cleanup (PR #1700 by @eakmanrq)264e9d7
- make error message more robust (commit by @tobymao)da17c4d
- snowflake object_construct to struct closes #1699 (commit by @tobymao)2792eaa
- bigquery record -> struct (commit by @tobymao)6045b74
- allow type column ops for bigquery (commit by @tobymao)910166c
- set quote_identifiers in qualify, add normalize flag in schema (PR #1701 by @GeorgeSittas)611c234
- parse query modifiers for ddl selects (PR #1703 by @GeorgeSittas)6833823
- duckdb: transpile DATE_SUB into a subtraction (PR #1705 by @GeorgeSittas)↘️ fixes issue #1704 opened by @muscovitebob
dd5457c
- schema: ensure the correct dialect is used in schema methods (PR #1710 by @GeorgeSittas)92dbace
- interval preceding closes #1715 (commit by @tobymao)
12d3cca
- schema: replace _ensure_table with exp.maybe_parse (PR #1709 by @GeorgeSittas)5d6fbfe
- factor out the the name sequence generation logic (PR #1716 by @GeorgeSittas)
810522b
- fix return type of and_, or_ methods (commit by @GeorgeSittas)c2c955c
- make exception less broad (commit by @tobymao)e7abaef
- cleanup (commit by @tobymao)223c58d
- fix tests (commit by @tobymao)
v14.1.1 - 2023-05-26
v14.1.0 - 2023-05-26
-
due to
a6fdd59
- improve python type hints (PR #1689 by @GeorgeSittas):improve python type hints (#1689)
964b04c
- allow optimizer to handle non unionables (commit by @tobymao)7771609
- redshift type (commit by @tobymao)543b565
- raw strings bigquery escape closes #1691 (PR #1694 by @tobymao)fbf5f47
- create index with order closes #1692 (commit by @tobymao)8465a77
- clickhouse: allow aliases in tuple function arguments (PR #1695 by @GeorgeSittas)
a6fdd59
- improve python type hints (PR #1689 by @GeorgeSittas)6cce5fc
- make bigquery hex less lenient (commit by @tobymao)
v14.0.0 - 2023-05-24
-
due to
267ea8f
- cleanup unnecessary tokens (PR #1688 by @tobymao):cleanup unnecessary tokens (#1688)
-
due to
e995ab0
- use maybe_parse in exp.to_table, fix exp.Table expression parser (PR #1684 by @GeorgeSittas):use maybe_parse in exp.to_table, fix exp.Table expression parser (#1684)
a392114
- databricks: add support for GENERATED ALWAYS AS (expr) clause (PR #1686 by @GeorgeSittas)1cb9614
- implement transform to add column names to recursive CTEs (PR #1687 by @GeorgeSittas)
c567a0b
- snowflake: preserve TIME type instead of converting it to TIMESTAMP (PR #1685 by @GeorgeSittas)↘️ fixes issue #1682 opened by @wedotech-ashley
e995ab0
- use maybe_parse in exp.to_table, fix exp.Table expression parser (PR #1684 by @GeorgeSittas)
v13.3.1 - 2023-05-23
ea130b4
- add dot to executor closes #1676 (commit by @tobymao)b875aa4
- executor: add strftime (PR #1679 by @GeorgeSittas)
129931b
- snowflake: allow 2nd argument in initcap (PR #1670 by @GeorgeSittas)1a88b17
- parser: add asc, desc to id var tokens (PR #1671 by @GeorgeSittas)be5217d
- teradata: improve post index property parsing (PR #1675 by @GeorgeSittas)↘️ fixes issue #1674 opened by @MarkBell920
903dde0
- replace between before normalization (commit by @tobymao)1de5684
- tokenizer: initialize self._col properly to avoid edge case (PR #1678 by @GeorgeSittas)17be003
- start and end of tokens now respect quotes closes #1677 (commit by @tobymao)
v13.3.0 - 2023-05-19
-
due to
8c9e5ec
- multi threading issues with simplify (commit by @tobymao):multi threading issues with simplify
v13.2.2 - 2023-05-19
v13.2.1 - 2023-05-19
e7f6455
- executor: add support for qualified table references (PR #1659 by @GeorgeSittas)↘️ addresses issue #1657 opened by @wmaiouiru
3f2f4df
- redshift: handle VALUES clause more robustly (PR #1654 by @GeorgeSittas)da51f1e
- cast to boolean closes #1658 (commit by @tobymao)2cefcaa
- add exp.Neg to UNWRAPPED_INTERVAL_VALUES (PR #1662 by @GeorgeSittas)↘️ fixes issue #1660 opened by @joshmarcus
7130db0
- lineage: remove unnecessary optimization (PR #1663 by @GeorgeSittas)cfbadfa
- optimizer: expand refs in QUALIFY into corresponding projections (PR #1665 by @GeorgeSittas)↘️ fixes issue #1661 opened by @homebase3
19a56d9
- explain versioning system in README (PR #1652 by @GeorgeSittas)862deab
- snowflake: remove select_sql and values_sql as the bug was resolved (PR #1653 by @GeorgeSittas)
v13.2.0 - 2023-05-18
v13.1.0 - 2023-05-18
f88ea48
- snowflake: add support for GEOGRAPHY, GEOMETRY types (PR #1640 by @GeorgeSittas)↘️ fixes issue #1639 opened by @dlouseiro
6d04523
- Spark table format vs file format (PR #1644 by @barakalon)6f9d531
- postgres, redshift: use single string interval logic (PR #1651 by @GeorgeSittas)↘️ fixes issue #1649 opened by @ibestvina
72c5995
- interval execution closes #1650 (commit by @tobymao)c4ef23c
- clickhouse: absorb _parse_ternary logic in _parse_conjunction (PR #1646 by @GeorgeSittas)↘️ fixes issue #1645 opened by @ArtjomKotkov
1d1c0d7
- issue a warning if version can't be imported (PR #1648 by @GeorgeSittas)
v13.0.2 - 2023-05-16
cc7a5de
- ensure unit is a var in parse_date_delta (PR #1637 by @GeorgeSittas)
b9140b6
- CI/CD: make it so that deployment only requires tag push (PR #1638 by @GeorgeSittas)
v13.0.1 - 2023-05-16
8610298
- snowflake: add support for the CLONE clause in DDL statements (PR #1627 by @GeorgeSittas)50025ea
- clickhouse: add support for clickhouse's placeholders (PR #1628 by @GeorgeSittas)4b1aa02
- optimizer: optimize pivots (PR #1617 by @GeorgeSittas)13a731a
- snowflake: translate [CHAR|NCHAR] VARYING into VARCHAR (PR #1634 by @GeorgeSittas)06d6990
- snowflake: translate CHARACTER VARYING into VARCHAR too (commit by @GeorgeSittas)c01edb0
- create builders for the INSERT statement (PR #1630 by @GeorgeSittas)
99532d9
- tablesample losing db closes #1629 (commit by @tobymao)409f13d
- missing from comment and spacing closes #1631 (commit by @tobymao)bba360c
- clickhouse: map ApproxDistinct to uniq, AnyValue to any (PR #1635 by @GeorgeSittas)↘️ fixes issue #1633 opened by @ewjoachim
v13.0.0 - 2023-05-15
31a82cc
- add math associativity simplification (commit by @tobymao)a973113
- reparse bigquery nested identifiers (commit by @tobymao)a33112f
- bigquery: allow first part of table names to contain dashes (PR #1624 by @GeorgeSittas)
0acfaf7
- clickhouse settings and format closes #1605 closes #1604 (commit by @tobymao)b5f0abc
- global join clickhouse closes #1606 (commit by @tobymao)d92964b
- clickhouse attach command closes #1608 (commit by @tobymao)72f1984
- clickhouse cast to string closes #1607 (commit by @tobymao)2f34d6f
- clickhouse group by with totals closes #1609 (commit by @tobymao)b75b006
- clickhouse paramaterized func closes #1610 (commit by @tobymao)4601831
- join/pivot/lateral order and simplify (commit by @tobymao)29e5af2
- remove unconditional expression copy (PR #1611 by @tobymao)a67b2de
- clickhouse: join type/kind ordering issues (PR #1614 by @pkit)6875d07
- clickhouse:USING
allows unwrapped col list (PR #1615 by @pkit)2f7473b
- presto sequence to unnest closes #1600 (commit by @tobymao)966dfbb
- tokenizer: avoid edge case bug in the trie lookup loop (PR #1619 by @GeorgeSittas)4833953
- simplify from to a single expression closes #1620 (PR #1620 by @tobymao)bc0b021
- allow identifier params. (commit by @tobymao)
v12.4.0 - 2023-05-12
f585eef
- clickhouse: parse ternary operator (PR #1603 by @GeorgeSittas)↘️ addresses issue #1602 opened by @ArtjomKotkov
41b90be
- snowflake: Handle form of CONVERT_TIMEZONE with a source TZ (PR #1598 by @pmsanford)4dd413b
- expand alias refs was buggy and did the samething expand lateral… (PR #1599 by @tobymao)
v12.2.0 - 2023-05-09
1fa8ae9
- sqlite primary key transforms closes #1557 (commit by @tobymao)fb819f0
- optimizer: expand join constructs into SELECT * from subqueries (PR #1560 by @GeorgeSittas)↘️ addresses issue #1554 opened by @SudarshanVS
e173dd5
- improve tokenizer perf significantly on sql with many strings (commit by @tobymao)c9103fe
- Clickhouse: Support large data types (PR #1568 by @matthax)
34b6038
- bigquery conversion without table alias (commit by @tobymao)6124d0c
- bigquery select distinct as struct (commit by @tobymao)54a7637
- postgres exponent precedence closes #1555 (commit by @tobymao)ac60698
- array_join -> concat_ws closes #1558 (commit by @tobymao)79a478e
- comments refactor closes #1561 (commit by @tobymao)7b09bff
- options inside of bigquery struct closes #1562 (commit by @tobymao)4f0b3ed
- bigquery date_part WEEK(WEEKDAY) closes #1563 (commit by @tobymao)4744742
- presto, spark: remove WITHIN GROUP when transpiling percentile_[cont|disc] (PR #1565 by @GeorgeSittas)23cf246
- need to differentiate between peek and curr tokenizers (commit by @tobymao)9f13b6c
- base64 closes #1567 (commit by @tobymao)bcfae2c
- subquery selects (PR #1569 by @barakalon)34d99ab
- spark: unqualify columns in PIVOT expressions (PR #1572 by @GeorgeSittas)e1713f3
- preserve quotes in aliases (commit by @tobymao)fa0f3a1
- allow any identifier as name when parsing a struct field (PR #1573 by @GeorgeSittas)
951d407
- preserve the full text of hex/bin literals (PR #1552 by @GeorgeSittas)5bbb7e8
- simplify tokenizer alnum logic (PR #1570 by @GeorgeSittas)
c580cb3
- update README optimizer example (commit by @GeorgeSittas)
v12.1.0 - 2023-05-05
0b46fa6
- remove bigquery workaround for values type inference (commit by @tobymao)dfae784
- sqlite no table options closes #1553 (commit by @tobymao)aef9cfa
- double json spark closes #1547 (commit by @tobymao)
v12.0.0 - 2023-05-04
862cbeb
- Use alternative transform for dialects that do not support distinct on (PR #1524 by @crericha)52c80e0
- Support regex function in Starrocks (PR #1528 by @acreux)00b4779
- spark: new Spark2 dialect, improve DATEDIFF sql generation BREAKING (PR #1529 by @GeorgeSittas)e2593ba
- Add BYTES type to BigQuery dialect (PR #1536 by @relud)911e4e9
- distinct on builder (commit by @tobymao)
5c26f56
- windowspec generator (commit by @tobymao)e7111ba
- trino: wrap SEQUENCE in an UNNEST call if used as a source (PR #1527 by @GeorgeSittas)3d964c6
- use preprocess instead of expanding transform dicts BREAKING (PR #1525 by @GeorgeSittas)5fc27d3
- trim with double pipes (commit by @tobymao)9778c16
- create table options for bigquery closes #1531 (commit by @tobymao)55dc509
- bigquery: allow 2nd argument for PERCENTILE_[CONT|DISC] (PR #1537 by @GeorgeSittas)5c59747
- qualifying correlated subqueries (commit by @tobymao)19c0490
- parse unnest array type closes #1532 (commit by @tobymao)51ca411
- expand laterals first if no schema is present (commit by @tobymao)abfbce2
- bigquery udf existing func clash closes #1535 (commit by @tobymao)444dd94
- Spark: Add DOUBLE, FLOAT cast functions (PR #1530 by @vegarsti)0578d6d
- oracle: allow parsing of @dblink in table names (PR #1540 by @GeorgeSittas)b7e08cc
- duckdb: parse DATEDIFF correctly (PR #1546 by @GeorgeSittas)f21abb7
- oracle: set post_tablesample_alias=True to fix alias parsing (PR #1548 by @GeorgeSittas)8ebba48
- binary_double/float types closes #1543 (commit by @tobymao)2a6a3e7
- make some SQL builders pure (PR #1526 by @GeorgeSittas)99310c4
- duckdb: remove parentheses from CurrentTimestamp, CurrentDate (PR #1551 by @GeorgeSittas)↘️ fixes issue #1550 opened by @BTheunissen
a113685
- spark: cast UnixToTime to TIMESTAMP BREAKING (PR #1549 by @GeorgeSittas)↘️ fixes issue #1545 opened by @joshmarcus
v11.7.0 - 2023-05-02
20cacba
- tsql, oracle: add support for NEXT VALUE FOR clause (PR #1521 by @GeorgeSittas)96bb150
- builder methods for basic ops (PR #1516 by @tobymao)e11a5ce
- add case when change func to parse BREAKING (commit by @tobymao)455b9e9
- oracle: support KEEP (.. [FIRST|LAST] ..) window function syntax (PR #1522 by @GeorgeSittas)
94fed8c
- call _parse_bitwise as a fallback for nested type args (PR #1515 by @GeorgeSittas)52ab03d
- array with method calls (commit by @tobymao)c3db2b8
- allow parsing 'if' as an identifier (PR #1517 by @GeorgeSittas)
d5d360a
- Remove older CHANGELOG entries and let CI handle it from now on (commit by @GeorgeSittas)
v11.6.3 - 2023-05-01
80287dd
- presto: transpile explode/posexplode into (cross join) unnest (PR #1501 by @GeorgeSittas)
efd8c05
- redshift doesn't support locks (commit by @tobymao)f4ece7c
- comment after paren closes #1504 (commit by @tobymao)85b2c00
- postgres doesn't support plural interval closes #1503 (commit by @tobymao)2e0eee6
- postgres date_part type closes #1506 (commit by @tobymao)2dcbc7f
- tsql hashbytes closes #1508 (commit by @tobymao)5347c7a
- change str to Expression in alias_ isinstance check (PR #1510 by @GeorgeSittas)f137815
- BigQueryTIMESTAMP
andTIMESTAMPTZ
types (PR #1511 by @plaflamme)6143491
- allow $ to appear in postgres/redshift identifiers (PR #1512 by @GeorgeSittas)
adc526c
- add note about conventional commit naming in CONTRIBUTING.md (commit by @GeorgeSittas)9421650
- set action for automatic conventional changelog generation (PR #1513 by @GeorgeSittas)