NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #375 most downloaded on PyPI
An easily customizable SQL parser and transpiler
Last release today
22 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 53 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
6 years old
782 releases · first in 2021
One column per quarter.
due to `7b180bd` - raise if query modifier is specified multiple times *(PR #5608 by @georgesittas)*:
due to 7b180bd - raise if query modifier is specified multiple times (PR #5608 by @georgesittas):
raise if query modifier is specified multiple times (#5608)
due to 36602a2 - parse LIST_FILTER into ArrayFilter closes #5633 (commit by @georgesittas):
parse LIST_FILTER into ArrayFilter closes #5633
due to 0188d21 - parse LIST_TRANSFORM into Transform closes #5634 (commit by @georgesittas):
parse LIST_TRANSFORM into Transform closes #5634
due to 3ab1d44 - Wrap CONCAT items with COALESCE less aggressively (PR #5641 by @VaggelisD):
Wrap CONCAT items with COALESCE less aggressively (#5641)
due to af0b299 - Qualify columns generated by exp.Aliases (PR #5647 by @VaggelisD):
Qualify columns generated by exp.Aliases (#5647)
due to 53aa8fe - support alter table with check closes #5649 (commit by @georgesittas):
support alter table with check closes #5649
due to 1a60a5a - Added parsing/generation of JSON_ARRAY_CONTAINS function (PR #5661 by @AdalbertMemSQL):
Added parsing/generation of JSON_ARRAY_CONTAINS function (#5661)
due to e0db0a9 - add parse and annotate type for bigquery FARM_FINGERPRINT (PR #5667 by @geooo109):
add parse and annotate type for bigquery FARM_FINGERPRINT (#5667)
due to 56588c7 - Add support for vector_search function. Move predict to BigQuery dialect. (PR #5660 by @rloredo):
Add support for vector_search function. Move predict to BigQuery dialect. (#5660)
due to a688a0f - parse and annotate type for bigquery APPROX_TOP_COUNT (PR #5670 by @geooo109):
parse and annotate type for bigquery APPROX_TOP_COUNT (#5670)
due to 3c93fcc - parse and annotate type for bigquery APPROX_TOP_SUM (PR #5675 by @geooo109):
parse and annotate type for bigquery APPROX_TOP_SUM (#5675)
due to 741d45a - parse and annotate type for bigquery FROM/TO_BASE32 (PR #5676 by @geooo109):
parse and annotate type for bigquery FROM/TO_BASE32 (#5676)
due to 9ae045c - parse and annotate type for bigquery FROM_HEX (PR #5679 by @geooo109):
parse and annotate type for bigquery FROM_HEX (#5679)
due to 5a22a25 - annotate type for bigquery TO_HEX (PR #5680 by @geooo109):
annotate type for bigquery TO_HEX (#5680)
due to 5c1eb2d - parse and annotate type for bq PARSE_BIG/NUMERIC (PR #5690 by @geooo109):
parse and annotate type for bq PARSE_BIG/NUMERIC (#5690)
due to 311373d - parse and annotate type for bq CODE_POINTS_TO_BYTES (PR #5686 by @geooo109):
parse and annotate type for bq CODE_POINTS_TO_BYTES (#5686)
due to 79d9de1 - parse and annotate type for bq TO_CODE_POINTS (PR #5685 by @geooo109):
parse and annotate type for bq TO_CODE_POINTS (#5685)
due to 5df3ea9 - parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING (PR #5681 by @geooo109):
parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING (#5681)
due to c832746 - parse and annotate type for bigquery APPROX_QUANTILES (PR #5678 by @geooo109):
parse and annotate type for bigquery APPROX_QUANTILES (#5678)
due to 99e169e - parse and annotate type for bq BOOL (PR #5697 by @geooo109):
parse and annotate type for bq BOOL (#5697)
due to 3f31770 - parse and annotate type for bq FLOAT64 (PR #5700 by @geooo109):
parse and annotate type for bq FLOAT64 (#5700)
02e60e7 - singlestore: desugarize DAYNAME into DATE_FORMAT (PR #5610 by @AdalbertMemSQL)7b180bd - parser: raise if query modifier is specified multiple times (PR #5608 by @georgesittas)
442eafc - singlestore: Added parsing of HOUR function (PR #5612 by @AdalbertMemSQL)5320359 - singlestore: Added parsing of MICROSECOND function (PR #5619 by @AdalbertMemSQL)db1db97 - doris: update exp.UniqueKeyProperty SQL generation logic (PR #5613 by @xinge-ji)54623a6 - singlestore: Added parsing of MINUTE function (PR #5620 by @AdalbertMemSQL)565c9f8 - singlestore: Added generation of DAYOFWEEK_ISO function (PR #5627 by @AdalbertMemSQL)8db916e - singlestore: Added parsing of WEEKDAY function (PR #5624 by @AdalbertMemSQL)aa6274a - singlestore: Fixed generation of DAY_OF_MONTH function (PR #5629 by @AdalbertMemSQL)dee44b8 - singlestore: Added parsing of MONTHNAME function (PR #5623 by @AdalbertMemSQL)deebf0c - singlestore: Added parsing of SECOND function (PR #5621 by @AdalbertMemSQL)12a60b9 - singlestore: Removed redundant deletions from TRANSFORMS (PR #5632 by @AdalbertMemSQL)36602a2 - duckdb: parse LIST_FILTER into ArrayFilter closes #5633 (commit by @georgesittas)0188d21 - duckdb: parse LIST_TRANSFORM into Transform closes #5634 (commit by @georgesittas)b117d59 - dremio: add dremio date_add and date_sub parsing (PR #5617 by @jasonthomassql)999b9e7 - singlestore: Changed generation of exp.TsOrDsToDate to handle case when format is not provided (PR #5639 by @AdalbertMemSQL)b556e97 - singlestore: Marked exp.All as unsupported (PR #5640 by @AdalbertMemSQL)c076694 - clickhouse: support custom partition key expressions (PR #5645 by @GaliFFun)cab62b0 - doris: add support for BUILD and REFRESH properties in materialized view (PR #5614 by @xinge-ji)af0b299 - optimizer: Qualify columns generated by exp.Aliases (PR #5647 by @VaggelisD)
981e0e7 - doris: add support for PARTITION BY LIST (PR #5615 by @xinge-ji)53aa8fe - tsql: support alter table with check closes #5649 (commit by @georgesittas)23cac6c - exasol: Add support for GROUP_CONCAT and LISTAGG functions (PR #5646 by @nnamdi16)d087ac8 - bigquery: Add support for ml.generate_embedding function (PR #5652 by @rloredo)e71bcb5 - dremio: support array_generate_range (PR #5653 by @jasonthomassql)edbd04b - singlestore: Fixed generation of exp.RegexpLike (PR #5663 by @AdalbertMemSQL)4992edb - singlestore: Fixed exp.Xor generation (PR #5662 by @AdalbertMemSQL)20de3d3 - singlestore: Fixed parsing/generation of exp.Hll (PR #5664 by @AdalbertMemSQL)1a60a5a - singlestore: Added parsing/generation of JSON_ARRAY_CONTAINS function (PR #5661 by @AdalbertMemSQL)f662dc0 - singlestore: Fixed generation of exp.ApproxDistinct (PR #5666 by @AdalbertMemSQL)e0db0a9 - optimizer: add parse and annotate type for bigquery FARM_FINGERPRINT (PR #5667 by @geooo109)dcd4ef7 - singlestore: Fixed exp.CountIf generation (PR #5668 by @AdalbertMemSQL)e431e85 - singlestore: Fixed generation of exp.LogicalOr (PR #5669 by @AdalbertMemSQL)56588c7 - bigquery: Add support for vector_search function. Move predict to BigQuery dialect. (PR #5660 by @rloredo)f0d2cc2 - singlestore: Fixed generation of exp.LogicalAnd (PR #5671 by @AdalbertMemSQL)a688a0f - optimizer: parse and annotate type for bigquery APPROX_TOP_COUNT (PR #5670 by @geooo109)fa8d571 - singlestore: Fixed generation/parsing of exp.ApproxQuantile (PR #5672 by @AdalbertMemSQL)9955ebe - singlestore: Fixed parsing/generation of exp.Variance (PR #5673 by @AdalbertMemSQL)3c93fcc - optimizer: parse and annotate type for bigquery APPROX_TOP_SUM (PR #5675 by @geooo109)60cbb9d - dremio: add CURRENT_DATE_UTC (PR #5674 by @jasonthomassql)
741d45a - optimizer: parse and annotate type for bigquery FROM/TO_BASE32 (PR #5676 by @geooo109)9ae045c - optimizer: parse and annotate type for bigquery FROM_HEX (PR #5679 by @geooo109)5a22a25 - optimizer: annotate type for bigquery TO_HEX (PR #5680 by @geooo109)d920ac3 - singlestore: Fixed parsing/generation of exp.RegexpExtractAll (PR #5692 by @AdalbertMemSQL)260c72b - singlestore: Fixed parsing/generation of exp.Contains (PR #5684 by @AdalbertMemSQL)081dc67 - singlestore: Fixed generaion/parsing of exp.VariancePop (PR #5682 by @AdalbertMemSQL)eb538bf - singlestore: Fixed generation of exp.Chr (PR #5683 by @AdalbertMemSQL)32d9dd1 - singlestore: Fixed exp.MD5Digest generation (PR #5688 by @AdalbertMemSQL)5c1eb2d - optimizer: parse and annotate type for bq PARSE_BIG/NUMERIC (PR #5690 by @geooo109)6f88500 - singlestore: Fixed exp.IsAscii generation (PR #5687 by @AdalbertMemSQL)311373d - optimizer: parse and annotate type for bq CODE_POINTS_TO_BYTES (PR #5686 by @geooo109)79d9de1 - optimizer: parse and annotate type for bq TO_CODE_POINTS (PR #5685 by @geooo109)5df3ea9 - optimizer: parse and annotate type for bq SAFE_CONVERT_BYTES_TO_STRING (PR #5681 by @geooo109)c832746 - optimizer: parse and annotate type for bigquery APPROX_QUANTILES (PR #5678 by @geooo109)8fa5ae8 - singlestore: Fixed generation/parsing of exp.RegexpExtract (PR #5691 by @AdalbertMemSQL)d6d409a - singlestore: Fixed generaion of exp.Repeat (PR #5693 by @AdalbertMemSQL)b7db08b - singlestore: Fixed generation of exp.StartsWith (PR #5694 by @AdalbertMemSQL)87b04ef - singlestore: Fixed generation of exp.FromBase (PR #5695 by @AdalbertMemSQL)9c1d0fd - duckdb: transpile array unique aggregation closes #5689 (commit by @georgesittas)99e169e - optimizer: parse and annotate type for bq BOOL (PR #5697 by @geooo109)3f31770 - optimizer: parse and annotate type for bq FLOAT64 (PR #5700 by @geooo109)f1269f5 - tsql: do not attach limit modifier to set operation (PR #5609 by @georgesittas)a6edf8e - tsql: Remove ORDER from set op modifiers too (PR #5626 by @VaggelisD)
ce5840e - exasol: update several dialect properties to correctly reflect semantics (PR #5642 by @nnamdi16)3ab1d44 - generator: Wrap CONCAT items with COALESCE less aggressively (PR #5641 by @VaggelisD)045d2f0 - duckdb: Transpile Spark's FIRST(col, TRUE) (PR #5644 by @VaggelisD)
4c04c0c - use a valid SPDX identifier as license classifier (PR #5606 by @ecederstrand)249f638 - add table to document dialect support level (PR #5628 by @georgesittas)3357125 - doris: refactor unique key prop generation (PR #5625 by @georgesittas)545f1ac - Clean up of PR5614 (PR #5648 by @VaggelisD)due to `2a33339` - annotate type for bigquery REPLACE *(PR #5572 by @geooo109)*:
due to 2a33339 - annotate type for bigquery REPLACE (PR #5572 by @geooo109):
annotate type for bigquery REPLACE (#5572)
due to 1e6f813 - annotate type for bigquery REGEXP_EXTRACT_ALL (PR #5573 by @geooo109):
annotate type for bigquery REGEXP_EXTRACT_ALL (#5573)
due to d0d62ed - support TO_CHAR with numeric inputs (PR #5570 by @jasonthomassql):
support TO_CHAR with numeric inputs (#5570)
due to 7928985 - allow dashes in JSONPath keys (PR #5574 by @georgesittas):
allow dashes in JSONPath keys (#5574)
due to eb09e6e - parse and annotate type for bigquery TRANSLATE (PR #5575 by @geooo109):
parse and annotate type for bigquery TRANSLATE (#5575)
due to f9a522b - parse and annotate type for bigquery SOUNDEX (PR #5576 by @geooo109):
parse and annotate type for bigquery SOUNDEX (#5576)
due to 51da41b - annotate type for bigquery MD5 (PR #5577 by @geooo109):
annotate type for bigquery MD5 (#5577)
due to bcf302f - annotate type for bigquery MIN/MAX BY (PR #5579 by @geooo109):
annotate type for bigquery MIN/MAX BY (#5579)
due to c501d9e - parse and annotate type for bigquery GROUPING (PR #5581 by @geooo109):
parse and annotate type for bigquery GROUPING (#5581)
2a33339 - optimizer: annotate type for bigquery REPLACE (PR #5572 by @geooo109)1e6f813 - optimizer: annotate type for bigquery REGEXP_EXTRACT_ALL (PR #5573 by @geooo109)eb09e6e - optimizer: parse and annotate type for bigquery TRANSLATE (PR #5575 by @geooo109)f9a522b - optimizer: parse and annotate type for bigquery SOUNDEX (PR #5576 by @geooo109)51da41b - optimizer: annotate type for bigquery MD5 (PR #5577 by @geooo109)bcf302f - optimizer: annotate type for bigquery MIN/MAX BY (PR #5579 by @geooo109)c501d9e - optimizer: parse and annotate type for bigquery GROUPING (PR #5581 by @geooo109)8612825 - spark: generate date/time ops as interval binary ops (commit by @georgesittas)8fda774 - singlestore: Added parsing and generation of JSON_EXTRACT (PR #5555 by @AdalbertMemSQL)82cc954 - exasol: map div function to IntDiv in exasol dialect (PR #5593 by @nnamdi16)eb0fe68 - trino: add JSON_VALUE function support with RETURNING clause (PR #5590 by @rev-rwasilewski)9e95c11 - exasol: mapped weekofyear to week in Exasol dialect (PR #5594 by @nnamdi16)8f013c3 - singlestore: Fixed parsing of DATE function (PR #5601 by @AdalbertMemSQL)a4a299a - transpile TO_CHAR from Dremio to Databricks (PR #5598 by @jasonthomassql)093f35c - dremio: handle DATE_FORMAT, TO_DATE, and TO_TIMESTAMP (PR #5597 by @jasonthomassql)d0d62ed - dremio: support TO_CHAR with numeric inputs (PR #5570 by @jasonthomassql)7928985 - bigquery: allow dashes in JSONPath keys (PR #5574 by @georgesittas)866042d - Remove TokenType.APPLY from table alias tokens (PR #5592 by @VaggelisD)
b485f66 - dremio: improve TO_CHAR transpilability (PR #5580 by @jasonthomassql)81874e9 - handle unknown types in unit_to_str (commit by @georgesittas)173e442 - refactor JSON_VALUE handling for MySQL and Trino (commit by @georgesittas)due to `938f4b6` - annotate type for LAST_DAY *(PR #5528 by @geooo109)*:
due to 938f4b6 - annotate type for LAST_DAY (PR #5528 by @geooo109):
annotate type for LAST_DAY (#5528)
due to 7d12dac - annotate type for bigquery GENERATE_TIMESTAMP_ARRAY (PR #5529 by @geooo109):
annotate type for bigquery GENERATE_TIMESTAMP_ARRAY (#5529)
due to d50ebe2 - annotate type for bigquery TIME_TRUNC (PR #5530 by @geooo109):
annotate type for bigquery TIME_TRUNC (#5530)
due to 29748be - annotate type for bigquery TIME (PR #5531 by @geooo109):
annotate type for bigquery TIME (#5531)
due to 7003b3f - parse and annotate type for bigquery DATE_FROM_UNIX_DATE (PR #5532 by @geooo109):
parse and annotate type for bigquery DATE_FROM_UNIX_DATE (#5532)
due to a276ca6 - parse and annotate type for bigquery JUSTIFY funcs (PR #5534 by @geooo109):
parse and annotate type for bigquery JUSTIFY funcs (#5534)
due to 374178e - parse and annotate type for bigquery UNIX_MICROS and UNIX_MILLIS (PR #5535 by @geooo109):
parse and annotate type for bigquery UNIX_MICROS and UNIX_MILLIS (#5535)
due to 1d8d1ab - annotate type for bigquery DATE_TRUNC (PR #5540 by @geooo109):
annotate type for bigquery DATE_TRUNC (#5540)
due to 306ba65 - annotate type for bigquery TIMESTAMP_TRUNC (PR #5541 by @geooo109):
annotate type for bigquery TIMESTAMP_TRUNC (#5541)
due to d799c5a - preserve projection names when merging subqueries (commit by @snovik75):
preserve projection names when merging subqueries
due to 8130bd4 - WEEKDAY of WEEK as VAR (PR #5552 by @geooo109):
WEEKDAY of WEEK as VAR (#5552)
due to f3ffe19 - annotate type for bigquery format_time (PR #5559 by @geooo109):
annotate type for bigquery format_time (#5559)
due to 6872b43 - use dialect in DataType.build fixes #5560 (commit by @georgesittas):
use dialect in DataType.build fixes #5560
due to 3ab3690 - parse and annotate type for bigquery PARSE_DATETIME (PR #5558 by @geooo109):
parse and annotate type for bigquery PARSE_DATETIME (#5558)
due to e5da951 - parse and annotate type for bigquery PARSE_TIME (PR #5561 by @geooo109):
parse and annotate type for bigquery PARSE_TIME (#5561)
due to 798e213 - improve transpilability of ANY_VALUE closes #5563 (commit by @georgesittas):
improve transpilability of ANY_VALUE closes #5563
due to 8c0cb76 - more robust CREATE SEQUENCE (PR #5566 by @geooo109):
more robust CREATE SEQUENCE (#5566)
due to c7041c7 - parse and annotate type for bigquery BYTE_LENGHT (PR #5568 by @geooo109):
parse and annotate type for bigquery BYTE_LENGHT (#5568)
due to a6c61c3 - parse and annotate type for bigquery CODE_POINTS_TO_STRING (PR #5569 by @geooo109):
parse and annotate type for bigquery CODE_POINTS_TO_STRING (#5569)
due to 51e0335 - parse and annotate type for bigquery REVERSE (PR #5571 by @geooo109):
parse and annotate type for bigquery REVERSE (#5571)
1fb90db - teradata: Add support for Teradata set query band expression (PR #5519 by @treff7es)a49baaf - doris: Override table_sql to avoid AS keyword in UPDATE and DELETE statements (PR #5517 by @peterylh)75fd6d2 - exasol: Add support for date difference functions in Exasol dialect (PR #5510 by @nnamdi16)2a91bb4 - teradata: Add support for Teradata locking select (PR #5524 by @treff7es)938f4b6 - optimizer: annotate type for LAST_DAY (PR #5528 by @geooo109)7d12dac - optimizer: annotate type for bigquery GENERATE_TIMESTAMP_ARRAY (PR #5529 by @geooo109)d50ebe2 - optimizer: annotate type for bigquery TIME_TRUNC (PR #5530 by @geooo109)29748be - optimizer: annotate type for bigquery TIME (PR #5531 by @geooo109)7003b3f - optimizer: parse and annotate type for bigquery DATE_FROM_UNIX_DATE (PR #5532 by @geooo109)a276ca6 - optimizer: parse and annotate type for bigquery JUSTIFY funcs (PR #5534 by @geooo109)374178e - optimizer: parse and annotate type for bigquery UNIX_MICROS and UNIX_MILLIS (PR #5535 by @geooo109)1d8d1ab - optimizer: annotate type for bigquery DATE_TRUNC (PR #5540 by @geooo109)306ba65 - optimizer: annotate type for bigquery TIMESTAMP_TRUNC (PR #5541 by @geooo109)6a68cca - dremio: support lowercase TIME_MAPPING formats (PR #5556 by @jasonthomassql)f3ffe19 - optimizer: annotate type for bigquery format_time (PR #5559 by @geooo109)3ab3690 - optimizer: parse and annotate type for bigquery PARSE_DATETIME (PR #5558 by @geooo109)e5da951 - optimizer: parse and annotate type for bigquery PARSE_TIME (PR #5561 by @geooo109)902a0cd - singlestore: Added parsing/generation of UNIXTIME functions (PR #5562 by @AdalbertMemSQL)798e213 - duckdb: improve transpilability of ANY_VALUE closes #5563 (commit by @georgesittas)c7041c7 - optimizer: parse and annotate type for bigquery BYTE_LENGHT (PR #5568 by @geooo109)a6c61c3 - optimizer: parse and annotate type for bigquery CODE_POINTS_TO_STRING (PR #5569 by @geooo109)9020684 - nested natural join performance closes #5514 (PR #5515 by @tobymao)394870a - duckdb: transpile ADD_MONTHS (PR #5523 by @geooo109)
249692c - duckdb: put guard in AddMonths generator before annotating it (commit by @georgesittas)d799c5a - optimizer: preserve projection names when merging subqueries (commit by @snovik75)8130bd4 - parser: WEEKDAY of WEEK as VAR (PR #5552 by @geooo109)
4e1373f - doris: Rename Table (PR #5549 by @xinge-ji)16f544d - doris: fix DATE_TRUNC and partition by (PR #5553 by @xinge-ji)6295414 - convert unit to Var instead of choosing default in unit_to_var (commit by @georgesittas)6872b43 - parser: use dialect in DataType.build fixes #5560 (commit by @georgesittas)6f354d9 - clickhouse: add ROWS keyword in OFFSET followed by FETCH fixes #5564 (commit by @georgesittas)8c0cb76 - parser: more robust CREATE SEQUENCE (PR #5566 by @geooo109)
7e9df88 - doris: CURRENT_DATE (PR #5567 by @xinge-ji)51e0335 - optimizer: parse and annotate type for bigquery REVERSE (PR #5571 by @geooo109)720f634 - Fix style on main, refactor exasol tests (PR #5527 by @VaggelisD)5653501 - Refactor PR 5517 (PR #5526 by @VaggelisD)d15dfe3 - build type using dialect for bigquery (PR #5539 by @geooo109)Nothing published for this version
due to `6b691b3` - Parse and transpile GET(...) extract function *(PR #5500 by @VaggelisD)*:
due to 6b691b3 - Parse and transpile GET(...) extract function (PR #5500 by @VaggelisD):
Parse and transpile GET(...) extract function (#5500)
due to 964a275 - Make UNION column qualification recursive (PR #5508 by @VaggelisD):
Make UNION column qualification recursive (#5508)
6b691b3 - snowflake: Parse and transpile GET(...) extract function (PR #5500 by @VaggelisD)
a2a2f0f - exasol: Add support for IF, NULLIFZERO, and ZEROIFNULL functions (PR #5502 by @nnamdi16)2d8ce58 - singlestore: Added cast operator (PR #5504 by @AdalbertMemSQL)6256348 - exasol: add support for ADD_DAYS function in exasol dialect (PR #5507 by @nnamdi16)2f40fc5 - add more pseudocols to bq which are not expanded by star (PR #5509 by @z3z1ma)`caf71d6` - between builder should not set symmetric by default *(commit by @georgesittas)*
caf71d6 - between builder should not set symmetric by default (commit by @georgesittas)`18b7d0f` - fix deprecated 'license' specification format *(PR #5494 by @loonies)*
due to 002286e - remove AM/PM entries from postgres, oracle TIME_MAPPING (PR #5491 by @georgesittas):
remove AM/PM entries from postgres, oracle TIME_MAPPING (#5491)
due to ad78db6 - Refactor LIKE ANY and support ALL | SOME quantifiers (PR #5493 by @VaggelisD):
Refactor LIKE ANY and support ALL | SOME quantifiers (#5493)
8cdd9e8 - mysql: Parse UNIQUE INDEX constraint similar to UNIQUE KEY (PR #5489 by @VaggelisD)
787d167 - exasol: add support for REGEXP_SUBSTR in exasol dialect (PR #5487 by @nnamdi16)0963f60 - singlestore: Fixed time formatting (PR #5476 by @AdalbertMemSQL)488d2e4 - singlestore: Added RESERVED_KEYWORDS (PR #5497 by @AdalbertMemSQL)fad9992 - exasol: Add support for TRUNC, TRUNCATE and DATE_TRUNC function… (PR #5490 by @nnamdi16)ad78db6 - Refactor LIKE ANY and support ALL | SOME quantifiers (PR #5493 by @VaggelisD)
a7a6f16 - singlestore: Added Tokenizer (PR #5492 by @AdalbertMemSQL)3982653 - Do not consume BUCKET/TRUNCATE as partitioning keywords (PR #5488 by @VaggelisD)
002286e - remove AM/PM entries from postgres, oracle TIME_MAPPING (PR #5491 by @georgesittas)74f278a - optimizer: Fix SEMI/ANTI join handling in optimizer rules (PR #5498 by @VaggelisD)
42633fb - dont print (A)SYMMETRIC keyword in BETWEEN for postgres subclasses (PR #5503 by @georgesittas)`ba2b3e2` - bigquery: make exp.Array type inference more robust *(PR #5483 by @georgesittas)*
ba2b3e2 - bigquery: make exp.Array type inference more robust (PR #5483 by @georgesittas)due to `4f348bd` - store Query schemas in meta dict instead of type attr *(PR #5480 by @georgesittas)*:
due to 4f348bd - store Query schemas in meta dict instead of type attr (PR #5480 by @georgesittas):
store Query schemas in meta dict instead of type attr (#5480)
7961ece - exasol: Add support for HASH_SHA1 function (PR #5468 by @nnamdi16)406815d - exasol: support HASH_SHA1 (commit by @georgesittas)e6f4fc9 - sqlite: support ATTACH/DETACH DATABASE (PR #5469 by @geooo109)
8aa3498 - hive, spark: Add support for LOCATION in ADD PARTITION (PR #5472 by @VaggelisD)
44adfc0 - exasol: add HASH_MD5 functionality to exasol dialect (PR #5473 by @nnamdi16)05e1c4d - snowflake: Transpile BQ's STRUCT dot access (PR #5471 by @VaggelisD)3c5ecdf - exasol: Add HASHTYPE_MD5 functions to Exasol dialect (PR #5474 by @nnamdi16)1d640d2 - exasol: add support for HASH_SHA256 and HASH_SHA512 hashing (PR #5475 by @nnamdi16)e1819d6 - only strip kind from joins when it is inner|outer (PR #5477 by @themattmorris)
4f348bd - bigquery: store Query schemas in meta dict instead of type attr (PR #5480 by @georgesittas)due to `48703c4` - temporarily move VARCHAR length inference logic to Fabric *(commit by @georgesittas)*:
due to 48703c4 - temporarily move VARCHAR length inference logic to Fabric (commit by @georgesittas):
temporarily move VARCHAR length inference logic to Fabric
4cc321c - singlestore: Added initial implementation of SingleStore dialect (PR #5447 by @AdalbertMemSQL)48703c4 - tsql: temporarily move VARCHAR length inference logic to Fabric (commit by @georgesittas)due to `d7ccb48` - week/quarter support *(PR #5374 by @eakmanrq)*:
due to d7ccb48 - week/quarter support (PR #5374 by @eakmanrq):
week/quarter support (#5374)
due to b368fba - parse and annotate type for ASCII (PR #5377 by @geooo109):
parse and annotate type for ASCII (#5377)
due to 7f19b31 - annotate type for UNICODE (PR #5381 by @geooo109):
annotate type for UNICODE (#5381)
due to 9e8d3ab - Preserve struct-column parentheses for RisingWave dialect (PR #5376 by @MisterWheatley):
Added dialect as argument to simplify_parens function
simplify_parens optional.due to 3223e63 - cast datetimeoffset to datetime2 (PR #5385 by @mattiasthalen):
cast datetimeoffset to datetime2 (#5385)
due to 06cea31 - support KEY related locks (PR #5397 by @geooo109):
support KEY related locks (#5397)
due to 1014a67 - remove redundant todate in dayofweek closes #5398 (PR #5399 by @tobymao):
remove redundant todate in dayofweek closes #5398 (#5399)
due to b2631ae - annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (PR #5405 by @geooo109):
annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (#5405)
due to 5835b8d - make bracket parsing aware of duckdb MAP func (PR #5423 by @geooo109):
make bracket parsing aware of duckdb MAP func (#5423)
due to 489dc5c - parse and annotate type support for JSON_ARRAY (PR #5424 by @geooo109):
parse and annotate type support for JSON_ARRAY (#5424)
due to 0ed518c - annotate type for bigquery JSON_VALUE (PR #5427 by @geooo109):
annotate type for bigquery JSON_VALUE (#5427)
due to 6091617 - annotate type for bigquery JSON_VALUE_ARRAY (PR #5428 by @geooo109):
annotate type for bigquery JSON_VALUE_ARRAY (#5428)
due to 631c851 - parse and annotate type support for bigquery JSON_TYPE (PR #5430 by @geooo109):
parse and annotate type support for bigquery JSON_TYPE (#5430)
due to 6268f6f - add default precision to CHAR/VARCHAR create expressions (PR #5434 by @mattiasthalen):
add default precision to CHAR/VARCHAR create expressions (#5434)
due to 8467bad - add parsing/generating for BigQuery DECLARE (PR #5442 by @plaflamme):
add parsing/generating for BigQuery DECLARE (#5442)
due to 79c5c30 - transpile STRING_AGG (PR #5449 by @geooo109):
transpile STRING_AGG (#5449)
due to 190f8ab - improve BigQuery UNNEST transpilation (PR #5451 by @georgesittas):
improve BigQuery UNNEST transpilation (#5451)
due to 3590e75 - support ? placeholder (PR #5455 by @geooo109):
support ? placeholder (#5455)
due to cdbf595 - Wrap GET_PATH value with PARSE_JSON preemptively (PR #5458 by @VaggelisD):
Wrap GET_PATH value with PARSE_JSON preemptively (#5458)
due to bee82f3 - Remove UNKNOWN type from TRY_CAST (PR #5466 by @VaggelisD):
Remove UNKNOWN type from TRY_CAST (#5466)
b368fba - optimizer: parse and annotate type for ASCII (PR #5377 by @geooo109)7f19b31 - optimizer: annotate type for UNICODE (PR #5381 by @geooo109)f035bf0 - dremio: Add TIME_MAPPING for Dremio dialect (PR #5378 by @mateuszpoleski)31cfd0f - exasol: add to_date and refactored to_char functions with respect to time mapping (PR #5379 by @nnamdi16)bd3776e - doris: add PROPERTIES_LOCATION mapping for Doris dialect (PR #5391 by @xinge-ji)7eaa67a - doris: properly supported PROPERTIES and UNIQUE KEY table prop (commit by @georgesittas)1e78163 - duckdb: support column access via index (PR #5395 by @geooo109)
1014a67 - remove redundant todate in dayofweek closes #5398 (PR #5399 by @tobymao)be52f78 - exasol: add support for CONVERT_TZ function (PR #5401 by @nnamdi16)d637161 - exasol: add mapping to TIME_TO_STR in exasol dialect (PR #5403 by @nnamdi16)b2631ae - optimizer: annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (PR #5405 by @geooo109)b81ae62 - exasol: map STR_TO_TIME to TO_DATE and (PR #5407 by @nnamdi16)c2fb9ab - add DateStrToTime (PR #5409 by @betodealmeida)a95993a - snowflake: improve transpilation of queries with UNNEST sources (PR #5408 by @georgesittas)7b69f54 - snowflake: Support SEMANTIC_VIEW (PR #5414 by @VaggelisD)
7dba6f6 - exasol: map AT TIME ZONE to CONVERT_TZ (PR #5416 by @nnamdi16)25f2c1b - postgres: query placeholders (PR #5415 by @geooo109)
c309c87 - doris: support range partitioning (PR #5402 by @xinge-ji)394d3a8 - dremio: Add support for DATE_ADD and DATE_SUB (PR #5411 by @mateuszpoleski)9cfac4f - doris: enhance partitioning support (PR #5421 by @xinge-ji)a018bea - exasol: mapped exp.CurrentUser to exasol CURRENT_USER (PR #5422 by @nnamdi16)489dc5c - optimizer: parse and annotate type support for JSON_ARRAY (PR #5424 by @geooo109)0ed518c - optimizer: annotate type for bigquery JSON_VALUE (PR #5427 by @geooo109)6091617 - optimizer: annotate type for bigquery JSON_VALUE_ARRAY (PR #5428 by @geooo109)631c851 - optimizer: parse and annotate type support for bigquery JSON_TYPE (PR #5430 by @geooo109)732548f - postgresql: add support for table creation DDL that contains a primary key alongside the INCLUDE keyword (PR #5425 by @amosbiras)9f887f1 - Add support for BETWEEN flags (PR #5435 by @mateuszpoleski)edef00a - duckdb: Add reset command for duckdb (PR #5448 by @themisvaltinos)6268f6f - tsql: add default precision to CHAR/VARCHAR create expressions (PR #5434 by @mattiasthalen)bbf26e9 - mysql: Add support for SELECT DISTINCTROW (PR #5446 by @VaggelisD)
8467bad - add parsing/generating for BigQuery DECLARE (PR #5442 by @plaflamme)190f8ab - improve BigQuery UNNEST transpilation (PR #5451 by @georgesittas)dbef44d - exasol: mapped STRPOS to INSTR in exasol dialect (PR #5454 by @nnamdi16)010c34c - support DESC SEMANTIC VIEW (PR #5452 by @betodealmeida)9795021 - exasol: transformed column comments (PR #5464 by @nnamdi16)4c5b687 - snowflake: transpile IS <boolean> (IS can only be used with NULL) (PR #5467 by @georgesittas)d7ccb48 - duckdb: week/quarter support (PR #5374 by @eakmanrq)252469d - snowflake: transpile bigquery CURRENT_DATE with timezone (PR #5387 by @geooo109)7511853 - postgres: add XML type (PR #5396 by @geooo109)
9e8d3ab - optimizer: Preserve struct-column parentheses for RisingWave dialect (PR #5376 by @MisterWheatley)3223e63 - fabric: cast datetimeoffset to datetime2 (PR #5385 by @mattiasthalen)12b49dd - remove equal sign from CREATE TABLE comment (doris, starrocks) (PR #5390 by @xinge-ji)06cea31 - postgres: support KEY related locks (PR #5397 by @geooo109)
92d93a6 - parser: do not consume modifier prefixes in group parser, fixes #5400 (commit by @georgesittas)ba0c801 - tsql: change READ_ONLY to READONLY (PR #5410 by @CrispinStichartFNSB)63da895 - risingwave: Fix RisingWave dialect SQL for MAP datatype declaration (PR #5418 by @MisterWheatley)edacae1 - snowflake: transpile bigquery GENERATE_DATE_ARRAY with column access (PR #5388 by @geooo109)5835b8d - duckdb: make bracket parsing aware of duckdb MAP func (PR #5423 by @geooo109)
5c59816 - snowflake: ALTER TABLE ADD with multiple columns (PR #5431 by @geooo109)
9f860a0 - snowflake: ALTER TABLE ADD with IF NOT EXISTS (PR #5438 by @geooo109)
d7b3a26 - postgres: transpile duckdb LIST_HAS_ANY and LIST_CONTAINS (PR #5440 by @geooo109)
79c5c30 - spark: transpile STRING_AGG (PR #5449 by @geooo109)
3590e75 - postgres: support ? placeholder (PR #5455 by @geooo109)
cdbf595 - snowflake: Wrap GET_PATH value with PARSE_JSON preemptively (PR #5458 by @VaggelisD)8f16f52 - restore default sql_names for DecodeCase (PR #5465 by @georgesittas)bee82f3 - snowflake: Remove UNKNOWN type from TRY_CAST (PR #5466 by @VaggelisD)71b1349 - postgres, hive: use ASCII node instead of UNICODE node (PR #5380 by @geooo109)a5c2245 - improve error msg for PIVOT with missing aggregation (commit by @georgesittas)59fd875 - Refactor PRIMARY KEY ... INCLUDE handling (PR #5433 by @VaggelisD)e9bb3e8 - Refactor DECLARE statement (PR #5450 by @VaggelisD)due to `6268f6f` - add default precision to CHAR/VARCHAR create expressions *(PR #5434 by @mattiasthalen)*:
due to 6268f6f - add default precision to CHAR/VARCHAR create expressions (PR #5434 by @mattiasthalen):
add default precision to CHAR/VARCHAR create expressions (#5434)
due to 8467bad - add parsing/generating for BigQuery DECLARE (PR #5442 by @plaflamme):
add parsing/generating for BigQuery DECLARE (#5442)
due to 79c5c30 - transpile STRING_AGG (PR #5449 by @geooo109):
transpile STRING_AGG (#5449)
due to 190f8ab - improve BigQuery UNNEST transpilation (PR #5451 by @georgesittas):
improve BigQuery UNNEST transpilation (#5451)
732548f - postgresql: add support for table creation DDL that contains a primary key alongside the INCLUDE keyword (PR #5425 by @amosbiras)9f887f1 - Add support for BETWEEN flags (PR #5435 by @mateuszpoleski)edef00a - duckdb: Add reset command for duckdb (PR #5448 by @themisvaltinos)6268f6f - tsql: add default precision to CHAR/VARCHAR create expressions (PR #5434 by @mattiasthalen)bbf26e9 - mysql: Add support for SELECT DISTINCTROW (PR #5446 by @VaggelisD)
8467bad - add parsing/generating for BigQuery DECLARE (PR #5442 by @plaflamme)190f8ab - improve BigQuery UNNEST transpilation (PR #5451 by @georgesittas)9f860a0 - snowflake: ALTER TABLE ADD with IF NOT EXISTS (PR #5438 by @geooo109)
d7b3a26 - postgres: transpile duckdb LIST_HAS_ANY and LIST_CONTAINS (PR #5440 by @geooo109)
79c5c30 - spark: transpile STRING_AGG (PR #5449 by @geooo109)
59fd875 - Refactor PRIMARY KEY ... INCLUDE handling (PR #5433 by @VaggelisD)e9bb3e8 - Refactor DECLARE statement (PR #5450 by @VaggelisD)due to `5724538` - ARRAY_CONCAT type annotation *(PR #5293 by @geooo109)*:
due to 5724538 - ARRAY_CONCAT type annotation (PR #5293 by @geooo109):
ARRAY_CONCAT type annotation (#5293)
due to c103b23 - add support for SUBSTRING_INDEX (PR #5296 by @ankur334):
add support for SUBSTRING_INDEX (#5296)
due to a7bd823 - annotate type of ARRAY_TO_STRING (PR #5301 by @geooo109):
annotate type of ARRAY_TO_STRING (#5301)
due to 6b42353 - annotate type of ARRAY_FIRST, ARRAY_LAST (PR #5303 by @geooo109):
annotate type of ARRAY_FIRST, ARRAY_LAST (#5303)
due to db9b61e - parse, annotate type for ARRAY_REVERSE (PR #5306 by @geooo109):
parse, annotate type for ARRAY_REVERSE (#5306)
due to 5612a6d - add support for SPACE (PR #5308 by @ankur334):
add support for SPACE (#5308)
due to 8a2f65d - parse and annotate type for ARRAY_SLICE (PR #5312 by @geooo109):
parse and annotate type for ARRAY_SLICE (#5312)
due to 8d118ea - route statements to hive/trino depending on their type (PR #5314 by @georgesittas):
route statements to hive/trino depending on their type (#5314)
due to d2f7c41 - add TypeOf / toTypeName support (PR #5315 by @ankur334):
add TypeOf / toTypeName support (#5315)
due to 5a0f589 - distinguish STORED AS from USING (PR #5320 by @geooo109):
distinguish STORED AS from USING (#5320)
due to c4ca182 - annotate type for FROM_BASE64 (PR #5329 by @geooo109):
annotate type for FROM_BASE64 (#5329)
due to 7b72bbe - annotate type for ANY_VALUE (PR #5331 by @geooo109):
annotate type for ANY_VALUE (#5331)
due to c0d57e7 - annotate type for CHR (PR #5332 by @geooo109):
annotate type for CHR (#5332)
due to d65b5c2 - annotate type for COUNTIF (PR #5334 by @geooo109):
annotate type for COUNTIF (#5334)
due to 521b705 - annotate type for GENERATE_ARRAY (PR #5335 by @geooo109):
annotate type for GENERATE_ARRAY (#5335)
due to 5fb26c5 - annotate type for INT64 (PR #5339 by @geooo109):
annotate type for INT64 (#5339)
due to cff9b55 - annotate type for LOGICAL_AND and LOGICAL_OR (PR #5340 by @geooo109):
annotate type for LOGICAL_AND and LOGICAL_OR (#5340)
due to b94a6f9 - annotate type for MAKE_INTERVAL (PR #5341 by @geooo109):
annotate type for MAKE_INTERVAL (#5341)
due to 2c9a7c6 - annotate type for LAST_VALUE (PR #5336 by @geooo109):
annotate type for LAST_VALUE (#5336)
due to d862a28 - annoate type for TO_BASE64 (PR #5342 by @geooo109):
annoate type for TO_BASE64 (#5342)
due to 85888c1 - annotate type for UNIX_DATE (PR #5343 by @geooo109):
annotate type for UNIX_DATE (#5343)
due to 8a214e0 - annotate type for UNIX_SECONDS (PR #5344 by @geooo109):
annotate type for UNIX_SECONDS (#5344)
due to 625cb74 - annotate type for STARTS_WITH (PR #5345 by @geooo109):
annotate type for STARTS_WITH (#5345)
due to 0337c4d - annotate type for SHA and SHA2 (PR #5346 by @geooo109):
annotate type for SHA and SHA2 (#5346)
due to cc389fa - annotate type SHA1, SHA256, SHA512 for BigQuery (PR #5347 by @geooo109):
annotate type SHA1, SHA256, SHA512 for BigQuery (#5347)
due to 509b741 - preserve multi-arg DECODE function instead of converting to CASE (PR #5352 by @georgesittas):
preserve multi-arg DECODE function instead of converting to CASE (#5352)
due to c1d3d61 - annotate type for CORR (PR #5364 by @geooo109):
annotate type for CORR (#5364)
due to c1e8677 - annotate type for COVAR_POP (PR #5365 by @geooo109):
annotate type for COVAR_POP (#5365)
due to e110ef4 - annotate type for COVAR_SAMP (PR #5367 by @geooo109):
annotate type for COVAR_SAMP (#5367)
due to 5b59c16 - annotate type for DATETIME (PR #5369 by @geooo109):
annotate type for DATETIME (#5369)
due to 47176ce - annotate type for ENDS_WITH (PR #5370 by @geooo109):
annotate type for ENDS_WITH (#5370)
due to 2cce53d - annotate type for LAG (PR #5371 by @geooo109):
annotate type for LAG (#5371)
due to a3227de - improve transpilation of ROUND(x, y) to Postgres (PR #5368 by @blecourt-private):
improve transpilation of ROUND(x, y) to Postgres (#5368)
due to d7ccb48 - week/quarter support (PR #5374 by @eakmanrq):
week/quarter support (#5374)
due to b368fba - parse and annotate type for ASCII (PR #5377 by @geooo109):
parse and annotate type for ASCII (#5377)
due to 7f19b31 - annotate type for UNICODE (PR #5381 by @geooo109):
annotate type for UNICODE (#5381)
due to 9e8d3ab - Preserve struct-column parentheses for RisingWave dialect (PR #5376 by @MisterWheatley):
Added dialect as argument to simplify_parens function
simplify_parens optional.due to 3223e63 - cast datetimeoffset to datetime2 (PR #5385 by @mattiasthalen):
cast datetimeoffset to datetime2 (#5385)
due to 06cea31 - support KEY related locks (PR #5397 by @geooo109):
support KEY related locks (#5397)
due to 1014a67 - remove redundant todate in dayofweek closes #5398 (PR #5399 by @tobymao):
remove redundant todate in dayofweek closes #5398 (#5399)
due to b2631ae - annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (PR #5405 by @geooo109):
annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (#5405)
due to 5835b8d - make bracket parsing aware of duckdb MAP func (PR #5423 by @geooo109):
make bracket parsing aware of duckdb MAP func (#5423)
due to 489dc5c - parse and annotate type support for JSON_ARRAY (PR #5424 by @geooo109):
parse and annotate type support for JSON_ARRAY (#5424)
due to 0ed518c - annotate type for bigquery JSON_VALUE (PR #5427 by @geooo109):
annotate type for bigquery JSON_VALUE (#5427)
due to 6091617 - annotate type for bigquery JSON_VALUE_ARRAY (PR #5428 by @geooo109):
annotate type for bigquery JSON_VALUE_ARRAY (#5428)
due to 631c851 - parse and annotate type support for bigquery JSON_TYPE (PR #5430 by @geooo109):
parse and annotate type support for bigquery JSON_TYPE (#5430)
ba7bf39 - exasol: implemented BIT_AND function with test (PR #5294 by @nnamdi16)fb4122e - exasol: add bitwiseOr function to exasol dialect (PR #5297 by @nnamdi16)c103b23 - add support for SUBSTRING_INDEX (PR #5296 by @ankur334)4752f3a - exasol: added bit_xor built in exasol function to exasol dialect in sqlglot (PR #5298 by @nnamdi16)09bd610 - parser: annotate type of ARRAY_CONCAT_AGG (PR #5299 by @geooo109)ad0311a - exasol: added bit_not exasol built in function. (PR #5300 by @nnamdi16)a7bd823 - parser: annotate type of ARRAY_TO_STRING (PR #5301 by @geooo109)2aa2182 - exasol: added BIT_LSHIFT built in function to exasol dialect (PR #5302 by @nnamdi16)c3d9ef2 - exasol: added the bit_rshift built in exasol function (PR #5304 by @nnamdi16)6b42353 - parser: annotate type of ARRAY_FIRST, ARRAY_LAST (PR #5303 by @geooo109)f5b7cc6 - exasol: added EVERY built in function (PR #5305 by @nnamdi16)d3f04d6 - add Dremio dialect (PR #5277 by @mateuszpoleski)3d8e478 - exasol: added edit_distance built in function to exasol dialect (PR #5310 by @nnamdi16)db9b61e - parser: parse, annotate type for ARRAY_REVERSE (PR #5306 by @geooo109)5612a6d - add support for SPACE (PR #5308 by @ankur334)f148c9e - duckdb: Transpile Spark's exp.PosExplode (PR #5311 by @VaggelisD)
179a278 - exasol: added the regexp_replace function (PR #5313 by @nnamdi16)8a2f65d - parser: parse and annotate type for ARRAY_SLICE (PR #5312 by @geooo109)d2f7c41 - add TypeOf / toTypeName support (PR #5315 by @ankur334)950c15d - exasol: add var_pop built in function to exasol dialect (PR #5328 by @nnamdi16)c4ca182 - optimizer: annotate type for FROM_BASE64 (PR #5329 by @geooo109)0992e99 - exasol: Add support APPROXIMATE_COUNT_DISTINCT functions in exasol dialect (PR #5330 by @nnamdi16)7b72bbe - optimizer: annotate type for ANY_VALUE (PR #5331 by @geooo109)c0d57e7 - optimizer: annotate type for CHR (PR #5332 by @geooo109)d65b5c2 - optimizer: annotate type for COUNTIF (PR #5334 by @geooo109)521b705 - optimizer: annotate type for GENERATE_ARRAY (PR #5335 by @geooo109)5fb26c5 - optimizer: annotate type for INT64 (PR #5339 by @geooo109)cff9b55 - optimizer: annotate type for LOGICAL_AND and LOGICAL_OR (PR #5340 by @geooo109)b94a6f9 - optimizer: annotate type for MAKE_INTERVAL (PR #5341 by @geooo109)2c9a7c6 - optimizer: annotate type for LAST_VALUE (PR #5336 by @geooo109)d862a28 - optimizer: annoate type for TO_BASE64 (PR #5342 by @geooo109)85888c1 - optimizer: annotate type for UNIX_DATE (PR #5343 by @geooo109)8a214e0 - optimizer: annotate type for UNIX_SECONDS (PR #5344 by @geooo109)625cb74 - optimizer: annotate type for STARTS_WITH (PR #5345 by @geooo109)0337c4d - optimizer: annotate type for SHA and SHA2 (PR #5346 by @geooo109)835d9e6 - add case-insensitive uppercase normalization strategy (PR #5349 by @georgesittas)f80493e - exasol: Add TO_CHAR function support in exasol dialect (PR #5350 by @nnamdi16)cea6a24 - teradata: add FORMAT phrase parsing (PR #5348 by @readjfb)eae64e1 - duckdb: support new lambda syntax (PR #5359 by @georgesittas)
e77991d - duckdb: Add support for SET VARIABLE (PR #5360 by @VaggelisD)
c1d3d61 - optimizer: annotate type for CORR (PR #5364 by @geooo109)c1e8677 - optimizer: annotate type for COVAR_POP (PR #5365 by @geooo109)e110ef4 - optimizer: annotate type for COVAR_SAMP (PR #5367 by @geooo109)5b59c16 - optimizer: annotate type for DATETIME (PR #5369 by @geooo109)47176ce - optimizer: annotate type for ENDS_WITH (PR #5370 by @geooo109)1fd757e - fabric: Ensure TIMESTAMPTZ is used with AT TIME ZONE (PR #5362 by @mattiasthalen)2cce53d - optimizer: annotate type for LAG (PR #5371 by @geooo109)a3227de - improve transpilation of ROUND(x, y) to Postgres (PR #5368 by @blecourt-private)
b368fba - optimizer: parse and annotate type for ASCII (PR #5377 by @geooo109)7f19b31 - optimizer: annotate type for UNICODE (PR #5381 by @geooo109)f035bf0 - dremio: Add TIME_MAPPING for Dremio dialect (PR #5378 by @mateuszpoleski)31cfd0f - exasol: add to_date and refactored to_char functions with respect to time mapping (PR #5379 by @nnamdi16)bd3776e - doris: add PROPERTIES_LOCATION mapping for Doris dialect (PR #5391 by @xinge-ji)7eaa67a - doris: properly supported PROPERTIES and UNIQUE KEY table prop (commit by @georgesittas)1e78163 - duckdb: support column access via index (PR #5395 by @geooo109)
1014a67 - remove redundant todate in dayofweek closes #5398 (PR #5399 by @tobymao)be52f78 - exasol: add support for CONVERT_TZ function (PR #5401 by @nnamdi16)d637161 - exasol: add mapping to TIME_TO_STR in exasol dialect (PR #5403 by @nnamdi16)b2631ae - optimizer: annotate type for bigquery BIT_AND, BIT_OR, BIT_XOR, BIT_COUNT (PR #5405 by @geooo109)b81ae62 - exasol: map STR_TO_TIME to TO_DATE and (PR #5407 by @nnamdi16)c2fb9ab - add DateStrToTime (PR #5409 by @betodealmeida)a95993a - snowflake: improve transpilation of queries with UNNEST sources (PR #5408 by @georgesittas)7b69f54 - snowflake: Support SEMANTIC_VIEW (PR #5414 by @VaggelisD)
7dba6f6 - exasol: map AT TIME ZONE to CONVERT_TZ (PR #5416 by @nnamdi16)25f2c1b - postgres: query placeholders (PR #5415 by @geooo109)
c309c87 - doris: support range partitioning (PR #5402 by @xinge-ji)394d3a8 - dremio: Add support for DATE_ADD and DATE_SUB (PR #5411 by @mateuszpoleski)9cfac4f - doris: enhance partitioning support (PR #5421 by @xinge-ji)a018bea - exasol: mapped exp.CurrentUser to exasol CURRENT_USER (PR #5422 by @nnamdi16)489dc5c - optimizer: parse and annotate type support for JSON_ARRAY (PR #5424 by @geooo109)0ed518c - optimizer: annotate type for bigquery JSON_VALUE (PR #5427 by @geooo109)6091617 - optimizer: annotate type for bigquery JSON_VALUE_ARRAY (PR #5428 by @geooo109)631c851 - optimizer: parse and annotate type support for bigquery JSON_TYPE (PR #5430 by @geooo109)5724538 - bigquery: ARRAY_CONCAT type annotation (PR #5293 by @geooo109)0a6afcd - use re-entrant lock in dialects/init to avoid deadlocks (PR #5322 by @georgesittas)
599ca81 - parser: avoid CTE values ALIAS gen, when ALIAS exists (PR #5323 by @geooo109)
5a0f589 - spark: distinguish STORED AS from USING (PR #5320 by @geooo109)
cbc79c2 - preserve ORDER BY comments fixes #5326 (commit by @georgesittas)fa69583 - optimizer: avoid qualifying CTE (PR #5327 by @geooo109)
29cce43 - comment lost before GROUP, JOIN and HAVING (PR #5338 by @chiiips)509b741 - preserve multi-arg DECODE function instead of converting to CASE (PR #5352 by @georgesittas)
188d446 - optimizer: downstream column for PIVOT (PR #5363 by @geooo109)
d7ccb48 - duckdb: week/quarter support (PR #5374 by @eakmanrq)252469d - snowflake: transpile bigquery CURRENT_DATE with timezone (PR #5387 by @geooo109)7511853 - postgres: add XML type (PR #5396 by @geooo109)
9e8d3ab - optimizer: Preserve struct-column parentheses for RisingWave dialect (PR #5376 by @MisterWheatley)3223e63 - fabric: cast datetimeoffset to datetime2 (PR #5385 by @mattiasthalen)12b49dd - remove equal sign from CREATE TABLE comment (doris, starrocks) (PR #5390 by @xinge-ji)06cea31 - postgres: support KEY related locks (PR #5397 by @geooo109)
92d93a6 - parser: do not consume modifier prefixes in group parser, fixes #5400 (commit by @georgesittas)ba0c801 - tsql: change READ_ONLY to READONLY (PR #5410 by @CrispinStichartFNSB)63da895 - risingwave: Fix RisingWave dialect SQL for MAP datatype declaration (PR #5418 by @MisterWheatley)edacae1 - snowflake: transpile bigquery GENERATE_DATE_ARRAY with column access (PR #5388 by @geooo109)5835b8d - duckdb: make bracket parsing aware of duckdb MAP func (PR #5423 by @geooo109)
5c59816 - snowflake: ALTER TABLE ADD with multiple columns (PR #5431 by @geooo109)
8d118ea - athena: route statements to hive/trino depending on their type (PR #5314 by @georgesittas)
cc389fa - optimizer: annotate type SHA1, SHA256, SHA512 for BigQuery (PR #5347 by @geooo109)194850a - exasol: clean up TO_CHAR (commit by @georgesittas)1abd461 - bump min. supported version to python 3.9 (PR #5353 by @georgesittas)71b1349 - postgres, hive: use ASCII node instead of UNICODE node (PR #5380 by @geooo109)a5c2245 - improve error msg for PIVOT with missing aggregation (commit by @georgesittas)Nothing published for this version
due to `f2bf000` - avoid creating new alias for qualifying unpivot *(PR #5121 by @geooo109)*:
due to f2bf000 - avoid creating new alias for qualifying unpivot (PR #5121 by @geooo109):
avoid creating new alias for qualifying unpivot (#5121)
due to a126ce8 - make coalesce simplification optional, skip by default (PR #5123 by @barakalon):
make coalesce simplification optional, skip by default (#5123)
due to 6910744 - update py03 version (PR #5136 by @benfdking):
update py03 version (#5136)
due to a56deab - bump sqlglotrs to 0.5.0 (commit by @georgesittas):
bump sqlglotrs to 0.5.0
due to c484ca3 - recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas):
recognize ARRAY_CONCAT_AGG as an aggregate function (#5141)
due to 72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD):
Refactor ALTER TABLE ADD parsing (#5144)
due to e73ddb7 - preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas):
preserve TIMESTAMP on roundtrip (#5145)
due to f6124c6 - return token vector in tokenize even on failure (PR #5155 by @georgesittas):
return token vector in tokenize even on failure (#5155)
due to 64c37f1 - bump sqlglotrs to 0.6.0 (commit by @georgesittas):
bump sqlglotrs to 0.6.0
due to 434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas):
improve support for ENDSWITH closes #5170
due to bc001ce - Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD):
Add support for ANY_VALUE for versions 16+ (#5179)
due to 6a2cb39 - virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109):
virtual column with AS(expr) as ComputedColumnConstraint (#5180)
due to 29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96):
Array_intersection transpilation support (#5186)
due to ac6555b - preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas):
preserve DIV binary operator, fixes #5198 (#5199)
due to dfdd84b - CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109):
CTEs instead of subqueries for pipe syntax (#5205)
due to 5f95299 - support multi-part (>3) dotted functions (PR #5211 by @georgesittas):
support multi-part (>3) dotted functions (#5211)
due to 02afa2a - Preserve quoting for UDT (PR #5216 by @VaggelisD):
Preserve quoting for UDT (#5216)
due to 44297f1 - JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109):
JOIN pipe syntax, Set Operators as CTEs (#5215)
due to 4f42d95 - Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD):
Normalize date parts in exp.Extract generation (#5229)
due to e7e38fe - resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas):
resolve table "columns" in bigquery that produce structs (#5230)
due to d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas):
change comma to cross join when precedence is the same for all join types (#5240)
due to e7c217e - transpile from/to dbms_random.value (PR #5242 by @georgesittas):
transpile from/to dbms_random.value (#5242)
due to 31814cd - cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas):
cast constructed timestamp literal to zone-aware type if needed (#5253)
due to db4e0ec - convert information schema keywords to uppercase for consistency (PR #5263 by @mattiasthalen):
convert information schema keywords to uppercase for consistency (#5263)
due to eea1570 - add support for SYSDATETIMEOFFSET closes #5272 (PR #5273 by @georgesittas):
add support for SYSDATETIMEOFFSET closes #5272 (#5273)
due to 3d3ccc5 - Transpile exp.PosExplode pos column alias (PR #5274 by @VaggelisD):
Transpile exp.PosExplode pos column alias (#5274)
due to 9a95af1 - only cast strings to timestamp for TO_CHAR (TimeToStr) (PR #5283 by @georgesittas):
only cast strings to timestamp for TO_CHAR (TimeToStr) (#5283)
due to 8af4790 - Fix parsing of ADD CONSTRAINT (PR #5288 by @VaggelisD):
Fix parsing of ADD CONSTRAINT (#5288)
due to 18aea08 - include bigquery unnest aliases in selected sources (PR #5285 by @georgesittas):
include bigquery unnest aliases in selected sources (#5285)
due to 0ff95c5 - add parsing/transpilation support for the REPLACE function (PR #5289 by @rahulj51):
add parsing/transpilation support for the REPLACE function (#5289)
due to dc03649 - only coerce time var -like units into strings for DATE_TRUNC (PR #5291 by @georgesittas):
only coerce time var -like units into strings for DATE_TRUNC (#5291)
due to 5724538 - ARRAY_CONCAT type annotation (PR #5293 by @geooo109):
ARRAY_CONCAT type annotation (#5293)
due to c103b23 - add support for SUBSTRING_INDEX (PR #5296 by @ankur334):
add support for SUBSTRING_INDEX (#5296)
due to a7bd823 - annotate type of ARRAY_TO_STRING (PR #5301 by @geooo109):
annotate type of ARRAY_TO_STRING (#5301)
due to 6b42353 - annotate type of ARRAY_FIRST, ARRAY_LAST (PR #5303 by @geooo109):
annotate type of ARRAY_FIRST, ARRAY_LAST (#5303)
due to db9b61e - parse, annotate type for ARRAY_REVERSE (PR #5306 by @geooo109):
parse, annotate type for ARRAY_REVERSE (#5306)
due to 5612a6d - add support for SPACE (PR #5308 by @ankur334):
add support for SPACE (#5308)
due to 8a2f65d - parse and annotate type for ARRAY_SLICE (PR #5312 by @geooo109):
parse and annotate type for ARRAY_SLICE (#5312)
due to 8d118ea - route statements to hive/trino depending on their type (PR #5314 by @georgesittas):
route statements to hive/trino depending on their type (#5314)
due to d2f7c41 - add TypeOf / toTypeName support (PR #5315 by @ankur334):
add TypeOf / toTypeName support (#5315)
due to 5a0f589 - distinguish STORED AS from USING (PR #5320 by @geooo109):
distinguish STORED AS from USING (#5320)
due to c4ca182 - annotate type for FROM_BASE64 (PR #5329 by @geooo109):
annotate type for FROM_BASE64 (#5329)
due to 7b72bbe - annotate type for ANY_VALUE (PR #5331 by @geooo109):
annotate type for ANY_VALUE (#5331)
due to c0d57e7 - annotate type for CHR (PR #5332 by @geooo109):
annotate type for CHR (#5332)
due to d65b5c2 - annotate type for COUNTIF (PR #5334 by @geooo109):
annotate type for COUNTIF (#5334)
due to 521b705 - annotate type for GENERATE_ARRAY (PR #5335 by @geooo109):
annotate type for GENERATE_ARRAY (#5335)
due to 5fb26c5 - annotate type for INT64 (PR #5339 by @geooo109):
annotate type for INT64 (#5339)
due to cff9b55 - annotate type for LOGICAL_AND and LOGICAL_OR (PR #5340 by @geooo109):
annotate type for LOGICAL_AND and LOGICAL_OR (#5340)
due to b94a6f9 - annotate type for MAKE_INTERVAL (PR #5341 by @geooo109):
annotate type for MAKE_INTERVAL (#5341)
due to 2c9a7c6 - annotate type for LAST_VALUE (PR #5336 by @geooo109):
annotate type for LAST_VALUE (#5336)
due to d862a28 - annoate type for TO_BASE64 (PR #5342 by @geooo109):
annoate type for TO_BASE64 (#5342)
due to 85888c1 - annotate type for UNIX_DATE (PR #5343 by @geooo109):
annotate type for UNIX_DATE (#5343)
due to 8a214e0 - annotate type for UNIX_SECONDS (PR #5344 by @geooo109):
annotate type for UNIX_SECONDS (#5344)
due to 625cb74 - annotate type for STARTS_WITH (PR #5345 by @geooo109):
annotate type for STARTS_WITH (#5345)
due to 0337c4d - annotate type for SHA and SHA2 (PR #5346 by @geooo109):
annotate type for SHA and SHA2 (#5346)
due to cc389fa - annotate type SHA1, SHA256, SHA512 for BigQuery (PR #5347 by @geooo109):
annotate type SHA1, SHA256, SHA512 for BigQuery (#5347)
due to 509b741 - preserve multi-arg DECODE function instead of converting to CASE (PR #5352 by @georgesittas):
preserve multi-arg DECODE function instead of converting to CASE (#5352)
due to c1d3d61 - annotate type for CORR (PR #5364 by @geooo109):
annotate type for CORR (#5364)
due to c1e8677 - annotate type for COVAR_POP (PR #5365 by @geooo109):
annotate type for COVAR_POP (#5365)
due to e110ef4 - annotate type for COVAR_SAMP (PR #5367 by @geooo109):
annotate type for COVAR_SAMP (#5367)
due to 5b59c16 - annotate type for DATETIME (PR #5369 by @geooo109):
annotate type for DATETIME (#5369)
due to 47176ce - annotate type for ENDS_WITH (PR #5370 by @geooo109):
annotate type for ENDS_WITH (#5370)
due to 2cce53d - annotate type for LAG (PR #5371 by @geooo109):
annotate type for LAG (#5371)
due to a3227de - improve transpilation of ROUND(x, y) to Postgres (PR #5368 by @blecourt-private):
improve transpilation of ROUND(x, y) to Postgres (#5368)
82c50ce - duckdb: extend time travel parsing to take VERSION into account (commit by @georgesittas)bb4f428 - bubble up comments nested under a Bracket, fixes #5131 (commit by @georgesittas)9f318eb - snowflake: Transpile BQ's ARRAY(SELECT AS STRUCT ...) (PR #5140 by @VaggelisD)93b402a - parser: support SELECT, FROM, WHERE with pipe syntax (PR #5128 by @geooo109)1a8e78b - parser: ORDER BY with pipe syntax (PR #5153 by @geooo109)966ad95 - tsql: add convert style 126 (PR #5157 by @pa1ch)b7ac6ff - parser: LIMIT/OFFSET pipe syntax (PR #5159 by @geooo109)cfc158d - snowflake: transpile STRTOK_TO_ARRAY to duckdb (PR #5165 by @geooo109)
ff0f30b - support ARRAY_REMOVE (PR #5163 by @geooo109)9cac01f - tsql: support FOR XML syntax (PR #5167 by @geooo109)
8b5129f - postgres: improve pretty-formatting of ARRAY[...] (commit by @georgesittas)964b4a1 - add line/col position for Star (commit by @georgesittas)434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas)63f9cb4 - sqlglotrs: match the Python implementation of repr for tokens (PR #5172 by @georgesittas)c007afa - support Star instance as first arg of exp.column helper (PR #5177 by @georgesittas)bc001ce - postgres: Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD)
ba05ff6 - parser: AGGREGATE with GROUP AND ORDER BY pipe syntax (PR #5171 by @geooo109)26077a4 - make to_table more lenient (PR #5183 by @georgesittas)29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96)d86a114 - sqlite: implement RESPECT/IGNORE NULLS in first_value() (PR #5185 by @NickCrews)1d50fca - improve transpilation of st_point and st_distance (PR #5194 by @georgesittas)756ec3b - parser: SET OPERATORS with pipe syntax (PR #5184 by @geooo109)c20f85e - spark: support ALTER ADD PARTITION (PR #5208 by @georgesittas)
44297f1 - parser: JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109)21cd3eb - parser: PIVOT/UNPIVOT pipe syntax (PR #5222 by @geooo109)97f5822 - parser: AS pipe syntax (PR #5224 by @geooo109)a7e7fee - parser: EXTEND pipe syntax (PR #5225 by @geooo109)c1cb9f8 - snowflake: add autoincrement order clause support (PR #5223 by @dmaresma)91afe4c - parser: TABLESAMPLE pipe syntax (PR #5231 by @geooo109)62da84a - snowflake: improve transpilation of unnested object lookup (PR #5234 by @georgesittas)2c60453 - parser: DROP pipe syntax (PR #5226 by @geooo109)9885729 - parser: SET pipe syntax (PR #5236 by @geooo109)e7c217e - oracle: transpile from/to dbms_random.value (PR #5242 by @georgesittas)
0d19544 - add Microsoft Fabric dialect, a case sensitive version of TSQL (PR #5247 by @mattiasthalen)249dbc9 - parser: start with SELECT and nested pipe syntax (PR #5248 by @geooo109)f5b5b93 - fabric: implement type mappings for unsupported Fabric types (PR #5249 by @mattiasthalen)78fcea1 - spark, databricks: parse brackets as placeholder (PR #5256 by @geooo109)
7d71387 - fabric: Add precision cap to temporal data types (PR #5250 by @mattiasthalen)e8cf793 - duckdb: Transpile Snowflake's TO_CHAR if format is in Snowflake.TIME_MAPPING (PR #5257 by @VaggelisD)
0cdfe64 - add Exasol dialect (pass 1: string type mapping) (PR #5264 by @nnamdi16)eea1570 - tsql: add support for SYSDATETIMEOFFSET closes #5272 (PR #5273 by @georgesittas)3d3ccc5 - hive: Transpile exp.PosExplode pos column alias (PR #5274 by @VaggelisD)
1c48c09 - exasol: added datatype mappings and test for exasol dialect. (PR #5270 by @nnamdi16)883fcb1 - databricks: GROUP_CONCAT to LISTAGG (PR #5284 by @geooo109)
21ef897 - fabric: implement UnixToTime transformation to DATEADD syntax (PR #5269 by @mattiasthalen)0ff95c5 - add parsing/transpilation support for the REPLACE function (PR #5289 by @rahulj51)1b0631c - exasol: implemented the Mod function (PR #5292 by @nnamdi16)ba7bf39 - exasol: implemented BIT_AND function with test (PR #5294 by @nnamdi16)fb4122e - exasol: add bitwiseOr function to exasol dialect (PR #5297 by @nnamdi16)c103b23 - add support for SUBSTRING_INDEX (PR #5296 by @ankur334)4752f3a - exasol: added bit_xor built in exasol function to exasol dialect in sqlglot (PR #5298 by @nnamdi16)09bd610 - parser: annotate type of ARRAY_CONCAT_AGG (PR #5299 by @geooo109)ad0311a - exasol: added bit_not exasol built in function. (PR #5300 by @nnamdi16)a7bd823 - parser: annotate type of ARRAY_TO_STRING (PR #5301 by @geooo109)2aa2182 - exasol: added BIT_LSHIFT built in function to exasol dialect (PR #5302 by @nnamdi16)c3d9ef2 - exasol: added the bit_rshift built in exasol function (PR #5304 by @nnamdi16)6b42353 - parser: annotate type of ARRAY_FIRST, ARRAY_LAST (PR #5303 by @geooo109)f5b7cc6 - exasol: added EVERY built in function (PR #5305 by @nnamdi16)d3f04d6 - add Dremio dialect (PR #5277 by @mateuszpoleski)3d8e478 - exasol: added edit_distance built in function to exasol dialect (PR #5310 by @nnamdi16)db9b61e - parser: parse, annotate type for ARRAY_REVERSE (PR #5306 by @geooo109)5612a6d - add support for SPACE (PR #5308 by @ankur334)f148c9e - duckdb: Transpile Spark's exp.PosExplode (PR #5311 by @VaggelisD)
179a278 - exasol: added the regexp_replace function (PR #5313 by @nnamdi16)8a2f65d - parser: parse and annotate type for ARRAY_SLICE (PR #5312 by @geooo109)d2f7c41 - add TypeOf / toTypeName support (PR #5315 by @ankur334)950c15d - exasol: add var_pop built in function to exasol dialect (PR #5328 by @nnamdi16)c4ca182 - optimizer: annotate type for FROM_BASE64 (PR #5329 by @geooo109)0992e99 - exasol: Add support APPROXIMATE_COUNT_DISTINCT functions in exasol dialect (PR #5330 by @nnamdi16)7b72bbe - optimizer: annotate type for ANY_VALUE (PR #5331 by @geooo109)c0d57e7 - optimizer: annotate type for CHR (PR #5332 by @geooo109)d65b5c2 - optimizer: annotate type for COUNTIF (PR #5334 by @geooo109)521b705 - optimizer: annotate type for GENERATE_ARRAY (PR #5335 by @geooo109)5fb26c5 - optimizer: annotate type for INT64 (PR #5339 by @geooo109)cff9b55 - optimizer: annotate type for LOGICAL_AND and LOGICAL_OR (PR #5340 by @geooo109)b94a6f9 - optimizer: annotate type for MAKE_INTERVAL (PR #5341 by @geooo109)2c9a7c6 - optimizer: annotate type for LAST_VALUE (PR #5336 by @geooo109)d862a28 - optimizer: annoate type for TO_BASE64 (PR #5342 by @geooo109)85888c1 - optimizer: annotate type for UNIX_DATE (PR #5343 by @geooo109)8a214e0 - optimizer: annotate type for UNIX_SECONDS (PR #5344 by @geooo109)625cb74 - optimizer: annotate type for STARTS_WITH (PR #5345 by @geooo109)0337c4d - optimizer: annotate type for SHA and SHA2 (PR #5346 by @geooo109)835d9e6 - add case-insensitive uppercase normalization strategy (PR #5349 by @georgesittas)f80493e - exasol: Add TO_CHAR function support in exasol dialect (PR #5350 by @nnamdi16)cea6a24 - teradata: add FORMAT phrase parsing (PR #5348 by @readjfb)eae64e1 - duckdb: support new lambda syntax (PR #5359 by @georgesittas)
e77991d - duckdb: Add support for SET VARIABLE (PR #5360 by @VaggelisD)
c1d3d61 - optimizer: annotate type for CORR (PR #5364 by @geooo109)c1e8677 - optimizer: annotate type for COVAR_POP (PR #5365 by @geooo109)e110ef4 - optimizer: annotate type for COVAR_SAMP (PR #5367 by @geooo109)5b59c16 - optimizer: annotate type for DATETIME (PR #5369 by @geooo109)47176ce - optimizer: annotate type for ENDS_WITH (PR #5370 by @geooo109)1fd757e - fabric: Ensure TIMESTAMPTZ is used with AT TIME ZONE (PR #5362 by @mattiasthalen)2cce53d - optimizer: annotate type for LAG (PR #5371 by @geooo109)a3227de - improve transpilation of ROUND(x, y) to Postgres (PR #5368 by @blecourt-private)
f2bf000 - optimizer: avoid creating new alias for qualifying unpivot (PR #5121 by @geooo109)a126ce8 - optimizer: make coalesce simplification optional, skip by default (PR #5123 by @barakalon)f7401fd - bigquery: avoid getting stuck in infinite loop when parsing tables (PR #5130 by @georgesittas)e9b3156 - athena: Handle transpilation of FileFormatProperty from dialects that treat it as a variable and not a string literal (PR #5133 by @erindru)a3fccd9 - snowflake: generate SELECT for UNNEST without JOIN or FROM (PR #5138 by @geooo109)993919d - snowflake: Properly transpile ARRAY_AGG, IGNORE/RESPECT NULLS (PR #5137 by @VaggelisD)6e57619 - snowflake: Transpile ISOWEEK to WEEKISO (PR #5139 by @VaggelisD)c484ca3 - bigquery: recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas)f3aeb37 - tsql: properly parse and generate ALTER SET (PR #5143 by @georgesittas)
72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD)
e73ddb7 - mysql: preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas)
4f8c73d - hive: STRUCT column names and data type should be separated by ':' in hive (PR #5147 by @tsamaras)e2a488f - Error on columns mismatch in pushdown_projections ignores dialect (PR #5151 by @snovik75)1a35365 - avoid generating nested comments when not supported (PR #5158 by @georgesittas)
f6124c6 - rust-tokenizer: return token vector in tokenize even on failure (PR #5155 by @georgesittas)
760a606 - postgres: support decimal values in INTERVAL expressions fixes #5168 (commit by @georgesittas)6a2cb39 - parser: virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109)
c87ae02 - sqlite: Add REPLACE to command tokens (PR #5192 by @VaggelisD)
4b89afd - starrocks: array_agg_transpilation_fix (PR #5190 by @Swathiraj23)461b054 - postgres: support use_spheroid argument in ST_DISTANCE (commit by @georgesittas)99bbae3 - sqlite: allow ALTER RENAME without COLUMN keyword fixes #5195 (commit by @georgesittas)ac6555b - hive: preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas)d0eeb26 - eliminate_join_marks has multiple issues fixes #5188 (PR #5189 by @snovik75)
dfdd84b - parser: CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109)77e9d9a - mysql: properly parse STORED/VIRTUAL computed columns (PR #5210 by @georgesittas)
5f95299 - parser: support multi-part (>3) dotted functions (PR #5211 by @georgesittas)
02afa2a - postgres: Preserve quoting for UDT (PR #5216 by @VaggelisD)
f37c0b1 - snowflake: ensure a standalone GET() expression can be parsed (PR #5219 by @georgesittas)28fed58 - optimizer: UnboundLocalError in scope module (commit by @georgesittas)809e05a - snowflake: preserve STRTOK_TO_ARRAY roundtrip (commit by @georgesittas)df73a79 - tsql: Retain limit clause in subquery expression. (PR #5227 by @MarcusRisanger)4f42d95 - duckdb: Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD)
1b4c083 - athena: include Hive string escapes in the tokenizer (PR #5233 by @georgesittas)
e7e38fe - optimizer: resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas)
781539d - duckdb: Generate correct DETACH syntax if IF EXISTS is set (PR #5235 by @erindru)d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas)31814cd - presto: cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas)
847248d - format ADD CONSTRAINT clause properly fixes #5260 (commit by @georgesittas)db4e0ec - tsql: convert information schema keywords to uppercase for consistency (PR #5263 by @mattiasthalen)8de87e3 - redshift: handle scale parameter in to_timestamp (PR #5266 by @MatiasCasaliSplit)e32f709 - hive: Fix exp.PosExplode alias order (PR #5279 by @VaggelisD)3dd9f8e - fabric: Type mismatches and precision error (PR #5280 by @mattiasthalen)9a95af1 - snowflake: only cast strings to timestamp for TO_CHAR (TimeToStr) (PR #5283 by @georgesittas)
8af4790 - tsql: Fix parsing of ADD CONSTRAINT (PR #5288 by @VaggelisD)
due to `d2f7c41` - add TypeOf / toTypeName support *(PR #5315 by @ankur334)*:
Nothing published for this version
Nothing published for this version
Nothing published for this version
due to `f2bf000` - avoid creating new alias for qualifying unpivot *(PR #5121 by @geooo109)*:
due to f2bf000 - avoid creating new alias for qualifying unpivot (PR #5121 by @geooo109):
avoid creating new alias for qualifying unpivot (#5121)
due to a126ce8 - make coalesce simplification optional, skip by default (PR #5123 by @barakalon):
make coalesce simplification optional, skip by default (#5123)
due to 6910744 - update py03 version (PR #5136 by @benfdking):
update py03 version (#5136)
due to a56deab - bump sqlglotrs to 0.5.0 (commit by @georgesittas):
bump sqlglotrs to 0.5.0
due to c484ca3 - recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas):
recognize ARRAY_CONCAT_AGG as an aggregate function (#5141)
due to 72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD):
Refactor ALTER TABLE ADD parsing (#5144)
due to e73ddb7 - preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas):
preserve TIMESTAMP on roundtrip (#5145)
due to f6124c6 - return token vector in tokenize even on failure (PR #5155 by @georgesittas):
return token vector in tokenize even on failure (#5155)
due to 64c37f1 - bump sqlglotrs to 0.6.0 (commit by @georgesittas):
bump sqlglotrs to 0.6.0
due to 434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas):
improve support for ENDSWITH closes #5170
due to bc001ce - Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD):
Add support for ANY_VALUE for versions 16+ (#5179)
due to 6a2cb39 - virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109):
virtual column with AS(expr) as ComputedColumnConstraint (#5180)
due to 29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96):
Array_intersection transpilation support (#5186)
due to ac6555b - preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas):
preserve DIV binary operator, fixes #5198 (#5199)
due to dfdd84b - CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109):
CTEs instead of subqueries for pipe syntax (#5205)
due to 5f95299 - support multi-part (>3) dotted functions (PR #5211 by @georgesittas):
support multi-part (>3) dotted functions (#5211)
due to 02afa2a - Preserve quoting for UDT (PR #5216 by @VaggelisD):
Preserve quoting for UDT (#5216)
due to 44297f1 - JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109):
JOIN pipe syntax, Set Operators as CTEs (#5215)
due to 4f42d95 - Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD):
Normalize date parts in exp.Extract generation (#5229)
due to e7e38fe - resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas):
resolve table "columns" in bigquery that produce structs (#5230)
due to d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas):
change comma to cross join when precedence is the same for all join types (#5240)
due to e7c217e - transpile from/to dbms_random.value (PR #5242 by @georgesittas):
transpile from/to dbms_random.value (#5242)
due to 31814cd - cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas):
cast constructed timestamp literal to zone-aware type if needed (#5253)
due to db4e0ec - convert information schema keywords to uppercase for consistency (PR #5263 by @mattiasthalen):
convert information schema keywords to uppercase for consistency (#5263)
due to eea1570 - add support for SYSDATETIMEOFFSET closes #5272 (PR #5273 by @georgesittas):
add support for SYSDATETIMEOFFSET closes #5272 (#5273)
due to 3d3ccc5 - Transpile exp.PosExplode pos column alias (PR #5274 by @VaggelisD):
Transpile exp.PosExplode pos column alias (#5274)
due to 9a95af1 - only cast strings to timestamp for TO_CHAR (TimeToStr) (PR #5283 by @georgesittas):
only cast strings to timestamp for TO_CHAR (TimeToStr) (#5283)
due to 8af4790 - Fix parsing of ADD CONSTRAINT (PR #5288 by @VaggelisD):
Fix parsing of ADD CONSTRAINT (#5288)
due to 18aea08 - include bigquery unnest aliases in selected sources (PR #5285 by @georgesittas):
include bigquery unnest aliases in selected sources (#5285)
due to 0ff95c5 - add parsing/transpilation support for the REPLACE function (PR #5289 by @rahulj51):
add parsing/transpilation support for the REPLACE function (#5289)
due to dc03649 - only coerce time var -like units into strings for DATE_TRUNC (PR #5291 by @georgesittas):
only coerce time var -like units into strings for DATE_TRUNC (#5291)
82c50ce - duckdb: extend time travel parsing to take VERSION into account (commit by @georgesittas)bb4f428 - bubble up comments nested under a Bracket, fixes #5131 (commit by @georgesittas)9f318eb - snowflake: Transpile BQ's ARRAY(SELECT AS STRUCT ...) (PR #5140 by @VaggelisD)93b402a - parser: support SELECT, FROM, WHERE with pipe syntax (PR #5128 by @geooo109)1a8e78b - parser: ORDER BY with pipe syntax (PR #5153 by @geooo109)966ad95 - tsql: add convert style 126 (PR #5157 by @pa1ch)b7ac6ff - parser: LIMIT/OFFSET pipe syntax (PR #5159 by @geooo109)cfc158d - snowflake: transpile STRTOK_TO_ARRAY to duckdb (PR #5165 by @geooo109)
ff0f30b - support ARRAY_REMOVE (PR #5163 by @geooo109)9cac01f - tsql: support FOR XML syntax (PR #5167 by @geooo109)
8b5129f - postgres: improve pretty-formatting of ARRAY[...] (commit by @georgesittas)964b4a1 - add line/col position for Star (commit by @georgesittas)434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas)63f9cb4 - sqlglotrs: match the Python implementation of repr for tokens (PR #5172 by @georgesittas)c007afa - support Star instance as first arg of exp.column helper (PR #5177 by @georgesittas)bc001ce - postgres: Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD)
ba05ff6 - parser: AGGREGATE with GROUP AND ORDER BY pipe syntax (PR #5171 by @geooo109)26077a4 - make to_table more lenient (PR #5183 by @georgesittas)29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96)d86a114 - sqlite: implement RESPECT/IGNORE NULLS in first_value() (PR #5185 by @NickCrews)1d50fca - improve transpilation of st_point and st_distance (PR #5194 by @georgesittas)756ec3b - parser: SET OPERATORS with pipe syntax (PR #5184 by @geooo109)c20f85e - spark: support ALTER ADD PARTITION (PR #5208 by @georgesittas)
44297f1 - parser: JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109)21cd3eb - parser: PIVOT/UNPIVOT pipe syntax (PR #5222 by @geooo109)97f5822 - parser: AS pipe syntax (PR #5224 by @geooo109)a7e7fee - parser: EXTEND pipe syntax (PR #5225 by @geooo109)c1cb9f8 - snowflake: add autoincrement order clause support (PR #5223 by @dmaresma)91afe4c - parser: TABLESAMPLE pipe syntax (PR #5231 by @geooo109)62da84a - snowflake: improve transpilation of unnested object lookup (PR #5234 by @georgesittas)2c60453 - parser: DROP pipe syntax (PR #5226 by @geooo109)9885729 - parser: SET pipe syntax (PR #5236 by @geooo109)e7c217e - oracle: transpile from/to dbms_random.value (PR #5242 by @georgesittas)
0d19544 - add Microsoft Fabric dialect, a case sensitive version of TSQL (PR #5247 by @mattiasthalen)249dbc9 - parser: start with SELECT and nested pipe syntax (PR #5248 by @geooo109)f5b5b93 - fabric: implement type mappings for unsupported Fabric types (PR #5249 by @mattiasthalen)78fcea1 - spark, databricks: parse brackets as placeholder (PR #5256 by @geooo109)
7d71387 - fabric: Add precision cap to temporal data types (PR #5250 by @mattiasthalen)e8cf793 - duckdb: Transpile Snowflake's TO_CHAR if format is in Snowflake.TIME_MAPPING (PR #5257 by @VaggelisD)
0cdfe64 - add Exasol dialect (pass 1: string type mapping) (PR #5264 by @nnamdi16)eea1570 - tsql: add support for SYSDATETIMEOFFSET closes #5272 (PR #5273 by @georgesittas)3d3ccc5 - hive: Transpile exp.PosExplode pos column alias (PR #5274 by @VaggelisD)
1c48c09 - exasol: added datatype mappings and test for exasol dialect. (PR #5270 by @nnamdi16)883fcb1 - databricks: GROUP_CONCAT to LISTAGG (PR #5284 by @geooo109)
21ef897 - fabric: implement UnixToTime transformation to DATEADD syntax (PR #5269 by @mattiasthalen)0ff95c5 - add parsing/transpilation support for the REPLACE function (PR #5289 by @rahulj51)1b0631c - exasol: implemented the Mod function (PR #5292 by @nnamdi16)f2bf000 - optimizer: avoid creating new alias for qualifying unpivot (PR #5121 by @geooo109)a126ce8 - optimizer: make coalesce simplification optional, skip by default (PR #5123 by @barakalon)f7401fd - bigquery: avoid getting stuck in infinite loop when parsing tables (PR #5130 by @georgesittas)e9b3156 - athena: Handle transpilation of FileFormatProperty from dialects that treat it as a variable and not a string literal (PR #5133 by @erindru)a3fccd9 - snowflake: generate SELECT for UNNEST without JOIN or FROM (PR #5138 by @geooo109)993919d - snowflake: Properly transpile ARRAY_AGG, IGNORE/RESPECT NULLS (PR #5137 by @VaggelisD)6e57619 - snowflake: Transpile ISOWEEK to WEEKISO (PR #5139 by @VaggelisD)c484ca3 - bigquery: recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas)f3aeb37 - tsql: properly parse and generate ALTER SET (PR #5143 by @georgesittas)
72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD)
e73ddb7 - mysql: preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas)
4f8c73d - hive: STRUCT column names and data type should be separated by ':' in hive (PR #5147 by @tsamaras)e2a488f - Error on columns mismatch in pushdown_projections ignores dialect (PR #5151 by @snovik75)1a35365 - avoid generating nested comments when not supported (PR #5158 by @georgesittas)
f6124c6 - rust-tokenizer: return token vector in tokenize even on failure (PR #5155 by @georgesittas)
760a606 - postgres: support decimal values in INTERVAL expressions fixes #5168 (commit by @georgesittas)6a2cb39 - parser: virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109)
c87ae02 - sqlite: Add REPLACE to command tokens (PR #5192 by @VaggelisD)
4b89afd - starrocks: array_agg_transpilation_fix (PR #5190 by @Swathiraj23)461b054 - postgres: support use_spheroid argument in ST_DISTANCE (commit by @georgesittas)99bbae3 - sqlite: allow ALTER RENAME without COLUMN keyword fixes #5195 (commit by @georgesittas)ac6555b - hive: preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas)d0eeb26 - eliminate_join_marks has multiple issues fixes #5188 (PR #5189 by @snovik75)
dfdd84b - parser: CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109)77e9d9a - mysql: properly parse STORED/VIRTUAL computed columns (PR #5210 by @georgesittas)
5f95299 - parser: support multi-part (>3) dotted functions (PR #5211 by @georgesittas)
02afa2a - postgres: Preserve quoting for UDT (PR #5216 by @VaggelisD)
f37c0b1 - snowflake: ensure a standalone GET() expression can be parsed (PR #5219 by @georgesittas)28fed58 - optimizer: UnboundLocalError in scope module (commit by @georgesittas)809e05a - snowflake: preserve STRTOK_TO_ARRAY roundtrip (commit by @georgesittas)df73a79 - tsql: Retain limit clause in subquery expression. (PR #5227 by @MarcusRisanger)4f42d95 - duckdb: Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD)
1b4c083 - athena: include Hive string escapes in the tokenizer (PR #5233 by @georgesittas)
e7e38fe - optimizer: resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas)
781539d - duckdb: Generate correct DETACH syntax if IF EXISTS is set (PR #5235 by @erindru)d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas)31814cd - presto: cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas)
847248d - format ADD CONSTRAINT clause properly fixes #5260 (commit by @georgesittas)db4e0ec - tsql: convert information schema keywords to uppercase for consistency (PR #5263 by @mattiasthalen)8de87e3 - redshift: handle scale parameter in to_timestamp (PR #5266 by @MatiasCasaliSplit)e32f709 - hive: Fix exp.PosExplode alias order (PR #5279 by @VaggelisD)3dd9f8e - fabric: Type mismatches and precision error (PR #5280 by @mattiasthalen)9a95af1 - snowflake: only cast strings to timestamp for TO_CHAR (TimeToStr) (PR #5283 by @georgesittas)
8af4790 - tsql: Fix parsing of ADD CONSTRAINT (PR #5288 by @VaggelisD)
18aea08 - scope: include bigquery unnest aliases in selected sources (PR #5285 by @georgesittas)ba4a234 - fabric: ignore Date cap (PR #5290 by @fresioAS)dc03649 - bigquery: only coerce time var -like units into strings for DATE_TRUNC (PR #5291 by @georgesittas)86c6b90 - tsql: XML_OPTIONS (commit by @geooo109)aac70aa - parser: simpler _parse_pipe_syntax_select (commit by @geooo109)6910744 - update py03 version (PR #5136 by @benfdking)
a56deab - bump sqlglotrs to 0.5.0 (commit by @georgesittas)5752a87 - udpate benchmarking framework (PR #5146 by @benfdking)0ae297a - compare performance on main vs pr branch (PR #5149 by @georgesittas)180963b - handle pipe syntax unsupported operators more gracefully (commit by @georgesittas)6c8d61a - include optimization benchmarks (PR #5152 by @georgesittas)bc5c66c - Run benchmark job if /benchmark comment (PR #5164 by @VaggelisD)742b2b7 - Fix benchmark CI to include issue number (PR #5166 by @VaggelisD)64c37f1 - bump sqlglotrs to 0.6.0 (commit by @georgesittas)440590b - bump sqlglotrs to 0.6.1 (commit by @georgesittas)83de4e1 - improve benchmark result displaying (PR #5176 by @georgesittas)5d5dc2f - Clean up exp.ArrayIntersect PR (PR #5193 by @VaggelisD)ad8a4e7 - refactor join mark elimination to use is_correlated_subquery (commit by @georgesittas)7dfb578 - Refactor DETACH generation (PR #5237 by @VaggelisD)due to `d3dc761` - change comma to cross join when precedence is the same for all join types *(PR #5240 by @georgesittas)*:
due to d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas):
change comma to cross join when precedence is the same for all join types (#5240)
due to e7c217e - transpile from/to dbms_random.value (PR #5242 by @georgesittas):
transpile from/to dbms_random.value (#5242)
due to 31814cd - cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas):
cast constructed timestamp literal to zone-aware type if needed (#5253)
e7c217e - oracle: transpile from/to dbms_random.value (PR #5242 by @georgesittas)
0d19544 - add Microsoft Fabric dialect, a case sensitive version of TSQL (PR #5247 by @mattiasthalen)249dbc9 - parser: start with SELECT and nested pipe syntax (PR #5248 by @geooo109)f5b5b93 - fabric: implement type mappings for unsupported Fabric types (PR #5249 by @mattiasthalen)78fcea1 - spark, databricks: parse brackets as placeholder (PR #5256 by @geooo109)
7d71387 - fabric: Add precision cap to temporal data types (PR #5250 by @mattiasthalen)e8cf793 - duckdb: Transpile Snowflake's TO_CHAR if format is in Snowflake.TIME_MAPPING (PR #5257 by @VaggelisD)
d3dc761 - change comma to cross join when precedence is the same for all join types (PR #5240 by @georgesittas)31814cd - presto: cast constructed timestamp literal to zone-aware type if needed (PR #5253 by @georgesittas)
due to `4f42d95` - Normalize date parts in exp.Extract generation *(PR #5229 by @VaggelisD)*:
due to 4f42d95 - Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD):
Normalize date parts in exp.Extract generation (#5229)
due to e7e38fe - resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas):
resolve table "columns" in bigquery that produce structs (#5230)
97f5822 - parser: AS pipe syntax (PR #5224 by @geooo109)a7e7fee - parser: EXTEND pipe syntax (PR #5225 by @geooo109)c1cb9f8 - snowflake: add autoincrement order clause support (PR #5223 by @dmaresma)91afe4c - parser: TABLESAMPLE pipe syntax (PR #5231 by @geooo109)62da84a - snowflake: improve transpilation of unnested object lookup (PR #5234 by @georgesittas)2c60453 - parser: DROP pipe syntax (PR #5226 by @geooo109)9885729 - parser: SET pipe syntax (PR #5236 by @geooo109)df73a79 - tsql: Retain limit clause in subquery expression. (PR #5227 by @MarcusRisanger)4f42d95 - duckdb: Normalize date parts in exp.Extract generation (PR #5229 by @VaggelisD)
1b4c083 - athena: include Hive string escapes in the tokenizer (PR #5233 by @georgesittas)
e7e38fe - optimizer: resolve table "columns" in bigquery that produce structs (PR #5230 by @georgesittas)
781539d - duckdb: Generate correct DETACH syntax if IF EXISTS is set (PR #5235 by @erindru)7dfb578 - Refactor DETACH generation (PR #5237 by @VaggelisD)due to `44297f1` - JOIN pipe syntax, Set Operators as CTEs *(PR #5215 by @geooo109)*:
due to 44297f1 - JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109):
JOIN pipe syntax, Set Operators as CTEs (#5215)
44297f1 - parser: JOIN pipe syntax, Set Operators as CTEs (PR #5215 by @geooo109)21cd3eb - parser: PIVOT/UNPIVOT pipe syntax (PR #5222 by @geooo109)28fed58 - optimizer: UnboundLocalError in scope module (commit by @georgesittas)809e05a - snowflake: preserve STRTOK_TO_ARRAY roundtrip (commit by @georgesittas)Nothing published for this version
Nothing published for this version
due to `ac6555b` - preserve DIV binary operator, fixes #5198 *(PR #5199 by @georgesittas)*:
due to ac6555b - preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas):
preserve DIV binary operator, fixes #5198 (#5199)
due to dfdd84b - CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109):
CTEs instead of subqueries for pipe syntax (#5205)
due to 5f95299 - support multi-part (>3) dotted functions (PR #5211 by @georgesittas):
support multi-part (>3) dotted functions (#5211)
due to 02afa2a - Preserve quoting for UDT (PR #5216 by @VaggelisD):
Preserve quoting for UDT (#5216)
c20f85e - spark: support ALTER ADD PARTITION (PR #5208 by @georgesittas)
99bbae3 - sqlite: allow ALTER RENAME without COLUMN keyword fixes #5195 (commit by @georgesittas)ac6555b - hive: preserve DIV binary operator, fixes #5198 (PR #5199 by @georgesittas)d0eeb26 - eliminate_join_marks has multiple issues fixes #5188 (PR #5189 by @snovik75)
dfdd84b - parser: CTEs instead of subqueries for pipe syntax (PR #5205 by @geooo109)77e9d9a - mysql: properly parse STORED/VIRTUAL computed columns (PR #5210 by @georgesittas)
5f95299 - parser: support multi-part (>3) dotted functions (PR #5211 by @georgesittas)
02afa2a - postgres: Preserve quoting for UDT (PR #5216 by @VaggelisD)
f37c0b1 - snowflake: ensure a standalone GET() expression can be parsed (PR #5219 by @georgesittas)ad8a4e7 - refactor join mark elimination to use is_correlated_subquery (commit by @georgesittas)due to `434c45b` - improve support for ENDSWITH closes #5170 *(commit by @georgesittas)*:
due to 434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas):
improve support for ENDSWITH closes #5170
due to bc001ce - Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD):
Add support for ANY_VALUE for versions 16+ (#5179)
due to 6a2cb39 - virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109):
virtual column with AS(expr) as ComputedColumnConstraint (#5180)
due to 29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96):
Array_intersection transpilation support (#5186)
434c45b - improve support for ENDSWITH closes #5170 (commit by @georgesittas)63f9cb4 - sqlglotrs: match the Python implementation of repr for tokens (PR #5172 by @georgesittas)c007afa - support Star instance as first arg of exp.column helper (PR #5177 by @georgesittas)bc001ce - postgres: Add support for ANY_VALUE for versions 16+ (PR #5179 by @VaggelisD)
ba05ff6 - parser: AGGREGATE with GROUP AND ORDER BY pipe syntax (PR #5171 by @geooo109)26077a4 - make to_table more lenient (PR #5183 by @georgesittas)29e2f1d - Array_intersection transpilation support (PR #5186 by @HarishRavi96)d86a114 - sqlite: implement RESPECT/IGNORE NULLS in first_value() (PR #5185 by @NickCrews)1d50fca - improve transpilation of st_point and st_distance (PR #5194 by @georgesittas)756ec3b - parser: SET OPERATORS with pipe syntax (PR #5184 by @geooo109)6a2cb39 - parser: virtual column with AS(expr) as ComputedColumnConstraint (PR #5180 by @geooo109)
c87ae02 - sqlite: Add REPLACE to command tokens (PR #5192 by @VaggelisD)
4b89afd - starrocks: array_agg_transpilation_fix (PR #5190 by @Swathiraj23)461b054 - postgres: support use_spheroid argument in ST_DISTANCE (commit by @georgesittas)83de4e1 - improve benchmark result displaying (PR #5176 by @georgesittas)5d5dc2f - Clean up exp.ArrayIntersect PR (PR #5193 by @VaggelisD)`964b4a1` - add line/col position for Star *(commit by @georgesittas)*
964b4a1 - add line/col position for Star (commit by @georgesittas)`8b5129f` - postgres: improve pretty-formatting of ARRAY[...] *(commit by @georgesittas)*
8b5129f - postgres: improve pretty-formatting of ARRAY[...] (commit by @georgesittas)`440590b` - bump sqlglotrs to 0.6.1 *(commit by @georgesittas)*
440590b - bump sqlglotrs to 0.6.1 (commit by @georgesittas)due to `72ce404` - Refactor ALTER TABLE ADD parsing *(PR #5144 by @VaggelisD)*:
due to 72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD):
Refactor ALTER TABLE ADD parsing (#5144)
due to e73ddb7 - preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas):
preserve TIMESTAMP on roundtrip (#5145)
due to f6124c6 - return token vector in tokenize even on failure (PR #5155 by @georgesittas):
return token vector in tokenize even on failure (#5155)
due to 64c37f1 - bump sqlglotrs to 0.6.0 (commit by @georgesittas):
bump sqlglotrs to 0.6.0
93b402a - parser: support SELECT, FROM, WHERE with pipe syntax (PR #5128 by @geooo109)1a8e78b - parser: ORDER BY with pipe syntax (PR #5153 by @geooo109)966ad95 - tsql: add convert style 126 (PR #5157 by @pa1ch)b7ac6ff - parser: LIMIT/OFFSET pipe syntax (PR #5159 by @geooo109)cfc158d - snowflake: transpile STRTOK_TO_ARRAY to duckdb (PR #5165 by @geooo109)
ff0f30b - support ARRAY_REMOVE (PR #5163 by @geooo109)9cac01f - tsql: support FOR XML syntax (PR #5167 by @geooo109)
f3aeb37 - tsql: properly parse and generate ALTER SET (PR #5143 by @georgesittas)
72ce404 - Refactor ALTER TABLE ADD parsing (PR #5144 by @VaggelisD)
e73ddb7 - mysql: preserve TIMESTAMP on roundtrip (PR #5145 by @georgesittas)
4f8c73d - hive: STRUCT column names and data type should be separated by ':' in hive (PR #5147 by @tsamaras)e2a488f - Error on columns mismatch in pushdown_projections ignores dialect (PR #5151 by @snovik75)1a35365 - avoid generating nested comments when not supported (PR #5158 by @georgesittas)
f6124c6 - rust-tokenizer: return token vector in tokenize even on failure (PR #5155 by @georgesittas)
760a606 - postgres: support decimal values in INTERVAL expressions fixes #5168 (commit by @georgesittas)5752a87 - udpate benchmarking framework (PR #5146 by @benfdking)0ae297a - compare performance on main vs pr branch (PR #5149 by @georgesittas)180963b - handle pipe syntax unsupported operators more gracefully (commit by @georgesittas)6c8d61a - include optimization benchmarks (PR #5152 by @georgesittas)bc5c66c - Run benchmark job if /benchmark comment (PR #5164 by @VaggelisD)742b2b7 - Fix benchmark CI to include issue number (PR #5166 by @VaggelisD)64c37f1 - bump sqlglotrs to 0.6.0 (commit by @georgesittas)due to `c484ca3` - recognize ARRAY_CONCAT_AGG as an aggregate function *(PR #5141 by @georgesittas)*:
due to c484ca3 - recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas):
recognize ARRAY_CONCAT_AGG as an aggregate function (#5141)
bb4f428 - bubble up comments nested under a Bracket, fixes #5131 (commit by @georgesittas)9f318eb - snowflake: Transpile BQ's ARRAY(SELECT AS STRUCT ...) (PR #5140 by @VaggelisD)a3fccd9 - snowflake: generate SELECT for UNNEST without JOIN or FROM (PR #5138 by @geooo109)993919d - snowflake: Properly transpile ARRAY_AGG, IGNORE/RESPECT NULLS (PR #5137 by @VaggelisD)6e57619 - snowflake: Transpile ISOWEEK to WEEKISO (PR #5139 by @VaggelisD)c484ca3 - bigquery: recognize ARRAY_CONCAT_AGG as an aggregate function (PR #5141 by @georgesittas)due to `6910744` - update py03 version *(PR #5136 by @benfdking)*:
due to 6910744 - update py03 version (PR #5136 by @benfdking):
update py03 version (#5136)
due to a56deab - bump sqlglotrs to 0.5.0 (commit by @georgesittas):
bump sqlglotrs to 0.5.0
e9b3156 - athena: Handle transpilation of FileFormatProperty from dialects that treat it as a variable and not a string literal (PR #5133 by @erindru)6910744 - update py03 version (PR #5136 by @benfdking)
a56deab - bump sqlglotrs to 0.5.0 (commit by @georgesittas)`f7401fd` - bigquery: avoid getting stuck in infinite loop when parsing tables *(PR #5130 by @georgesittas)*
f7401fd - bigquery: avoid getting stuck in infinite loop when parsing tables (PR #5130 by @georgesittas)due to `f2bf000` - avoid creating new alias for qualifying unpivot *(PR #5121 by @geooo109)*:
due to f2bf000 - avoid creating new alias for qualifying unpivot (PR #5121 by @geooo109):
avoid creating new alias for qualifying unpivot (#5121)
due to a126ce8 - make coalesce simplification optional, skip by default (PR #5123 by @barakalon):
make coalesce simplification optional, skip by default (#5123)
82c50ce - duckdb: extend time travel parsing to take VERSION into account (commit by @georgesittas)Nothing published for this version
Nothing published for this version
Nothing published for this version
due to `de67d3c` - error on unsupported dialect settings *(PR #5119 by @georgesittas)*:
due to de67d3c - error on unsupported dialect settings (PR #5119 by @georgesittas):
error on unsupported dialect settings (#5119)
344f2f1 - store line/col position for Anonymous functions (PR #5120 by @georgesittas)de67d3c - error on unsupported dialect settings (PR #5119 by @georgesittas)`a51744f` - optimizer: annotate SORT_ARRAY *(PR #5110 by @geooo109)*
a51744f - optimizer: annotate SORT_ARRAY (PR #5110 by @geooo109)
ef93832 - tsql: separate ISNULL from COALESCE (PR #5105 by @geooo109)10fe4c0 - Return parameterized type2 in _maybe_coerce (PR #5106 by @aninhalbuquerque)2a95777 - snowflake: Put COPY GRANTS in the right place for materialized views (PR #5109 by @erindru)8ba0eca - optimizer: avoid creating extra ARRAY for annotate SORT_ARRAY (commit by @geooo109)a2ba1aa - optimizer: annotate DPipe with VARCHAR (PR #5111 by @geooo109)57db62a - ignore/respect nulls generation edge case (PR #5117 by @georgesittas)due to `886f85b` - pass dialect to ensure_schema *(PR #5100 by @georgesittas)*:
due to 886f85b - pass dialect to ensure_schema (PR #5100 by @georgesittas):
pass dialect to ensure_schema (#5100)
due to 7570f8a - hive, spark2, spark, databricks type coercion for IF and COALESCE functions (PR #5096 by @geooo109):
hive, spark2, spark, databricks type coercion for IF and COALESCE functions (#5096)
f5f4ca1 - starrocks: Support parsing "NONE" as security option (PR #5099 by @alpolishchuk)2b928e2 - improve pretty-printing of MERGE statement (PR #5102 by @georgesittas)
69ce6b4 - duckdb: add support for TRY (commit by @georgesittas)886f85b - optimizer: pass dialect to ensure_schema (PR #5100 by @georgesittas)
7570f8a - optimizer: hive, spark2, spark, databricks type coercion for IF and COALESCE functions (PR #5096 by @geooo109)
cb96a0c - duckdb: add test for UUIDV7 (commit by @georgesittas)`db2af6f` - bump sqlglotrs to 0.4.2 *(commit by @georgesittas)*
db2af6f - bump sqlglotrs to 0.4.2 (commit by @georgesittas)Your coding agent can read these notes before it upgrades. Set up the MCP server →