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 18 days ago
03 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 54 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
6 years old
781 releases · first in 2021
One column per quarter.
due to `ebe718a` - Add support for format elements used in date/time functions like FORMAT_DATETIME *(PR #6428 by @fivetran-amrutabhimsenayachit)*:
due to ebe718a - Add support for format elements used in date/time functions like FORMAT_DATETIME (PR #6428 by @fivetran-amrutabhimsenayachit):
Add support for format elements used in date/time functions like FORMAT_DATETIME (#6428)
due to c111f64 - annotation support for APPROX_PERCENTILE_ACCUMULATE (PR #6455 by @fivetran-ashashankar):
annotation support for APPROX_PERCENTILE_ACCUMULATE (#6455)
due to f305305 - Annotate types for BigQuery's AVG function (PR #6459 by @vchan):
Annotate types for BigQuery's AVG function (#6459)
due to 910349f - Annotate types for BigQuery's SAFE_DIVIDE function (PR #6464 by @vchan):
Annotate types for BigQuery's SAFE_DIVIDE function (#6464)
due to 5e75621 - annotate type for snowflake func ARRAY_UNIQUE_AGG (PR #6465 by @fivetran-MichaelLee):
annotate type for snowflake func ARRAY_UNIQUE_AGG (#6465)
due to 94d46b8 - annotation support for APPROX_PERCENTILE_ESTIMATE. Return type DOUBLE (PR #6461 by @fivetran-ashashankar):
annotation support for APPROX_PERCENTILE_ESTIMATE. Return type DOUBLE (#6461)
due to 2ac30b0 - annotation support for APPROX_PERCENTILE_COMBINE (PR #6460 by @fivetran-ashashankar):
annotation support for APPROX_PERCENTILE_COMBINE (#6460)
due to d44bda3 - Annotate type for ZIPF (PR #6453 by @fivetran-kwoodbeck):
Annotate type for ZIPF (#6453)
due to 34dbd47 - Annotate type for XMLGET (PR #6457 by @fivetran-kwoodbeck):
Annotate type for XMLGET (#6457)
due to 0d211f2 - annotate type for MODE function snowflake (PR #6447 by @fivetran-felixhuang):
annotate type for MODE function snowflake (#6447)
due to cc4c8ab - annotate type for PERCENTILE_CONT in Snowflake (PR #6470 by @fivetran-felixhuang):
annotate type for PERCENTILE_CONT in Snowflake (#6470)
due to 7dbc242 - annotation support for CURRENT REGION. Return type VARCHAR (PR #6473 by @fivetran-ashashankar):
annotation support for CURRENT REGION. Return type VARCHAR (#6473)
due to 43a6a5c - annotation support for CURRENT_ORGANIZATION_NAME. Return type VARCHAR (PR #6475 by @fivetran-ashashankar):
annotation support for CURRENT_ORGANIZATION_NAME. Return type VARCHAR (#6475)
due to f1f7c6a - annotation support for CURRENT_ORGANIZATION_USER. (PR #6476 by @fivetran-ashashankar):
annotation support for CURRENT_ORGANIZATION_USER. (#6476)
due to 88dfd26 - annotate type for snowflake func TO_BINARY (PR #6474 by @fivetran-MichaelLee):
annotate type for snowflake func TO_BINARY (#6474)
due to d268203 - annotation support for CURRENT_ROLE_TYPE (PR #6479 by @fivetran-ashashankar):
annotation support for CURRENT_ROLE_TYPE (#6479)
due to fd4431b - annotate type for VECTOR_L1_DISTANCE, VECTOR_L2_DISTANCE, VECTOR_COSINE_SIMILARITY functions (PR #6468 by @fivetran-kwoodbeck):
annotate type for VECTOR_L1_DISTANCE, VECTOR_L2_DISTANCE, VECTOR_COSINE_SIMILARITY functions (#6468)
due to e6adba7 - Add support for coercing STRING literals to temporal types (PR #6482 by @vchan):
Add support for coercing STRING literals to temporal types (#6482)
due to 68a5e61 - annotate type for REGR_* functions (PR #6452 by @fivetran-kwoodbeck):
annotate type for REGR_* functions (#6452)
due to f7458a4 - annotate type for snowflake func TO_BOOLEAN (PR #6481 by @fivetran-MichaelLee):
annotate type for snowflake func TO_BOOLEAN (#6481)
due to 1531a67 - annotate type for VECTOR_INNER_PRODUCT (PR #6486 by @fivetran-kwoodbeck):
annotate type for VECTOR_INNER_PRODUCT (#6486)
due to df4c1d3 - REGEXP_EXTRACT position arg overflow (PR #6458 by @treysp):
REGEXP_EXTRACT position arg overflow (#6458)
due to f6b2b3b - support padside argument for BIT[OR|AND|XOR] (PR #6487 by @fivetran-felixhuang):
support padside argument for BIT[OR|AND|XOR] (#6487)
due to 5a49c3f - support ORDER / LIMIT expressions for BigQuery ARRAY_AGG / STRING_AGG functions (PR #6463 by @fivetran-BradfordPaskewitz):
support ORDER / LIMIT expressions for BigQuery ARRAY_AGG / STRING_AGG functions (#6463)
due to ef130f1 - Annotated type for ARRAY_CONSTRUCT_COMPACT #6496 (commit by @fivetran-kwoodbeck):
Annotated type for ARRAY_CONSTRUCT_COMPACT #6496
due to 1b6076b - wrap connectives generated due to transpiling LIKE ANY closes #6493 (commit by @georgesittas):
wrap connectives generated due to transpiling LIKE ANY closes #6493
due to 36ad534 - qualified select list with "LOCAL" (PR #6450 by @nnamdi16):
qualified select list with "LOCAL" (#6450)
due to 36cf0bf - annotation support for CURRENT_ROLE. (PR #6478 by @fivetran-ashashankar):
annotation support for CURRENT_ROLE. (#6478)
due to cbba04c - support comma-separated syntax for OVERLAY function (PR #6497 by @AbhishekASLK):
support comma-separated syntax for OVERLAY function (#6497)
due to dc8f26a - bq annotate type for NULL (PR #6491 by @geooo109):
bq annotate type for NULL (#6491)
due to 52aceaa - annotate HavingMax by this (PR #6499 by @georgesittas):
annotate HavingMax by this (#6499)
due to c97a81d - annotate TO_HEX(MD5(...)) in BigQuery (PR #6500 by @georgesittas):
annotate TO_HEX(MD5(...)) in BigQuery (#6500)
due to a5797a1 - handle named arguments and non-integer scale input for ROUND (PR #6495 by @toriwei):
handle named arguments and non-integer scale input for ROUND (#6495)
due to 3224235 - make CTE builder produce AST consistent with parser closes #6503 (commit by @georgesittas):
make CTE builder produce AST consistent with parser closes #6503
due to 8b5298a - Transpile BQ's WEEK based DATE_DIFF (PR #6507 by @VaggelisD):
Transpile BQ's WEEK based DATE_DIFF (#6507)
due to 9454a18 - uppercase join method, side, kind for consistency fixes #6510 (PR #6511 by @georgesittas):
uppercase join method, side, kind for consistency fixes #6510 (#6511)
due to 41b776b - added support for current_catalog (PR #6492 by @AbhishekASLK):
added support for current_catalog (#6492)
due to dd19bea - annotation support for CURRENT_ACCOUNT (PR #6512 by @fivetran-ashashankar):
annotation support for CURRENT_ACCOUNT (#6512)
due to 2e8105e - Annotate type for VAR_POP, VAR_SAMP, DuckDB consistency fix for VAR_SAMP (PR #6488 by @fivetran-kwoodbeck):
Annotate type for VAR_POP, VAR_SAMP, DuckDB consistency fix for VAR_SAMP (#6488)
due to cfb02c1 - annotation support for CURRENT_ACCOUNT_NAME (PR #6513 by @fivetran-ashashankar):
annotation support for CURRENT_ACCOUNT_NAME (#6513)
due to 1004e31 - annotation support for CURRENT_AVAILABLE_ROLES (PR #6514 by @fivetran-ashashankar):
annotation support for CURRENT_AVAILABLE_ROLES (#6514)
due to ff201fe - annotation support for CURRENT_CLIENT (PR #6515 by @fivetran-ashashankar):
annotation support for CURRENT_CLIENT (#6515)
due to d777a9c - annotation support for CURRENT_IP_ADDRESS (PR #6518 by @fivetran-ashashankar):
annotation support for CURRENT_IP_ADDRESS (#6518)
due to c296061 - Transpilation of TO_BINARY from snowflake to duckdb (PR #6504 by @fivetran-felixhuang):
Transpilation of TO_BINARY from snowflake to duckdb (#6504)
due to 7a70164 - transpile Snowflake's RANDSTR function (PR #6502 by @fivetran-kwoodbeck):
transpile Snowflake's RANDSTR function (#6502)
due to a26d419 - annotation support for CURRENT_DATABASE (PR #6516 by @fivetran-ashashankar):
annotation support for CURRENT_DATABASE (#6516)
due to 0acdf7f - annotation support for CURRENT_SCHEMAS (PR #6519 by @fivetran-ashashankar):
annotation support for CURRENT_SCHEMAS (#6519)
due to 43cce89 - annotation support for CURRENT_SECONDARY_ROLES (PR #6520 by @fivetran-ashashankar):
annotation support for CURRENT_SECONDARY_ROLES (#6520)
due to c21b4b1 - annotation support for CURRENT_SESSION (PR #6521 by @fivetran-ashashankar):
annotation support for CURRENT_SESSION (#6521)
due to 57a83c0 - annotation support for CURRENT_STATEMENT (PR #6522 by @fivetran-ashashankar):
annotation support for CURRENT_STATEMENT (#6522)
due to 4b240e4 - annotation support for CURRENT_VERSION (PR #6524 by @fivetran-ashashankar):
annotation support for CURRENT_VERSION (#6524)
due to c1a831f - annotation support for CURRENT_TRANSACTION (PR #6523 by @fivetran-ashashankar):
annotation support for CURRENT_TRANSACTION (#6523)
due to 2e162b0 - annotation support for CURRENT_WAREHOUSE (PR #6525 by @fivetran-ashashankar):
annotation support for CURRENT_WAREHOUSE (#6525)
due to 9d06859 - annotate bigquery ARRAY when arg contains set operations (PR #6517 by @fivetran-MichaelLee):
annotate bigquery ARRAY when arg contains set operations (#6517)
due to 2fd14ed - query schema directly when type annotation fails for processing UNNEST source (PR #6451 by @fivetran-BradfordPaskewitz):
query schema directly when type annotation fails for processing UNNEST source (#6451)
due to 41a9e88 - Add support to transpile binary args for bitwise operators (PR #6508 by @fivetran-amrutabhimsenayachit):
Add support to transpile binary args for bitwise operators (#6508)
due to 06c7ffb - cleanup bitwise operator fixes (commit by @georgesittas):
cleanup bitwise operator fixes
ebe718a - duckdb: Add support for format elements used in date/time functions like FORMAT_DATETIME (PR #6428 by @fivetran-amrutabhimsenayachit)c111f64 - snowflake: annotation support for APPROX_PERCENTILE_ACCUMULATE (PR #6455 by @fivetran-ashashankar)a7d211e - duckdb: transpile DECFLOAT type to DECIMAL(38, 5) (PR #6462 by @toriwei)94d46b8 - snowflake: annotation support for APPROX_PERCENTILE_ESTIMATE. Return type DOUBLE (PR #6461 by @fivetran-ashashankar)2ac30b0 - snowflake: annotation support for APPROX_PERCENTILE_COMBINE (PR #6460 by @fivetran-ashashankar)d44bda3 - optimizer: Annotate type for ZIPF (PR #6453 by @fivetran-kwoodbeck)34dbd47 - optimizer: Annotate type for XMLGET (PR #6457 by @fivetran-kwoodbeck)ff3f0f9 - databricks: add support for ?:: operator (PR #6469 by @AbhishekASLK)0d211f2 - snowflake: annotate type for MODE function snowflake (PR #6447 by @fivetran-felixhuang)cc4c8ab - snowflake: annotate type for PERCENTILE_CONT in Snowflake (PR #6470 by @fivetran-felixhuang)7dbc242 - snowflake: annotation support for CURRENT REGION. Return type VARCHAR (PR #6473 by @fivetran-ashashankar)43a6a5c - snowflake: annotation support for CURRENT_ORGANIZATION_NAME. Return type VARCHAR (PR #6475 by @fivetran-ashashankar)f1f7c6a - snowflake: annotation support for CURRENT_ORGANIZATION_USER. (PR #6476 by @fivetran-ashashankar)d268203 - snowflake: annotation support for CURRENT_ROLE_TYPE (PR #6479 by @fivetran-ashashankar)fd4431b - snowflake: annotate type for VECTOR_L1_DISTANCE, VECTOR_L2_DISTANCE, VECTOR_COSINE_SIMILARITY functions (PR #6468 by @fivetran-kwoodbeck)e6adba7 - BigQuery: Add support for coercing STRING literals to temporal types (PR #6482 by @vchan)68a5e61 - snowflake: annotate type for REGR_* functions (PR #6452 by @fivetran-kwoodbeck)f7458a4 - optimizer: annotate type for snowflake func TO_BOOLEAN (PR #6481 by @fivetran-MichaelLee)1531a67 - snowflake: annotate type for VECTOR_INNER_PRODUCT (PR #6486 by @fivetran-kwoodbeck)f6b2b3b - snowflake: support padside argument for BIT[OR|AND|XOR] (PR #6487 by @fivetran-felixhuang)e891397 - BigQuery: Add support for the NET.HOST function (PR #6480 by @vchan)2cc67cd - singlestore: support dcolonqmark (PR #6485 by @AbhishekASLK)7d485c7 - duckdb: Add transpilation support for the negative integer args for BITNOT (PR #6490 by @fivetran-amrutabhimsenayachit)ef130f1 - snowflake: Annotated type for ARRAY_CONSTRUCT_COMPACT #6496 (commit by @fivetran-kwoodbeck)36cf0bf - snowflake: annotation support for CURRENT_ROLE. (PR #6478 by @fivetran-ashashankar)cbba04c - databricks: support comma-separated syntax for OVERLAY function (PR #6497 by @AbhishekASLK)dc8f26a - optimizer: bq annotate type for NULL (PR #6491 by @geooo109)c97a81d - optimizer: annotate TO_HEX(MD5(...)) in BigQuery (PR #6500 by @georgesittas)a5797a1 - duckdb: handle named arguments and non-integer scale input for ROUND (PR #6495 by @toriwei)8b5298a - duckdb: Transpile BQ's WEEK based DATE_DIFF (PR #6507 by @VaggelisD)2c013a5 - exasol: qualify bare stars to facilitate transpilation (PR #6431 by @nnamdi16)41b776b - postgres,trino,duckdb: added support for current_catalog (PR #6492 by @AbhishekASLK)dd19bea - snowflake: annotation support for CURRENT_ACCOUNT (PR #6512 by @fivetran-ashashankar)2e8105e - snowflake: Annotate type for VAR_POP, VAR_SAMP, DuckDB consistency fix for VAR_SAMP (PR #6488 by @fivetran-kwoodbeck)cfb02c1 - snowflake: annotation support for CURRENT_ACCOUNT_NAME (PR #6513 by @fivetran-ashashankar)1004e31 - snowflake: annotation support for CURRENT_AVAILABLE_ROLES (PR #6514 by @fivetran-ashashankar)ff201fe - snowflake: annotation support for CURRENT_CLIENT (PR #6515 by @fivetran-ashashankar)d777a9c - snowflake: annotation support for CURRENT_IP_ADDRESS (PR #6518 by @fivetran-ashashankar)c296061 - snowflake: Transpilation of TO_BINARY from snowflake to duckdb (PR #6504 by @fivetran-felixhuang)7a70164 - duckdb: transpile Snowflake's RANDSTR function (PR #6502 by @fivetran-kwoodbeck)a26d419 - snowflake: annotation support for CURRENT_DATABASE (PR #6516 by @fivetran-ashashankar)0acdf7f - snowflake: annotation support for CURRENT_SCHEMAS (PR #6519 by @fivetran-ashashankar)43cce89 - snowflake: annotation support for CURRENT_SECONDARY_ROLES (PR #6520 by @fivetran-ashashankar)c21b4b1 - snowflake: annotation support for CURRENT_SESSION (PR #6521 by @fivetran-ashashankar)57a83c0 - snowflake: annotation support for CURRENT_STATEMENT (PR #6522 by @fivetran-ashashankar)4b240e4 - snowflake: annotation support for CURRENT_VERSION (PR #6524 by @fivetran-ashashankar)c1a831f - snowflake: annotation support for CURRENT_TRANSACTION (PR #6523 by @fivetran-ashashankar)2e162b0 - snowflake: annotation support for CURRENT_WAREHOUSE (PR #6525 by @fivetran-ashashankar)18e9814 - snowflake: support DAYOFWEEK_ISO date part (PR #6531 by @toriwei)ee5e7b9 - Automatically trigger integration tests scoped to modified dialects (PR #6505 by @erindru)e60634f - clickhouse: Add support for quantilesExactExclusive agg func (PR #6535 by @VaggelisD)
41a9e88 - duckdb: Add support to transpile binary args for bitwise operators (PR #6508 by @fivetran-amrutabhimsenayachit)7021d54 - tsql: CEILING generation (PR #6477 by @geooo109)
df4c1d3 - REGEXP_EXTRACT position arg overflow (PR #6458 by @treysp)
5a49c3f - optimizer: support ORDER / LIMIT expressions for BigQuery ARRAY_AGG / STRING_AGG functions (PR #6463 by @fivetran-BradfordPaskewitz)1b6076b - wrap connectives generated due to transpiling LIKE ANY closes #6493 (commit by @georgesittas)36ad534 - exasol: qualified select list with "LOCAL" (PR #6450 by @nnamdi16)52aceaa - optimizer: annotate HavingMax by this (PR #6499 by @georgesittas)ce5487e - sources doesn't store columns, clean up this old code (commit by @tobymao)3224235 - make CTE builder produce AST consistent with parser closes #6503 (commit by @georgesittas)9454a18 - uppercase join method, side, kind for consistency fixes #6510 (PR #6511 by @georgesittas)a6ec4b6 - reorder join mark check in eliminate_join_marks (PR #6528 by @snovik75)
9d06859 - optimizer: annotate bigquery ARRAY when arg contains set operations (PR #6517 by @fivetran-MichaelLee)241073d - on_qualify type (commit by @tobymao)2fd14ed - optimizer: query schema directly when type annotation fails for processing UNNEST source (PR #6451 by @fivetran-BradfordPaskewitz)4a061e2 - optimizer: Include BIGDECIMAL in numeric precedence (PR #6456 by @vchan)f305305 - optimizer: Annotate types for BigQuery's AVG function (PR #6459 by @vchan)910349f - optimizer: Annotate types for BigQuery's SAFE_DIVIDE function (PR #6464 by @vchan)5e75621 - optimizer: annotate type for snowflake func ARRAY_UNIQUE_AGG (PR #6465 by @fivetran-MichaelLee)4d77500 - optimizer: add tests for snowflake CAST function (PR #6471 by @fivetran-MichaelLee)88dfd26 - optimizer: annotate type for snowflake func TO_BINARY (PR #6474 by @fivetran-MichaelLee)483318b - clean up TO_BINARY tests (commit by @geooo109)bff7084 - remove duckdb TO_BINARY 2 arg test (commit by @geooo109)80591f9 - starrocks TO_BINARY tests (commit by @geooo109)01e5a05 - exasol: implementing the last day function in exasol sql dialect (PR #6483 by @nnamdi16)aacc981 - duckdb: tests for MAX_BY and MIN_BY (PR #6489 by @fivetran-kwoodbeck)06c7ffb - cleanup bitwise operator fixes (commit by @georgesittas)due to `e4d1a4f` - map date/timestamp TRUNC to DATE_TRUNC *(PR #6328 by @nnamdi16)*:
due to e4d1a4f - map date/timestamp TRUNC to DATE_TRUNC (PR #6328 by @nnamdi16):
map date/timestamp TRUNC to DATE_TRUNC (#6328)
due to e1b6558 - handle all datepart alternatives (PR #6324 by @lBilali):
handle all datepart alternatives (#6324)
due to 06daa47 - update annotated type of ARRAY_AGG to untyped array (PR #6347 by @fivetran-MichaelLee):
update annotated type of ARRAY_AGG to untyped array (#6347)
due to 7484c06 - Support rounding mode argument for ROUND function (PR #6350 by @vchan):
Support rounding mode argument for ROUND function (#6350)
due to c495a40 - annotate type for MINHASH (PR #6355 by @fivetran-MichaelLee):
annotate type for MINHASH (#6355)
due to b1f9a97 - annotate type for APPROXIMATE_SIMILARITY (PR #6360 by @fivetran-MichaelLee):
annotate type for APPROXIMATE_SIMILARITY (#6360)
due to 3aafca7 - annotate type for MINHASH_COMBINE (PR #6362 by @fivetran-MichaelLee):
annotate type for MINHASH_COMBINE (#6362)
due to df13a65 - unnest deep stuff (PR #6366 by @tobymao):
unnest deep stuff (#6366)
due to d4c2256 - at time zone precedence (PR #6383 by @geooo109):
at time zone precedence (#6383)
due to 4fb4d08 - properly support table alias in the INSERT DML (PR #6374 by @snovik75):
properly support table alias in the INSERT DML (#6374)
due to bf07abd - annotation support for APPROX_TOP_K_COMBINE (PR #6378 by @fivetran-ashashankar):
annotation support for APPROX_TOP_K_COMBINE (#6378)
due to 50348ac - support order by clause for mysql delete statement (PR #6381 by @fivetran-BradfordPaskewitz):
support order by clause for mysql delete statement (#6381)
due to 21d3859 - Disable STRING_AGG sep canonicalization (PR #6395 by @VaggelisD):
Disable STRING_AGG sep canonicalization (#6395)
due to 95727f6 - canonicalize table aliases (PR #6369 by @georgesittas):
canonicalize table aliases (#6369)
due to c7cb098 - Fix underscore separator with scientific notation (PR #6401 by @VaggelisD):
Fix underscore separator with scientific notation (#6401)
due to bb4eda1 - support transpiling SHA1 from BigQuery to DuckDB (PR #6404 by @fivetran-felixhuang):
support transpiling SHA1 from BigQuery to DuckDB (#6404)
due to d038ad7 - support named primary keys for mysql (PR #6389 by @fivetran-BradfordPaskewitz):
support named primary keys for mysql (#6389)
due to 05e83b5 - support transpilation of LEAST from BigQuery to DuckDB (PR #6415 by @fivetran-felixhuang):
support transpilation of LEAST from BigQuery to DuckDB (#6415)
due to 4f3bb0d - Correct transpilation of BigQuery's JSON_EXTRACT_SCALAR… (PR #6414 by @vchan):
Correct transpilation of BigQuery's JSON_EXTRACT_SCALAR… (#6414)
due to 8c314a8 - support cte pivot for duckdb (PR #6413 by @fivetran-BradfordPaskewitz):
support cte pivot for duckdb (#6413)
due to c6b0a63 - change version to be a tuple so that it can be pickled, also simpler (commit by @tobymao):
change version to be a tuple so that it can be pickled, also simpler
due to 07d9958 - replace direct comparison with dialect properties (PR #6398 by @fivetran-MichaelLee):
replace direct comparison with dialect properties (#6398)
due to 38472ce - transpile bigquery's %x format literal (PR #6375 by @fivetran-ashashankar):
transpile bigquery's %x format literal (#6375)
due to 92ee124 - postgres qualify GENERATE_SERIES and table projection (PR #6373 by @geooo109):
postgres qualify GENERATE_SERIES and table projection (#6373)
due to 0b9d8ac - Annotate type for snowflake MAX function (PR #6422 by @fivetran-kwoodbeck):
Annotate type for snowflake MAX function (#6422)
due to 68e9414 - Annotate type for snowflake MIN function (PR #6427 by @fivetran-felixhuang):
Annotate type for snowflake MIN function (#6427)
due to 1318de7 - Annotate type for snowflake NORMAL (PR #6434 by @fivetran-kwoodbeck):
Annotate type for snowflake NORMAL (#6434)
due to ffbb5c7 - annotate type for HASH_AGG in Snowflake (PR #6438 by @fivetran-felixhuang):
annotate type for HASH_AGG in Snowflake (#6438)
due to 161255f - Add support for LOCALTIME function (PR #6443 by @VaggelisD):
Add support for LOCALTIME function (#6443)
due to ca329f0 - support transpilation of SHA256 from bigquery to duckdb (PR #6421 by @fivetran-felixhuang):
support transpilation of SHA256 from bigquery to duckdb (#6421)
due to e18ae24 - Annotate type for snowflake REGR_SLOPE function (PR #6425 by @fivetran-kwoodbeck):
Annotate type for snowflake REGR_SLOPE function (#6425)
due to 1d847f0 - parse & annotate CHECK_JSON, CHECK_XML (PR #6439 by @fivetran-kwoodbeck):
parse & annotate CHECK_JSON, CHECK_XML (#6439)
due to cb3080d - annotation support for APPROX_TOP_K_ESTIMATE . Return type ARRAY (PR #6445 by @fivetran-ashashankar):
annotation support for APPROX_TOP_K_ESTIMATE . Return type ARRAY (#6445)
due to 313afe5 - annotate type for snowflake func ARRAY_UNION_AGG (PR #6446 by @fivetran-MichaelLee):
annotate type for snowflake func ARRAY_UNION_AGG (#6446)
due to cd9f037 - store pk name if provided (PR #6424 by @fivetran-BradfordPaskewitz):
store pk name if provided (#6424)
due to 65194e4 - Annotate type for snowflake RANDSTR function (PR #6436 by @fivetran-kwoodbeck):
Annotate type for snowflake RANDSTR function (#6436)
due to a56262e - Annotate type for snowflake MEDIAN (PR #6426 by @fivetran-felixhuang):
Annotate type for snowflake MEDIAN (#6426)
due to 2c56567 - Annotate type for snowflake SEARCH_IP (PR #6440 by @fivetran-kwoodbeck):
Annotate type for snowflake SEARCH_IP (#6440)
due to ac86568 - Added decfloat type (PR #6444 by @fivetran-kwoodbeck):
Added decfloat type (#6444)
due to b321ca6 - bump sqlglotrs to 0.8.0 (commit by @georgesittas):
bump sqlglotrs to 0.8.0
ca81217 - duckdb: Transpile INITCAP with custom delimiters (PR #6302 by @treysp)7484c06 - DuckDB: Support rounding mode argument for ROUND function (PR #6350 by @vchan)79e314d - duckdb: handle casting BLOB input for TRIM() (PR #6353 by @toriwei)c495a40 - optimizer: annotate type for MINHASH (PR #6355 by @fivetran-MichaelLee)f16f8a0 - improve validate qualify column message closes #6348 (PR #6356 by @tobymao)17abe23 - make simplify more efficient in number of iterations (PR #6351 by @tobymao)b1f9a97 - optimizer: annotate type for APPROXIMATE_SIMILARITY (PR #6360 by @fivetran-MichaelLee)3aafca7 - optimizer: annotate type for MINHASH_COMBINE (PR #6362 by @fivetran-MichaelLee)09a4bd8 - Trigger integration tests (PR #6339 by @erindru)7769129 - bignum and time_ns to duckdb closes #6379 (commit by @tobymao)90a3fa9 - mark IgnoreNulls and RespectNulls as unsupported on postgres and mysql (PR #6377 by @NickCrews)
5bb1170 - transpile bigquery greatest null handling to duckdb (PR #6361 by @fivetran-felixhuang)bf07abd - snowflake: annotation support for APPROX_TOP_K_COMBINE (PR #6378 by @fivetran-ashashankar)01890eb - trino: support refresh materialized view statement closes #6387 (PR #6388 by @georgesittas)e4ea6cc - transpile BQ APPROX_QUANTILES to DuckDB (PR #6349 by @treysp)95727f6 - optimizer: canonicalize table aliases (PR #6369 by @georgesittas)3b6855b - mysql: support ZEROFILL column attribute (PR #6400 by @nian0114)
bb4eda1 - duckdb: support transpiling SHA1 from BigQuery to DuckDB (PR #6404 by @fivetran-felixhuang)05e83b5 - duckdb: support transpilation of LEAST from BigQuery to DuckDB (PR #6415 by @fivetran-felixhuang)38472ce - duckdb: transpile bigquery's %x format literal (PR #6375 by @fivetran-ashashankar)a6e1581 - DuckDB: Cast BIGNUMERIC and BIGDECIMAL types to DECIMAL(38, 5) (PR #6419 by @vchan)0b9d8ac - snowflake: Annotate type for snowflake MAX function (PR #6422 by @fivetran-kwoodbeck)68e9414 - snowflake: Annotate type for snowflake MIN function (PR #6427 by @fivetran-felixhuang)1318de7 - snowflake: Annotate type for snowflake NORMAL (PR #6434 by @fivetran-kwoodbeck)ffbb5c7 - snowflake: annotate type for HASH_AGG in Snowflake (PR #6438 by @fivetran-felixhuang)161255f - Add support for LOCALTIME function (PR #6443 by @VaggelisD)ca329f0 - duckdb: support transpilation of SHA256 from bigquery to duckdb (PR #6421 by @fivetran-felixhuang)e18ae24 - snowflake: Annotate type for snowflake REGR_SLOPE function (PR #6425 by @fivetran-kwoodbeck)1d847f0 - snowflake: parse & annotate CHECK_JSON, CHECK_XML (PR #6439 by @fivetran-kwoodbeck)6843812 - add correlation id to remote workflow trigger (PR #6441 by @erindru)cb3080d - snowflake: annotation support for APPROX_TOP_K_ESTIMATE . Return type ARRAY (PR #6445 by @fivetran-ashashankar)cd9f037 - optimizer: store pk name if provided (PR #6424 by @fivetran-BradfordPaskewitz)65194e4 - snowflake: Annotate type for snowflake RANDSTR function (PR #6436 by @fivetran-kwoodbeck)351d783 - add support for LOCALTIMESTAMP (PR #6448 by @AbhishekASLK)a56262e - snowflake: Annotate type for snowflake MEDIAN (PR #6426 by @fivetran-felixhuang)2c56567 - snowflake: Annotate type for snowflake SEARCH_IP (PR #6440 by @fivetran-kwoodbeck)ac86568 - snowflake: Added decfloat type (PR #6444 by @fivetran-kwoodbeck)0f79f2a - snowflake: MAX_BY and MIN_BY with count should return plain ARRAY (PR #6343 by @fivetran-ashashankar)e1b6558 - tsql: handle all datepart alternatives (PR #6324 by @lBilali)06daa47 - optimizer: update annotated type of ARRAY_AGG to untyped array (PR #6347 by @fivetran-MichaelLee)826db4d - redshift: properly parse default IAM_ROLE and AVRO/JSON formats in COPY (PR #6346 by @georgesittas)
c367bac - duckdb: Support update without set in DuckDB merge when matched (PR #6357 by @themisvaltinos)df13a65 - unnest deep stuff (PR #6366 by @tobymao)20e33fd - duckdb: regexp_extract_all closes #6380 (commit by @tobymao)d4c2256 - parser: at time zone precedence (PR #6383 by @geooo109)
4fb4d08 - oracle: properly support table alias in the INSERT DML (PR #6374 by @snovik75)
2169f5b - parser: support SET with := (PR #6385 by @geooo109)
50348ac - mysql: support order by clause for mysql delete statement (PR #6381 by @fivetran-BradfordPaskewitz)
21d3859 - bigquery: Disable STRING_AGG sep canonicalization (PR #6395 by @VaggelisD)
67f499d - duckdb: Make exp.DateFromParts more lenient (PR #6397 by @VaggelisD)
39f8c37 - parser: support FROM-syntax with joins (PR #6402 by @geooo109)
9ddae4d - duckdb: support IN with no paren (PR #6409 by @geooo109)
c7cb098 - tokenizer: Fix underscore separator with scientific notation (PR #6401 by @VaggelisD)
f5635d2 - duckdb: splice with col named after type closes #6411 (commit by @tobymao)097d865 - duckdb: pivot using cast closes #6410 (commit by @tobymao)d038ad7 - mysql: support named primary keys for mysql (PR #6389 by @fivetran-BradfordPaskewitz)
4f3bb0d - DuckDB: Correct transpilation of BigQuery's JSON_EXTRACT_SCALAR… (PR #6414 by @vchan)e2f306f - interval column ops closes #6416 (commit by @tobymao)8c314a8 - duckdb: support cte pivot for duckdb (PR #6413 by @fivetran-BradfordPaskewitz)
92ee124 - optimizer: postgres qualify GENERATE_SERIES and table projection (PR #6373 by @geooo109)
e4d1a4f - exasol: map date/timestamp TRUNC to DATE_TRUNC (PR #6328 by @nnamdi16)c6b0a63 - change version to be a tuple so that it can be pickled, also simpler (commit by @tobymao)625654a - move resolver to own file (commit by @tobymao)487d218 - iterative annotate types (PR #6342 by @geooo109)8201062 - clean up derived table traversal in table qualification (PR #6363 by @georgesittas)6b7084d - optimizer: refactor costly scope walking loop in qualify tables (PR #6364 by @georgesittas)0319241 - mysql,postgres: tests for unsupported IGNORE/RESPECT NULLS (PR #6386 by @geooo109)
11354cc - Make integration test workflow more robust (PR #6403 by @erindru)f758cea - exasol: transformed rank function, ignoring parameters (PR #6408 by @nnamdi16)07d9958 - optimizer: replace direct comparison with dialect properties (PR #6398 by @fivetran-MichaelLee)137549e - exasol: transform substring_index using substr and instr (PR #6406 by @nnamdi16)78f1824 - exasol: transform substring_index using substr and instr (PR #6406 by @nnamdi16)39cc555 - snowflake: annotate type for COUNT (PR #6437 by @fivetran-felixhuang)61f39ba - optimizer: improve error message for ambiguous columns (PR #6423 by @fivetran-MichaelLee)313afe5 - optimizer: annotate type for snowflake func ARRAY_UNION_AGG (PR #6446 by @fivetran-MichaelLee)b321ca6 - bump sqlglotrs to 0.8.0 (commit by @georgesittas)due to `39d8e19` - include VARIABLE kind in SET transpilation to DuckDB *(PR #6201 by @toriwei)*:
due to 39d8e19 - include VARIABLE kind in SET transpilation to DuckDB (PR #6201 by @toriwei):
include VARIABLE kind in SET transpilation to DuckDB (#6201)
due to e7ddad1 - ensure NULL coerces into any type (PR #6211 by @fivetran-ashashankar):
ensure NULL coerces into any type (#6211)
due to 0037266 - annotate types for GETBIT (PR #6219 by @fivetran-felixhuang):
annotate types for GETBIT (#6219)
due to a5458ce - add type annotation for DECODE function support (PR #6199 by @fivetran-ashashankar):
add type annotation for DECODE function support (#6199)
due to 417f1e8 - annotate types for BITNOT (PR #6234 by @fivetran-felixhuang):
annotate types for BITNOT (#6234)
due to fe8ab40 - 1st-class parsing support for BITAND, BIT_AND, BIT_NOT (PR #6243 by @fivetran-felixhuang):
1st-class parsing support for BITAND, BIT_AND, BIT_NOT (#6243)
due to 5ae3c47 - add type annotation for GROUPING() function (PR #6244 by @fivetran-ashashankar):
add type annotation for GROUPING() function (#6244)
due to 4133265 - parse has function into an ArrayContains expression (PR #6245 by @joeyutong):
parse has function into an ArrayContains expression (#6245)
due to cdd45b9 - annotate types for GROUPING_ID function. (PR #6249 by @fivetran-ashashankar):
annotate types for GROUPING_ID function. (#6249)
due to 080ff3b - annotate types for BITAND_AGG (PR #6248 by @fivetran-felixhuang):
annotate types for BITAND_AGG (#6248)
due to 87a818a - annotate types for BITOR_AGG (PR #6251 by @fivetran-felixhuang):
annotate types for BITOR_AGG (#6251)
due to 4c4189b - Transpile CONCAT function to double pipe operators when source … (PR #6241 by @vchan):
Transpile CONCAT function to double pipe operators when source … (#6241)
due to a1b884d - annotate types for BITXOR_AGG (PR #6253 by @fivetran-felixhuang):
annotate types for BITXOR_AGG (#6253)
due to fc78d20 - Unwrap subqueries without modifiers (PR #6247 by @VaggelisD):
Unwrap subqueries without modifiers (#6247)
due to ad2ad23 - add missing return type mapping for MAX_BY and MAX_BY function (PR #6250 by @fivetran-ashashankar):
add missing return type mapping for MAX_BY and MAX_BY function (#6250)
due to 39c1d81 - annotate types for BOOLXOR_AGG (PR #6261 by @fivetran-felixhuang):
annotate types for BOOLXOR_AGG (#6261)
due to 71590d2 - add type annotation for SKEW function. (PR #6262 by @fivetran-ashashankar):
add type annotation for SKEW function. (#6262)
due to 5fd366d - annotate types for OBJECT_AGG (PR #6265 by @fivetran-felixhuang):
annotate types for OBJECT_AGG (#6265)
due to 00abc39 - handle casting for bytestrings (PR #6252 by @toriwei):
handle casting for bytestrings (#6252)
due to 3dae0fb - Support position and occurrence args for REGEXP_EXTRACT (PR #6266 by @vchan):
Support position and occurrence args for REGEXP_EXTRACT (#6266)
due to ddea61d - simplify connector complements only for non-null operands (PR #6214 by @geooo109):
simplify connector complements only for non-null operands (#6214)
due to 771732d - annotate types for REGR_AVGY (PR #6271 by @fivetran-felixhuang):
annotate types for REGR_AVGY (#6271)
due to 8470be0 - add type annotation for BITMAP_COUNT function. (PR #6274 by @fivetran-ashashankar):
add type annotation for BITMAP_COUNT function. (#6274)
due to 98f25f9 - support splitBy function (PR #6278 by @joeyutong):
support splitBy function (#6278)
due to fabbf05 - Add support for shorthand struct array literals in duckDB. (PR #6233 by @fivetran-amrutabhimsenayachit):
Add support for shorthand struct array literals in duckDB. (#6233)
due to c02b64c - Handle pseudocolumns differently than columns (PR #6273 by @VaggelisD):
Handle pseudocolumns differently than columns (#6273)
due to 05c5181 - refactor Connector simplification to factor in types (PR #6152 by @geooo109):
refactor Connector simplification to factor in types (#6152)
due to 9c1a222 - add type annotation for BITMAP_CONSTRUCT_AGG function. (PR #6285 by @fivetran-ashashankar):
add type annotation for BITMAP_CONSTRUCT_AGG function. (#6285)
due to cb0bcff - cast UUID() output to varchar when source dialect UUID() returns string (PR #6284 by @toriwei):
cast UUID() output to varchar when source dialect UUID() returns string (#6284)
due to 358105d - type annotation for BITMAP_BIT_POSITION function (PR #6301 by @fivetran-ashashankar):
type annotation for BITMAP_BIT_POSITION function (#6301)
due to 4ee7a50 - type inference for BITMAP_OR_AGG (PR #6297 by @fivetran-ashashankar):
type inference for BITMAP_OR_AGG (#6297)
due to fcd537d - conflict resolution. type annotation for BITMAP_BUCKET_NUMBER function. Tests added all dialects that support BITMAP_BUCKET_NUMBER (PR #6299 by @fivetran-ashashankar):
conflict resolution. type annotation for BITMAP_BUCKET_NUMBER function. Tests added all dialects that support BITMAP_BUCKET_NUMBER (#6299)
due to 3dffd59 - annotate types for PERCENTILE_DISC and WithinGroup (PR #6300 by @fivetran-felixhuang):
annotate types for PERCENTILE_DISC and WithinGroup (#6300)
due to f9287f7 - robust deduplication of connectors (PR #6296 by @geooo109):
robust deduplication of connectors (#6296)
due to ea0ea79 - Parse LIKE functions (PR #6314 by @VaggelisD):
Parse LIKE functions (#6314)
due to e903883 - type annotation for APPROX_TOP_K_ACCUMULATE functio… (PR #6309 by @fivetran-ashashankar):
type annotation for APPROX_TOP_K_ACCUMULATE functio… (#6309)
due to d3fefad - support DATEDIFF_BIG (PR #6323 by @lBilali):
support DATEDIFF_BIG (#6323)
due to 21d1468 - annotate type for APPROX_TOP_K (PR #6286 by @fivetran-MichaelLee):
annotate type for APPROX_TOP_K (#6286)
due to 85ddcc5 - Do not normalize JSON fields in dot notation (PR #6320 by @VaggelisD):
Do not normalize JSON fields in dot notation (#6320)
due to 933e981 - more robust NULL reduction (PR #6327 by @geooo109):
more robust NULL reduction (#6327)
39d8e19 - snowflake: include VARIABLE kind in SET transpilation to DuckDB (PR #6201 by @toriwei)
0037266 - snowflake: annotate types for GETBIT (PR #6219 by @fivetran-felixhuang)a5458ce - snowflake: add type annotation for DECODE function support (PR #6199 by @fivetran-ashashankar)a9d0f63 - DuckDB: Transpile unix_millis to epoch_ms (PR #6224 by @vchan)238f705 - DuckDB: Transpile unix_seconds to epoch (PR #6225 by @vchan)c8b0129 - exasol: support bracket-delimited identifiers (PR #6231 by @JoepvandenHoven-Bluemine)417f1e8 - snowflake: annotate types for BITNOT (PR #6234 by @fivetran-felixhuang)fe8ab40 - snowflake: 1st-class parsing support for BITAND, BIT_AND, BIT_NOT (PR #6243 by @fivetran-felixhuang)5ae3c47 - snowflake: add type annotation for GROUPING() function (PR #6244 by @fivetran-ashashankar)4133265 - clickhouse: parse has function into an ArrayContains expression (PR #6245 by @joeyutong)b722aa2 - duckdb: cast LOWER() result to BLOB if input is bytes (PR #6218 by @toriwei)cdd45b9 - optimizer: annotate types for GROUPING_ID function. (PR #6249 by @fivetran-ashashankar)080ff3b - snowflake: annotate types for BITAND_AGG (PR #6248 by @fivetran-felixhuang)87a818a - snowflake: annotate types for BITOR_AGG (PR #6251 by @fivetran-felixhuang)a1b884d - snowflake: annotate types for BITXOR_AGG (PR #6253 by @fivetran-felixhuang)71d93b1 - duckdb: implement casting to blob for UPPER() and move to helper method (PR #6254 by @toriwei)ad2ad23 - snowflake: add missing return type mapping for MAX_BY and MAX_BY function (PR #6250 by @fivetran-ashashankar)39c1d81 - snowflake: annotate types for BOOLXOR_AGG (PR #6261 by @fivetran-felixhuang)71590d2 - snowflake: add type annotation for SKEW function. (PR #6262 by @fivetran-ashashankar)5fd366d - snowflake: annotate types for OBJECT_AGG (PR #6265 by @fivetran-felixhuang)3dae0fb - duckdb: Support position and occurrence args for REGEXP_EXTRACT (PR #6266 by @vchan)dba0414 - clickhouse: Parse toStartOfxxx into exp.TimestampTrunc (PR #6268 by @joeyutong)d959ad0 - transpile DuckDB exclusive end RANGE to SEQUENCE (PR #6270 by @georgesittas)
771732d - snowflake: annotate types for REGR_AVGY (PR #6271 by @fivetran-felixhuang)8470be0 - snowflake: add type annotation for BITMAP_COUNT function. (PR #6274 by @fivetran-ashashankar)98f25f9 - clickhouse: support splitBy function (PR #6278 by @joeyutong)fabbf05 - duckDB: Add support for shorthand struct array literals in duckDB. (PR #6233 by @fivetran-amrutabhimsenayachit)a909fde - duckdb: Add support for CREATE MACRO (PR #6292 by @VaggelisD)
11989be - add more expressions with positional meta (PR #6289 by @tobymao)87651a6 - semantic facts closes #6287 (PR #6288 by @tobymao)9c1a222 - snowflake: add type annotation for BITMAP_CONSTRUCT_AGG function. (PR #6285 by @fivetran-ashashankar)358105d - snowflake: type annotation for BITMAP_BIT_POSITION function (PR #6301 by @fivetran-ashashankar)4ee7a50 - snowflake: type inference for BITMAP_OR_AGG (PR #6297 by @fivetran-ashashankar)fcd537d - snowflake: conflict resolution. type annotation for BITMAP_BUCKET_NUMBER function. Tests added all dialects that support BITMAP_BUCKET_NUMBER (PR #6299 by @fivetran-ashashankar)3dffd59 - snowflake: annotate types for PERCENTILE_DISC and WithinGroup (PR #6300 by @fivetran-felixhuang)6ce3cd7 - sqlite: support binary MATCH operator closes #6305 (PR #6306 by @georgesittas)e903883 - snowflake: type annotation for APPROX_TOP_K_ACCUMULATE functio… (PR #6309 by @fivetran-ashashankar)afc0242 - duckDB: Cast inputs (BLOB → VARCHAR) for duckDB STARTS_WITH (PR #6240 by @fivetran-amrutabhimsenayachit)d170bbd - duckdb: transpile bigquery's BYTES variant of REPLACE (PR #6312 by @toriwei)d3fefad - tsql: support DATEDIFF_BIG (PR #6323 by @lBilali)21d1468 - optimizer: annotate type for APPROX_TOP_K (PR #6286 by @fivetran-MichaelLee)93b4039 - duckdb: preserve time zone and timestamp in DATE_TRUNC() (PR #6318 by @toriwei)b71990f - duckdb: Add transpilation support for ANY_VALUE function with HAVING MAX and MIN clauses (PR #6325 by @fivetran-amrutabhimsenayachit)64c0d55 - sqlite: support indexed table clause closes #6331 (commit by @georgesittas)6725217 - sqlite: support NOT NULL operator closes #6334 closes #6335 (commit by @georgesittas)e7ddad1 - optimizer: ensure NULL coerces into any type (PR #6211 by @fivetran-ashashankar)4c4189b - Transpile CONCAT function to double pipe operators when source … (PR #6241 by @vchan)fc78d20 - parser: Unwrap subqueries without modifiers (PR #6247 by @VaggelisD)
7ad4c17 - databricks: Support table names in FROM STREAM (PR #6259 by @roveo)00abc39 - generator: handle casting for bytestrings (PR #6252 by @toriwei)bcf2eac - duckdb: map int8 to bigint instead of tinyint fixes #6269 (commit by @georgesittas)ddea61d - optimizer: simplify connector complements only for non-null operands (PR #6214 by @geooo109)
e17320e - Handle edge cases in for DuckDB RANGE to Spark SEQUENCE transpilation (PR #6276 by @joeyutong)33b6218 - sqlsecurityproperty parseerror (PR #6280 by @ds-cbo)
c02b64c - optimizer: Handle pseudocolumns differently than columns (PR #6273 by @VaggelisD)
05c5181 - optimizer: refactor Connector simplification to factor in types (PR #6152 by @geooo109)
cb0bcff - duckdb: cast UUID() output to varchar when source dialect UUID() returns string (PR #6284 by @toriwei)f9287f7 - optimizer: robust deduplication of connectors (PR #6296 by @geooo109)
ea0ea79 - clickhouse: Parse LIKE functions (PR #6314 by @VaggelisD)
bbd4c90 - sqlite: support IS with identifier as RHS (PR #6316 by @geooo109)
65d213a - dialect: fix typo from millenium to millennium #6321 (commit by @lBilali)c9d1615 - tsql: map iso_week with the correct python directive from strftime (PR #6322 by @lBilali)85ddcc5 - bigquery: Do not normalize JSON fields in dot notation (PR #6320 by @VaggelisD)933e981 - optimizer: more robust NULL reduction (PR #6327 by @geooo109)e1c6d57 - parser: improve between .. preceding .. following parser fixes #6332 (commit by @georgesittas)65706e8 - avoid full traversal for pushdown_cte_alias_columns (commit by @tobymao)c81258e - parser: allow using OVER token as unquoted identifier (PR #6338 by @georgesittas)
73abfac - redshift: do not inherit postgres ROUND generator closes #6340 (commit by @georgesittas)9c98fc2 - optimizer: avoid extra copy in simplify (commit by @geooo109)43985fb - snowflake: remove redundant tests for ANY_VALUE (commit by @geooo109)bf7b032 - clean up struct name inheritance (PR #6295 by @georgesittas)49e0f43 - extra test for spark approx_top_k_accumulate (commit by @geooo109)d7be4a5 - optimizer: add annotation test for COALESCE (PR #6210 by @fivetran-felixhuang)8aa7356 - optimizer: add annotation tests for IFF (PR #6215 by @fivetran-felixhuang)160a1b9 - optimizer: mixed type annotation test for sf IFNULL (commit by @geooo109)893ad2a - optimizer: add annotation tests for NULLIF (PR #6221 by @fivetran-MichaelLee)78d7733 - remove redundant or term for unknown in annotate_types (commit by @georgesittas)b202f3a - optimizer: add test for BITXOR (PR #6223 by @fivetran-felixhuang)b20f2e8 - optimizer: add test for BITSHIFTLEFT (PR #6227 by @fivetran-felixhuang)7f93e85 - optimizer: add annotation tests for BITSHIFTRIGHT (PR #6228 by @fivetran-felixhuang)fcf017c - rename EXPRESSION_SPEC to EXPRESSION_METADATA (commit by @georgesittas)55bc9e4 - remove predicate/connector/not from typing metadata (commit by @georgesittas)349ab29 - optimizer: add annotation test for BOOLAND_OR (PR #6260 by @fivetran-MichaelLee)75ec424 - optimizer: add annotation test for BOOLAND_AGG (PR #6257 by @fivetran-MichaelLee)bb574aa - optimizer: add annotation test for ARRAY_AGG (PR #6264 by @fivetran-MichaelLee)a95c5cc - optimizer: add nonnull clickhouse column test case (commit by @georgesittas)6d6c689 - optimizer: add annotation tests for ANY_VALUE (PR #6275 by @fivetran-MichaelLee)2459f88 - Follow up of 6280 (PR #6281 by @VaggelisD)a7d33d0 - optimizer: add annotation tests for APPROX_PERCENTILE (PR #6283 by @fivetran-MichaelLee)1b2d139 - optimizer: add type annotation tests with window for sf APPROX_PERCENTILE (commit by @geooo109)d059648 - optimizer: add annotation tests for APPROX_COUNT_DISTINCT (PR #6282 by @fivetran-MichaelLee)6bd59ac - Follow up of PR 6288 (PR #6293 by @VaggelisD)546fd2a - Remove dead line in qualify_columns (PR #6304 by @VaggelisD)ac7ac19 - exasol: Implement ODBC date time literals in Exasol Sqlglot (PR #6311 by @nnamdi16)8d1d25c - exasol: Implement local qualifier for-aliases, in GROUP BY, WHERE AND HAVING clause in exasol dialect (PR #6277 by @nnamdi16)509b0aa - exasol: Implement day_of_week function (PR #6319 by @nnamdi16)due to `5242cdd` - annotate type for bq LENGTH *(commit by @geooo109)*:
due to 5242cdd - annotate type for bq LENGTH (commit by @geooo109):
annotate type for bq LENGTH
due to 0fc6dbf - add GREATEST_IGNORE_NULLS function support (PR #6161 by @fivetran-ashashankar):
add GREATEST_IGNORE_NULLS function support (#6161)
due to d382a31 - simplify double negation only if the inner expr is BOOLEAN (PR #6151 by @geooo109):
simplify double negation only if the inner expr is BOOLEAN (#6151)
due to bcf6c89 - add type annotation tests for snowflake BOOLAND (PR #6153 by @fivetran-felixhuang):
add type annotation tests for snowflake BOOLAND (#6153)
due to 52d1eec - Annotate type for snowflake TIMESTAMP_FROM_PARTS function (PR #6139 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TIMESTAMP_FROM_PARTS function (#6139)
due to 8651fe6 - annotate types for BOOLOR (PR #6159 by @fivetran-felixhuang):
annotate types for BOOLOR (#6159)
due to 812ba9a - Annotate type for snowflake date parts functions (PR #6158 by @fivetran-MichaelLee):
Annotate type for snowflake date parts functions (#6158)
due to 9f8c123 - make qualify table callback more generic (PR #6171 by @tobymao):
make qualify table callback more generic (#6171)
due to 74b4e7c - fix type annotation for Snowflake BOOLOR and BOOLAND (PR #6169 by @fivetran-felixhuang):
fix type annotation for Snowflake BOOLOR and BOOLAND (#6169)
due to ef87520 - Transpile REGEXP_REPLACE with 'g' option (PR #6174 by @VaggelisD):
Transpile REGEXP_REPLACE with 'g' option (#6174)
due to 93071e2 - Fix simplify_parens from removing negated (PR #6194 by @VaggelisD):
Fix simplify_parens from removing negated (#6194)
due to e90168a - annotate type for Snowflake's IS_NULL_VALUE function (PR #6186 by @fivetran-ashashankar):
annotate type for Snowflake's IS_NULL_VALUE function (#6186)
due to c93b535 - annotate type for LEAST_IGNORE_NULLS (PR #6196 by @fivetran-ashashankar):
annotate type for LEAST_IGNORE_NULLS (#6196)
due to f60c71f - annotate types for REGR_VALX (PR #6198 by @fivetran-felixhuang):
annotate types for REGR_VALX (#6198)
due to b82c571 - annotate types for REGR_VALY (PR #6206 by @fivetran-felixhuang):
annotate types for REGR_VALY (#6206)
5242cdd - optimizer: annotate type for bq LENGTH (commit by @geooo109)0fc6dbf - snowflake: add GREATEST_IGNORE_NULLS function support (PR #6161 by @fivetran-ashashankar)54ecadc - duckdb: support KV_METADATA in COPY statement closes #6165 (commit by @georgesittas)e241964 - duckdb: support USING condition for MERGE closes #6162 (commit by @georgesittas)bcf6c89 - optimizer: add type annotation tests for snowflake BOOLAND (PR #6153 by @fivetran-felixhuang)52d1eec - optimizer: Annotate type for snowflake TIMESTAMP_FROM_PARTS function (PR #6139 by @fivetran-amrutabhimsenayachit)8651fe6 - optimizer: annotate types for BOOLOR (PR #6159 by @fivetran-felixhuang)812ba9a - optimizer: Annotate type for snowflake date parts functions (PR #6158 by @fivetran-MichaelLee)9f8c123 - make qualify table callback more generic (PR #6171 by @tobymao)74b4e7c - optimizer: fix type annotation for Snowflake BOOLOR and BOOLAND (PR #6169 by @fivetran-felixhuang)e90168a - optimizer: annotate type for Snowflake's IS_NULL_VALUE function (PR #6186 by @fivetran-ashashankar)cea2595 - duckdb: Transpile DATE function from BQ->DuckDB (PR #6178 by @fivetran-amrutabhimsenayachit)00aaa47 - duckDB: Transpile BigQuery's CURRENT_DATE (Conversion) function to DuckDB (PR #6189 by @fivetran-amrutabhimsenayachit)c93b535 - snowflake: annotate type for LEAST_IGNORE_NULLS (PR #6196 by @fivetran-ashashankar)d2162fb - check same ref on Expression.eq (PR #6200 by @georgesittas)f60c71f - optimizer: annotate types for REGR_VALX (PR #6198 by @fivetran-felixhuang)42e0ae4 - duckdb: transpile BigQuery function TIMESTAMP_SUB to DuckDB (PR #6202 by @toriwei)b82c571 - snowflake: annotate types for REGR_VALY (PR #6206 by @fivetran-felixhuang)3acf796 - duckdb: Allow ESCAPE NULL (PR #6164 by @VaggelisD)
f7f1fca - duckdb: Support positional index in list comprehension (PR #6163 by @VaggelisD)
d382a31 - optimizer: simplify double negation only if the inner expr is BOOLEAN (PR #6151 by @geooo109)
dfe6b3c - optimizer: Disambiguate JOIN ON columns during qualify (PR #6155 by @VaggelisD)
f267ece - normalize before qualifying tables (PR #6176 by @georgesittas)
ef87520 - postgres, duckdb: Transpile REGEXP_REPLACE with 'g' option (PR #6174 by @VaggelisD)
51a8d70 - parser: allow LIMIT % OFFSET (PR #6184 by @toriwei)
8bf0a9f - duckdb: Cast literal arg to timestamp for epoch_us function (PR #6190 by @vchan)93071e2 - optimizer: Fix simplify_parens from removing negated (PR #6194 by @VaggelisD)
2ac3a03 - lineage: correct star detection and add join star tests (PR #6185 by @lancewl)c9ae2eb - duckdb: transpile BigQuery TIMESTAMP_ADD to duckdb (PR #6188 by @toriwei)ba0e17a - snowflake: Transpile ARRAY_CONCAT_AGG to ARRAY_FLATTEN(ARRAY_AGG(...)) (PR #6192 by @ozadari)730e4cc - trino: Allow 2nd arg for FIRST/LAST functions (PR #6205 by @VaggelisD)
6d775fd - snowflake GREATEST type checks (commit by @geooo109)e797fb1 - update LIKE operator when using functional syntax with spark dialect (PR #6173 by @themattmorris)
aca106c - optimizer: add type annotation tests for snowflake GREATEST (PR #6157 by @fivetran-ashashankar)f763604 - add IS [NOT] tests (commit by @georgesittas)1ab5854 - optimizer: add snowflake test for [NOT] IN (PR #6180 by @fivetran-felixhuang)64939ce - optimizer: add annotation tests for ZEROIFNULL (PR #6187 by @fivetran-felixhuang)4b6bcdd - optimizer: Add tests for snowflake's NULLIFZERO (PR #6197 by @fivetran-felixhuang)ef68075 - optimizer: add annotation tests for NVL2 (PR #6208 by @fivetran-felixhuang)7f550f2 - optimizer: add annotation tests for NVL (PR #6207 by @fivetran-felixhuang)Nothing published for this version
due to `2238ac2` - transpile timestamp literals in datediff fixes #6083 *(PR #6086 by @georgesittas)*:
due to 2238ac2 - transpile timestamp literals in datediff fixes #6083 (PR #6086 by @georgesittas):
transpile timestamp literals in datediff fixes #6083 (#6086)
due to c49ba0e - Annotate type for snowflake WIDTH_BUCKET function (PR #6078 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake WIDTH_BUCKET function (#6078)
due to fbc1f13 - annotate type for Snowflake CONVERT_TIMEZONE function (PR #6076 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake CONVERT_TIMEZONE function (#6076)
due to 70e977c - annotate type for Snowflake DATE_TRUNC function (PR #6080 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake DATE_TRUNC function (#6080)
due to e9cf146 - annotate type for Snowflake DATE_PART function (PR #6079 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake DATE_PART function (#6079)
due to 5109890 - VALUES with ORDER BY/LIMIT/OFFSET (PR #6094 by @geooo109):
VALUES with ORDER BY/LIMIT/OFFSET (#6094)
due to 6fe5824 - Annotate type for hour, minute, second functions (PR #6100 by @fivetran-amrutabhimsenayachit):
Annotate type for hour, minute, second functions (#6100)
due to a4d07a0 - Annotate type for snowflake EXTRACT function (PR #6099 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake EXTRACT function (#6099)
due to 483770b - Annotate type for snowflake TIME_SLICE function (PR #6098 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TIME_SLICE function (#6098)
due to 06f40f9 - don't simplify x XOR x due to NULL semantics (PR #6115 by @geooo109):
don't simplify x XOR x due to NULL semantics (#6115)
due to c286cee - Annotate type for snowflake MONTHNAME function (PR #6116 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake MONTHNAME function (#6116)
due to 1a34788 - Annotate type for snowflake PREVIOUS_DAY function (PR #6117 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake PREVIOUS_DAY function (#6117)
due to 533faf8 - transpile duckdb READ_PARQUET to parquet.<path> closes #6122 (commit by @georgesittas):
transpile duckdb READ_PARQUET to parquet.<path> closes #6122
due to cd4e557 - Annotate type for snowflake RANDOM function (PR #6124 by @fivetran-felixhuang):
Annotate type for snowflake RANDOM function (#6124)
due to fe63d84 - annotate type for Snowflake MONTHS_BETWEEN function (PR #6120 by @fivetran-MichaelLee):
annotate type for Snowflake MONTHS_BETWEEN function (#6120)
due to 598d09b - annotate type for Snowflake DATEADD function (PR #6089 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake DATEADD function (#6089)
due to b98bcee - Annotate type for snowflake next_day function (PR #6125 by @fivetran-ashashankar):
Annotate type for snowflake next_day function (#6125)
due to e2129c6 - Do not consider BIT_COUNT an aggregate function (PR #6135 by @VaggelisD):
Do not consider BIT_COUNT an aggregate function (#6135)
due to d136414 - avoid simplifying AND with NULL (PR #6148 by @geooo109):
avoid simplifying AND with NULL (#6148)
due to 3a334f3 - annotate type for boolnot snowflake function (PR #6141 by @fivetran-felixhuang):
annotate type for boolnot snowflake function (#6141)
due to 99949cc - avoid needlessly copying in lineage (PR #6150 by @georgesittas):
avoid needlessly copying in lineage (#6150)
due to 4e36f9d - Annotate type for snowflake TIMEADD function (PR #6134 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TIMEADD function (#6134)
c49ba0e - optimizer: Annotate type for snowflake WIDTH_BUCKET function (PR #6078 by @fivetran-amrutabhimsenayachit)fbc1f13 - optimizer: annotate type for Snowflake CONVERT_TIMEZONE function (PR #6076 by @fivetran-BradfordPaskewitz)70e977c - optimizer: annotate type for Snowflake DATE_TRUNC function (PR #6080 by @fivetran-BradfordPaskewitz)e9cf146 - optimizer: annotate type for Snowflake DATE_PART function (PR #6079 by @fivetran-BradfordPaskewitz)cdf3b1b - optimizer: Annotate type for snowflake add_months function (PR #6097 by @fivetran-amrutabhimsenayachit)6fe5824 - optimizer: Annotate type for hour, minute, second functions (PR #6100 by @fivetran-amrutabhimsenayachit)483770b - optimizer: Annotate type for snowflake TIME_SLICE function (PR #6098 by @fivetran-amrutabhimsenayachit)071a995 - tsql: add support for iso_week on DATEPART (PR #6111 by @lBilali)
c286cee - optimizer: Annotate type for snowflake MONTHNAME function (PR #6116 by @fivetran-amrutabhimsenayachit)1a34788 - optimizer: Annotate type for snowflake PREVIOUS_DAY function (PR #6117 by @fivetran-amrutabhimsenayachit)533faf8 - spark: transpile duckdb READ_PARQUET to parquet.<path> closes #6122 (commit by @georgesittas)cd4e557 - optimizer: Annotate type for snowflake RANDOM function (PR #6124 by @fivetran-felixhuang)fe63d84 - optimizer: annotate type for Snowflake MONTHS_BETWEEN function (PR #6120 by @fivetran-MichaelLee)7cb7598 - optimizer: Annotate type for snowflake TIME_FROM_PARTS function (PR #6119 by @fivetran-amrutabhimsenayachit)598d09b - optimizer: annotate type for Snowflake DATEADD function (PR #6089 by @fivetran-BradfordPaskewitz)b98bcee - optimizer: Annotate type for snowflake next_day function (PR #6125 by @fivetran-ashashankar)fe1927f - duckdb: Transpile unix_micros to epoch_us (PR #6127 by @vchan)a531f10 - duckdb: transpile TimeSub (PR #6142 by @toriwei)b1a9dff - make qualify faster by owly resetting scope when needed (PR #6081 by @tobymao)3a334f3 - optimizer: annotate type for boolnot snowflake function (PR #6141 by @fivetran-felixhuang)4e36f9d - optimizer: Annotate type for snowflake TIMEADD function (PR #6134 by @fivetran-amrutabhimsenayachit)2238ac2 - duckdb: transpile timestamp literals in datediff fixes #6083 (PR #6086 by @georgesittas)bef541c - parser: query mods and set ops in FROM-first syntax (PR #6092 by @geooo109)
5109890 - parser: VALUES with ORDER BY/LIMIT/OFFSET (PR #6094 by @geooo109)
4b062c8 - consume more syntax for cubes/rollups fixes #6101 (commit by @georgesittas)f00866a - duckdb: 1 arg FORMAT func (PR #6109 by @geooo109)
77dfd5a - lineage does not modify sql input if expression (PR #6113 by @snovik75)
06f40f9 - optimizer: don't simplify x XOR x due to NULL semantics (PR #6115 by @geooo109)
03e2dff - allow parsing analyze as an identifier fixes #6123 (commit by @georgesittas)8744431 - transpile bigquery DATETIME_DIFF to duckdb (PR #6126 by @toriwei)
b94e81b - optimizer: avoid removing string literals from WHERE clause (PR #6131 by @geooo109)
e2129c6 - optimizer: Do not consider BIT_COUNT an aggregate function (PR #6135 by @VaggelisD)
03bfeed - starrocks: disable IS TRUE/FALSE syntax support (PR #6145 by @petrikoro)
d136414 - optimizer: avoid simplifying AND with NULL (PR #6148 by @geooo109)
1fd9991 - clickhouse: NOT + IN precedence (PR #6149 by @georgesittas)
58dbce3 - bq static type annotators (PR #6103 by @geooo109)c970235 - clean up MONTHNAME test (commit by @geooo109)d36ba87 - optimizer: add tests for Snowflake DATE_FROM_PARTS function (PR #6077 by @fivetran-BradfordPaskewitz)2bc05cf - optimizer: add tests for Snowflake DATEDIFF function (PR #6090 by @fivetran-BradfordPaskewitz)a4d07a0 - optimizer: Annotate type for snowflake EXTRACT function (PR #6099 by @fivetran-amrutabhimsenayachit)ab1da2e - optimizer: add type annotation tests for snowflake LAST_DAY function (PR #6105 by @fivetran-amrutabhimsenayachit)4e24c0a - optimizer: add type annotation tests for snowflake TIMESTAMPDIFF function (PR #6138 by @fivetran-MichaelLee)ae8571f - optimizer: add type annotation tests for snowflake TIMEDIFF (PR #6140 by @fivetran-felixhuang)3059320 - copy by default in lineage (commit by @georgesittas)99949cc - avoid needlessly copying in lineage (PR #6150 by @georgesittas)e7756d8 - optimizer: add annotation tests for snowflake's BOOLXOR (PR #6154 by @fivetran-felixhuang)72e43e3 - optimizer: add type annotation tests for snowflake's TIMESTAMPADD function (PR #6146 by @fivetran-ashashankar)due to `c67276d` - Annotate type for snowflake RADIANS function. *(PR #6064 by @fivetran-amrutabhimsenayachit)*:
due to c67276d - Annotate type for snowflake RADIANS function. (PR #6064 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake RADIANS function. (#6064)
c67276d - optimizer: Annotate type for snowflake RADIANS function. (PR #6064 by @fivetran-amrutabhimsenayachit)dab2a3f - bump sqlglotrs version to 0.7.3 (commit by @georgesittas)due to `9060f60` - Annotate type for snowflake ATAN2 function. *(PR #6060 by @fivetran-amrutabhimsenayachit)*:
due to 9060f60 - Annotate type for snowflake ATAN2 function. (PR #6060 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake ATAN2 function. (#6060)
due to b3eb2e4 - annotate type for Snowflake SINH function (PR #6052 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake SINH function (#6052)
due to 157d2fa - annotate type for Snowflake CEIL function (PR #6051 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake CEIL function (#6051)
due to e7833de - support DELETE with USING and multiple VALUES (PR #6072 by @geooo109):
support DELETE with USING and multiple VALUES (#6072)
due to 354140d - Annotate type for snowflake TANH and ATAN functions (PR #6069 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TANH and ATAN functions (#6069)
9060f60 - optimizer: Annotate type for snowflake ATAN2 function. (PR #6060 by @fivetran-amrutabhimsenayachit)b3eb2e4 - optimizer: annotate type for Snowflake SINH function (PR #6052 by @fivetran-BradfordPaskewitz)440b960 - duckdb: support USING KEY (...) in recursive DuckDB CTEs (PR #6068 by @georgesittas)
157d2fa - optimizer: annotate type for Snowflake CEIL function (PR #6051 by @fivetran-BradfordPaskewitz)eb6d6e7 - duckdb: support DEFAULT VALUES clause in INSERT DML (PR #6067 by @georgesittas)
354140d - optimizer: Annotate type for snowflake TANH and ATAN functions (PR #6069 by @fivetran-amrutabhimsenayachit)c94e3e0 - add ColumnDef expression parser (PR #6075 by @geooo109)2c7cc29 - duckdb: Transform exp.HexString to BLOB in hex notation (PR #6045 by @VaggelisD)
e7833de - parser: support DELETE with USING and multiple VALUES (PR #6072 by @geooo109)
75b8d16 - remove docs from main branch (PR #6057 by @georgesittas)cfa2493 - optimizer: Annotate type for snowflake SQUARE function (PR #6059 by @fivetran-amrutabhimsenayachit)e26c394 - optimizer: Annotate type for snowflake POW function (PR #6058 by @fivetran-amrutabhimsenayachit)7d303ad - include Python 3.14 in the testing matrix (PR #6074 by @georgesittas)Nothing published for this version
Nothing published for this version
due to `6f31b86` - Annotate type for snowflake FLOOR function *(PR #6030 by @fivetran-amrutabhimsenayachit)*:
due to 6f31b86 - Annotate type for snowflake FLOOR function (PR #6030 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake FLOOR function (#6030)
due to cecab2f - annotate type for Snowflake ATANH function (PR #6054 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake ATANH function (#6054)
due to 08339a9 - annotate type for Snowflake FACTORIAL function (PR #6053 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake FACTORIAL function (#6053)
6f31b86 - optimizer: Annotate type for snowflake FLOOR function (PR #6030 by @fivetran-amrutabhimsenayachit)b7463d5 - optimizer: Annotate type for snowflake ASIN function. (PR #6049 by @fivetran-amrutabhimsenayachit)fe959a5 - optimizer: Annotate type for snowflake CBRT function (PR #6050 by @fivetran-amrutabhimsenayachit)cecab2f - optimizer: annotate type for Snowflake ATANH function (PR #6054 by @fivetran-BradfordPaskewitz)08339a9 - optimizer: annotate type for Snowflake FACTORIAL function (PR #6053 by @fivetran-BradfordPaskewitz)15030a3 - optimizer: Add tests for snowflake LN and LOG functions (PR #6048 by @fivetran-amrutabhimsenayachit)2ae8dbd - push docs to api-docs branch instead of main (commit by @georgesittas)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
due to `7ac01c2` - bump sqlglotrs to 0.7.1 *(commit by @georgesittas)*:
due to 7ac01c2 - bump sqlglotrs to 0.7.1 (commit by @georgesittas):
bump sqlglotrs to 0.7.1
7ac01c2 - bump sqlglotrs to 0.7.1 (commit by @georgesittas)due to `6beb917` - Annotate type for snowflake ROUND function *(PR #6032 by @fivetran-amrutabhimsenayachit)*:
due to 6beb917 - Annotate type for snowflake ROUND function (PR #6032 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake ROUND function (#6032)
due to 0939d69 - move odbc date literal handling in t-sql closes #6037 (PR #6044 by @georgesittas):
move odbc date literal handling in t-sql closes #6037 (#6044)
due to 56c8b3b - Support CHANGE COLUMN statements in Hive and CHANGE/ALTER COLUMN statements in Spark (PR #6004 by @tsamaras):
Support CHANGE COLUMN statements in Hive and CHANGE/ALTER COLUMN statements in Spark (#6004)
6beb917 - optimizer: Annotate type for snowflake ROUND function (PR #6032 by @fivetran-amrutabhimsenayachit)8e03ad9 - optimizer: Annotate type for snowflake MOD function (PR #6031 by @fivetran-amrutabhimsenayachit)15b3fac - mysql: support FOR ORDINALITY clause in COLUMN expression (PR #6046 by @georgesittas)
56c8b3b - hive,spark: Support CHANGE COLUMN statements in Hive and CHANGE/ALTER COLUMN statements in Spark (PR #6004 by @tsamaras)6a6ca92 - parser: Allow nested GROUPING SETS (PR #6041 by @VaggelisD)
41baeaa - optimizer: more robust CROSS JOIN substitution and JOIN reordering (PR #6021 by @geooo109)
e2f299f - allow subqueries to have modifiers closes #6014 (PR #6034 by @tobymao)0d65266 - parse lambda for arg_min/max arguments closes #6036 (PR #6042 by @georgesittas)0939d69 - move odbc date literal handling in t-sql closes #6037 (PR #6044 by @georgesittas)65848e5 - tsql: UPDATE with OPTIONS (PR #6043 by @geooo109)
due to `3c7b5c0` - Annotate type for snowflake SOUNDEX_P123 function *(PR #5987 by @fivetran-amrutabhimsenayachit)*:
due to 3c7b5c0 - Annotate type for snowflake SOUNDEX_P123 function (PR #5987 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake SOUNDEX_P123 function (#5987)
due to f25e42e - annotate type for Snowflake REGEXP_INSTR function (PR #5978 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake REGEXP_INSTR function (#5978)
due to 13cb26e - annotate type for Snowflake REGEXP_SUBSTR_ALL function (PR #5979 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake REGEXP_SUBSTR_ALL function (#5979)
due to 4ce683e - Annotate type for snowflake UNICODE function (PR #5993 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake UNICODE function (#5993)
due to c7657fb - remove unalias_group_by transformation since it is unsafe (PR #5997 by @georgesittas):
remove unalias_group_by transformation since it is unsafe (#5997)
due to 587196c - Annotate type for snowflake STRTOK_TO_ARRAY function (PR #5994 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake STRTOK_TO_ARRAY function (#5994)
due to bced710 - Annotate type for snowflake STRTOK function. (PR #5991 by @georgesittas):
Annotate type for snowflake STRTOK function. (#5991)
due to be1cdc8 - Fix roundtrip of ~ operator (PR #6017 by @VaggelisD):
Fix roundtrip of ~ operator (#6017)
due to 74a13f2 - Annotate type for snowflake DIV0 and DIVNULL functions (PR #6008 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake DIV0 and DIVNULL functions (#6008)
due to fec2b31 - Annotate type for snowflake SEARCH function (PR #5985 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake SEARCH function (#5985)
due to 27a76cd - Annotate type for snowflake COT, SIN and TAN functions (PR #6022 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake COT, SIN and TAN functions (#6022)
due to 0911276 - annotate type for Snowflake EXP function (PR #6007 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake EXP function (#6007)
due to a96d50e - annotate type for Snowflake COSH function (PR #6006 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake COSH function (#6006)
due to 4df58e0 - annotate type for Snowflake DEGREES function (PR #6027 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake DEGREES function (#6027)
due to db71a20 - annotate type for Snowflake COS function (PR #6028 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake COS function (#6028)
due to 5dd2ed3 - bump sqlglotrs to 0.7.0 (commit by @georgesittas):
bump sqlglotrs to 0.7.0
3c7b5c0 - optimizer: Annotate type for snowflake SOUNDEX_P123 function (PR #5987 by @fivetran-amrutabhimsenayachit)475c09b - optimizer: Annotate type for snowflake TRANSLATE function (PR #5992 by @fivetran-amrutabhimsenayachit)f25e42e - optimizer: annotate type for Snowflake REGEXP_INSTR function (PR #5978 by @fivetran-BradfordPaskewitz)13cb26e - optimizer: annotate type for Snowflake REGEXP_SUBSTR_ALL function (PR #5979 by @fivetran-BradfordPaskewitz)4ce683e - optimizer: Annotate type for snowflake UNICODE function (PR #5993 by @fivetran-amrutabhimsenayachit)587196c - optimizer: Annotate type for snowflake STRTOK_TO_ARRAY function (PR #5994 by @fivetran-amrutabhimsenayachit)bced710 - optimizer: Annotate type for snowflake STRTOK function. (PR #5991 by @georgesittas)74a13f2 - optimizer: Annotate type for snowflake DIV0 and DIVNULL functions (PR #6008 by @fivetran-amrutabhimsenayachit)fec2b31 - optimizer: Annotate type for snowflake SEARCH function (PR #5985 by @fivetran-amrutabhimsenayachit)27a76cd - optimizer: Annotate type for snowflake COT, SIN and TAN functions (PR #6022 by @fivetran-amrutabhimsenayachit)8b48f7b - optimizer: Annotate type for snowflake SIGN and ABS functions (PR #6025 by @fivetran-amrutabhimsenayachit)0911276 - optimizer: annotate type for Snowflake EXP function (PR #6007 by @fivetran-BradfordPaskewitz)a96d50e - optimizer: annotate type for Snowflake COSH function (PR #6006 by @fivetran-BradfordPaskewitz)4df58e0 - optimizer: annotate type for Snowflake DEGREES function (PR #6027 by @fivetran-BradfordPaskewitz)db71a20 - optimizer: annotate type for Snowflake COS function (PR #6028 by @fivetran-BradfordPaskewitz)51b1bb1 - move WATERMARK logic to risingwave fixes #5989 (commit by @georgesittas)033ddf0 - optimizer: convert INNER JOINs to LEFT JOINs when merging LEFT JOIN subqueries (PR #5980 by @geooo109)
c7657fb - remove unalias_group_by transformation since it is unsafe (PR #5997 by @georgesittas)
b6f9694 - optimizer: avoid merging subquery with JOIN when outer query uses JOIN (PR #5999 by @geooo109)23fd7b9 - respect multi-part Column units instead of converting to Var (PR #6005 by @georgesittas)be1cdc8 - duckdb: Fix roundtrip of ~ operator (PR #6017 by @VaggelisD)
27c278f - parser: Allow LIMIT with % percentage (PR #6019 by @VaggelisD)39bf3f8 - parser: Allow CUBE & ROLLUP inside GROUPING SETS (PR #6018 by @VaggelisD)
ba7ad34 - duckdb: Parse ROW type as STRUCT (PR #6020 by @VaggelisD)
718d6bb - handle unicode heredoc tags & Rust grapheme clusters properly (PR #6024 by @georgesittas)
c8cfb9d - snowflake: transpile ARRAY_CONTAINS with VARIANT CAST (PR #6029 by @geooo109)
1b1c6f8 - coerce type for EXTRACT canonicalization (PR #5998 by @geooo109)
f00ae73 - optimizer: Annotate type for sqrt function (PR #6003 by @fivetran-amrutabhimsenayachit)ac97f14 - simplify SEARCH Snowflake instantiation (commit by @georgesittas)5dd2ed3 - bump sqlglotrs to 0.7.0 (commit by @georgesittas)due to `13a30df` - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function *(PR #5972 by @fivetran-amrutabhimsenayachit)*:
due to 13a30df - Annotate type for snowflake TRY_BASE64_DECODE_BINARY function (PR #5972 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TRY_BASE64_DECODE_BINARY function (#5972)
due to 1f5fdd7 - Annotate type for snowflake TRY_BASE64_DECODE_STRING function (PR #5974 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TRY_BASE64_DECODE_STRING function (#5974)
due to 324e82f - Annotate type for snowflake TRY_HEX_DECODE_BINARY function (PR #5975 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TRY_HEX_DECODE_BINARY function (#5975)
due to 6caf99d - Annotate type for snowflake TRY_HEX_DECODE_STRING function (PR #5976 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake TRY_HEX_DECODE_STRING function (#5976)
due to 73186a8 - annotate type for Snowflake REGEXP_COUNT function (PR #5963 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake REGEXP_COUNT function (#5963)
due to c3bdb3c - array start index is 1, support array_flatten, fixes #5983 (commit by @georgesittas):
array start index is 1, support array_flatten, fixes #5983
due to 244fb48 - annotate type for Snowflake SPLIT_PART function (PR #5988 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake SPLIT_PART function (#5988)
due to 0d772e0 - add ast node for DIRECTORY source (PR #5990 by @georgesittas):
add ast node for DIRECTORY source (#5990)
13a30df - optimizer: Annotate type for snowflake TRY_BASE64_DECODE_BINARY function (PR #5972 by @fivetran-amrutabhimsenayachit)1f5fdd7 - optimizer: Annotate type for snowflake TRY_BASE64_DECODE_STRING function (PR #5974 by @fivetran-amrutabhimsenayachit)324e82f - optimizer: Annotate type for snowflake TRY_HEX_DECODE_BINARY function (PR #5975 by @fivetran-amrutabhimsenayachit)6caf99d - optimizer: Annotate type for snowflake TRY_HEX_DECODE_STRING function (PR #5976 by @fivetran-amrutabhimsenayachit)73186a8 - optimizer: annotate type for Snowflake REGEXP_COUNT function (PR #5963 by @fivetran-BradfordPaskewitz)6124de7 - optimizer: Annotate type for snowflake SOUNDEX function (PR #5986 by @fivetran-amrutabhimsenayachit)244fb48 - optimizer: annotate type for Snowflake SPLIT_PART function (PR #5988 by @fivetran-BradfordPaskewitz)0d772e0 - snowflake: add ast node for DIRECTORY source (PR #5990 by @georgesittas)7a3744f - sqlite: support RANGE CURRENT ROW in window spec (commit by @georgesittas)c3bdb3c - starrocks: array start index is 1, support array_flatten, fixes #5983 (commit by @georgesittas)due to `68473ac` - Annotate type for snowflake PARSE_URL function *(PR #5962 by @fivetran-amrutabhimsenayachit)*:
due to 68473ac - Annotate type for snowflake PARSE_URL function (PR #5962 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake PARSE_URL function (#5962)
due to b015a9d - annotate type for Snowflake REGEXP_INSTR function (commit by @fivetran-BradfordPaskewitz):
annotate type for Snowflake REGEXP_INSTR function
due to 1f29ba7 - annotate type for Snowflake PARSE_IP function (PR #5961 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake PARSE_IP function (#5961)
due to bf45d5d - annotate types for Snowflake RTRIMMED_LENGTH function (PR #5968 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake RTRIMMED_LENGTH function (#5968)
due to 13caa69 - Annotate type for snowflake POSITION function (PR #5964 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake POSITION function (#5964)
88e4e4c - optimizer: Annotate type for OCTET_LENGTH function (PR #5960 by @fivetran-amrutabhimsenayachit)68473ac - optimizer: Annotate type for snowflake PARSE_URL function (PR #5962 by @fivetran-amrutabhimsenayachit)b015a9d - optimizer: annotate type for Snowflake REGEXP_INSTR function (commit by @fivetran-BradfordPaskewitz)1f29ba7 - optimizer: annotate type for Snowflake PARSE_IP function (PR #5961 by @fivetran-BradfordPaskewitz)bf45d5d - optimizer: annotate types for Snowflake RTRIMMED_LENGTH function (PR #5968 by @fivetran-BradfordPaskewitz)13caa69 - optimizer: Annotate type for snowflake POSITION function (PR #5964 by @fivetran-amrutabhimsenayachit)1471306 - support parse into grant principal and privilege (PR #5971 by @eakmanrq)1514bc6 - optimizer: add type inference tests for Snowflake RPAD function (PR #5967 by @fivetran-BradfordPaskewitz)050b89d - optimizer: Annotate type for snowflake regexp function (PR #5970 by @fivetran-amrutabhimsenayachit)due to `7f13eaf` - Annotate type for snowflake DECOMPRESS_BINARY function *(PR #5945 by @fivetran-amrutabhimsenayachit)*:
due to 7f13eaf - Annotate type for snowflake DECOMPRESS_BINARY function (PR #5945 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake DECOMPRESS_BINARY function (#5945)
due to be12b29 - Annotate type for snowflake DECOMPRESS_STRING function (PR #5947 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake DECOMPRESS_STRING function (#5947)
due to 1573fef - annotate types for Snowflake JAROWINKLER_SIMILARITY function (PR #5950 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake JAROWINKLER_SIMILARITY function (#5950)
due to 883c6ab - annotate type for Snowflake COLLATION function (PR #5939 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake COLLATION function (#5939)
7f13eaf - optimizer: Annotate type for snowflake DECOMPRESS_BINARY function (PR #5945 by @fivetran-amrutabhimsenayachit)be12b29 - optimizer: Annotate type for snowflake DECOMPRESS_STRING function (PR #5947 by @fivetran-amrutabhimsenayachit)a55fce5 - optimizer: Annotate type for snowflake LPAD function (PR #5948 by @fivetran-amrutabhimsenayachit)05e07aa - optimizer: annotate type for Snowflake INSERT function (PR #5942 by @fivetran-BradfordPaskewitz)6268e10 - solr: initial dialect implementation (PR #5946 by @aadel)1573fef - optimizer: annotate types for Snowflake JAROWINKLER_SIMILARITY function (PR #5950 by @fivetran-BradfordPaskewitz)883c6ab - optimizer: annotate type for Snowflake COLLATION function (PR #5939 by @fivetran-BradfordPaskewitz)627c18d - mysql: add valid INTERVAL units (PR #5951 by @geooo109)3846d4d - solr: properly support OR alternative operator (commit by @georgesittas)df428d5 - parser: interval identifier followed by END (PR #5944 by @geooo109)e178d16 - duckdb: UNNEST as table (PR #5953 by @geooo109)
24feb8e - parser: parse UPDATE clauses in any order (PR #5958 by @georgesittas)
980f99a - snowflake: properly generate inferred STRUCT data types (PR #5954 by @georgesittas)due to `f4ad258` - Annotate types for Snowflake BASE64_DECODE_BINARY function *(PR #5917 by @fivetran-amrutabhimsenayachit)*:
due to f4ad258 - Annotate types for Snowflake BASE64_DECODE_BINARY function (PR #5917 by @fivetran-amrutabhimsenayachit):
Annotate types for Snowflake BASE64_DECODE_BINARY function (#5917)
due to 6d0e3f8 - Add parser support to ilike like function versions. (PR #5915 by @fivetran-amrutabhimsenayachit):
Add parser support to ilike like function versions. (#5915)
due to 22c7ed7 - parse tuple (PR #5920 by @geooo109):
parse tuple (#5920)
due to fc5624e - annotate types for Snowflake ASCII function (PR #5926 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake ASCII function (#5926)
due to 4e81690 - annotate type for Snowflake COLLATE function (PR #5931 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake COLLATE function (#5931)
due to f07d35d - annotate type for Snowflake CHR function (PR #5929 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake CHR function (#5929)
due to f8c0ee4 - Add function and annotate snowflake hex decode string and binary functions (PR #5928 by @fivetran-amrutabhimsenayachit):
Add function and annotate snowflake hex decode string and binary functions (#5928)
due to 66f9501 - annotate types for Snowflake BIT_LENGTH function (PR #5927 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake BIT_LENGTH function (#5927)
due to 7878437 - annotate snowflake's BASE64_DECODE_STRING, BASE64_ENCODE (PR #5922 by @fivetran-amrutabhimsenayachit):
annotate snowflake's BASE64_DECODE_STRING, BASE64_ENCODE (#5922)
due to 9bcad04 - Annotate type for HEX ENCODE function. (PR #5936 by @fivetran-amrutabhimsenayachit):
Annotate type for HEX ENCODE function. (#5936)
due to 590928f - annotate type for Snowflake INITCAP function (PR #5941 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake INITCAP function (#5941)
due to ac04de1 - annotate type for Snowflake EDITDISTANCE function (PR #5940 by @fivetran-BradfordPaskewitz):
annotate type for Snowflake EDITDISTANCE function (#5940)
due to 9e28af8 - Annotate type for snowflake COMPRESS function (PR #5938 by @fivetran-amrutabhimsenayachit):
Annotate type for snowflake COMPRESS function (#5938)
f4ad258 - optimizer: Annotate types for Snowflake BASE64_DECODE_BINARY function (PR #5917 by @fivetran-amrutabhimsenayachit)6d0e3f8 - optimizer: Add parser support to ilike like function versions. (PR #5915 by @fivetran-amrutabhimsenayachit)fc5624e - optimizer: annotate types for Snowflake ASCII function (PR #5926 by @fivetran-BradfordPaskewitz)4e81690 - optimizer: annotate type for Snowflake COLLATE function (PR #5931 by @fivetran-BradfordPaskewitz)f07d35d - optimizer: annotate type for Snowflake CHR function (PR #5929 by @fivetran-BradfordPaskewitz)f8c0ee4 - optimizer: Add function and annotate snowflake hex decode string and binary functions (PR #5928 by @fivetran-amrutabhimsenayachit)66f9501 - optimizer: annotate types for Snowflake BIT_LENGTH function (PR #5927 by @fivetran-BradfordPaskewitz)f4c810e - transpile Trino FORMAT to DuckDB and Snowflake, closes #5933 (commit by @georgesittas)7878437 - optimizer: annotate snowflake's BASE64_DECODE_STRING, BASE64_ENCODE (PR #5922 by @fivetran-amrutabhimsenayachit)9bcad04 - optimizer: Annotate type for HEX ENCODE function. (PR #5936 by @fivetran-amrutabhimsenayachit)590928f - optimizer: annotate type for Snowflake INITCAP function (PR #5941 by @fivetran-BradfordPaskewitz)ac04de1 - optimizer: annotate type for Snowflake EDITDISTANCE function (PR #5940 by @fivetran-BradfordPaskewitz)a385990 - parser: support wrapped aggregate functions (PR #5943 by @geooo109)9e28af8 - optimizer: Annotate type for snowflake COMPRESS function (PR #5938 by @fivetran-amrutabhimsenayachit)6807a32 - escape byte string delimiters (PR #5916 by @georgesittas)22c7ed7 - clickhouse: parse tuple (PR #5920 by @geooo109)
223160b - parser: NULLABLE as an identifier (PR #5921 by @geooo109)
42cfc79 - snowflake: parse DAYOFWEEKISO (PR #5925 by @geooo109)
0be2cb4 - postgres: support DISTINCT qualifier in JSON_AGG fixes #5935 (commit by @georgesittas)e34b2e1 - allow grouping set parser to consume more syntax fixes #5937 (commit by @georgesittas)`d127051` - precedence issue with column operator parsing *(PR #5914 by @georgesittas)*
d127051 - precedence issue with column operator parsing (PR #5914 by @georgesittas)`837890c` - handle badly formed binary expressions gracefully in type inference *(commit by @georgesittas)*
837890c - handle badly formed binary expressions gracefully in type inference (commit by @georgesittas)`0e256b3` - edge case with parsing interval as identifier *(commit by @georgesittas)*
0e256b3 - edge case with parsing interval as identifier (commit by @georgesittas)due to `5a973e9` - annotate types for Snowflake AI_CLASSIFY function *(PR #5909 by @fivetran-BradfordPaskewitz)*:
due to 5a973e9 - annotate types for Snowflake AI_CLASSIFY function (PR #5909 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake AI_CLASSIFY function (#5909)
due to 2d0d908 - produce TableAlias instead of Alias for USING in merge builder (PR #5911 by @georgesittas):
produce TableAlias instead of Alias for USING in merge builder (#5911)
5a973e9 - optimizer: annotate types for Snowflake AI_CLASSIFY function (PR #5909 by @fivetran-BradfordPaskewitz)2d0d908 - produce TableAlias instead of Alias for USING in merge builder (PR #5911 by @georgesittas)
e8974e7 - optimizer: Add tests for snowflake likeall, likeany and ilikeany functions (PR #5908 by @fivetran-amrutabhimsenayachit)`bd3e965` - allow lock to be used as an identifier *(commit by @georgesittas)*
bd3e965 - allow lock to be used as an identifier (commit by @georgesittas)`d5cf114` - duckdb: support INSTALL *(PR #5904 by @geooo109)*
d5cf114 - duckdb: support INSTALL (PR #5904 by @geooo109)73e05bb - snowflake: properly generate BITNOT (PR #5906 by @YuvalOmerRep)16f317c - snowflake: add support for <model>!<attribute> syntax (PR #5907 by @georgesittas)`1ee026d` - postgres: support SUBSTRING(value FOR length FROM start) variant *(commit by @georgesittas)*
1ee026d - postgres: support SUBSTRING(value FOR length FROM start) variant (commit by @georgesittas)due to `96ae7a3` - Annotate and add tests for snowflake REPEAT and SPLIT functions *(PR #5875 by @fivetran-amrutabhimsenayachit)*:
due to 96ae7a3 - Annotate and add tests for snowflake REPEAT and SPLIT functions (PR #5875 by @fivetran-amrutabhimsenayachit):
Annotate and add tests for snowflake REPEAT and SPLIT functions (#5875)
due to f2d3bf7 - annotate types for Snowflake UUID_STRING function (PR #5881 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake UUID_STRING function (#5881)
due to ec80ff3 - make dump a list instead of a nested dict to avoid all recursion errors (PR #5885 by @tobymao):
make dump a list instead of a nested dict to avoid all recursion errors (#5885)
due to 2fdaccd - annotate types for Snowflake SHA1, SHA2 functions (PR #5884 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake SHA1, SHA2 functions (#5884)
due to faba309 - annotate types for Snowflake AI_AGG function (PR #5894 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake AI_AGG function (#5894)
due to 304bec5 - Annotate snowflake MD5 functions (PR #5883 by @fivetran-amrutabhimsenayachit):
Annotate snowflake MD5 functions (#5883)
due to c0180ec - annotate types for Snowflake AI_SUMMARIZE_AGG function (PR #5902 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake AI_SUMMARIZE_AGG function (#5902)
due to f5409df - use column name in struct type annotation (PR #5903 by @georgesittas):
use column name in struct type annotation (#5903)
cd818ba - singlestore: Fixed generation/parsing of computed collumns (PR #5878 by @AdalbertMemSQL)5d1f241 - tsql: support JSON_ARRAYAGG (PR #5879 by @geooo109)96ae7a3 - optimizer: Annotate and add tests for snowflake REPEAT and SPLIT functions (PR #5875 by @fivetran-amrutabhimsenayachit)0fe6a25 - postgres: support JSON_AGG (PR #5880 by @geooo109)854eeeb - optimizer: annotate types for Snowflake REGEXP_LIKE, REGEXP_REPLACE, REGEXP_SUBSTR functions (PR #5876 by @fivetran-BradfordPaskewitz)f2d3bf7 - optimizer: annotate types for Snowflake UUID_STRING function (PR #5881 by @fivetran-BradfordPaskewitz)5b9463a - mysql: add support for binary MOD operator fixes #5887 (commit by @georgesittas)d24eabc - bigquery: Add support for ML.GENERATE_TEXT_EMBEDDING(...) (PR #5891 by @VaggelisD)950a3fa - mysql: SOUNDS LIKE, SUBSTR (PR #5886 by @vuvova)688afc5 - singlestore: Fixed generation of exp.National (PR #5890 by @AdalbertMemSQL)c77147e - parser: Extend support for IS UNKOWN across all dialects (PR #5888 by @VaggelisD)ec80ff3 - make dump a list instead of a nested dict to avoid all recursion errors (PR #5885 by @tobymao)2fdaccd - optimizer: annotate types for Snowflake SHA1, SHA2 functions (PR #5884 by @fivetran-BradfordPaskewitz)faba309 - optimizer: annotate types for Snowflake AI_AGG function (PR #5894 by @fivetran-BradfordPaskewitz)dd27844 - snowflake: transpile BYTE_LENGTH (PR #5899 by @ozadari)304bec5 - optimizer: Annotate snowflake MD5 functions (PR #5883 by @fivetran-amrutabhimsenayachit)ec3006d - optimizer: Add tests for snowflake NOT ILIKE and NOT LIKE (PR #5901 by @fivetran-amrutabhimsenayachit)c0180ec - optimizer: annotate types for Snowflake AI_SUMMARIZE_AGG function (PR #5902 by @fivetran-BradfordPaskewitz)1d9e357 - optimizer: expand columns on the LHS of recursive CTEs (PR #5872 by @geooo109)
7fcc52a - parser: Require an explicit alias in EXCLUDE/RENAME/REPLACE star ops (PR #5892 by @VaggelisD)5fdcc65 - snowflake: parse OCTET_LENGTH (PR #5900 by @geooo109)f5409df - optimizer: use column name in struct type annotation (PR #5903 by @georgesittas)74886d8 - snowflake: transpile BQ UNNEST with alias (PR #5897 by @geooo109)
due to `9c8a600` - correct parsing of TO_VARCHAR *(PR #5840 by @geooo109)*:
due to 9c8a600 - correct parsing of TO_VARCHAR (PR #5840 by @geooo109):
correct parsing of TO_VARCHAR (#5840)
due to 1e9aef1 - convert NULL annotations to UNKNOWN (PR #5842 by @georgesittas):
convert NULL annotations to UNKNOWN (#5842)
due to 44c9e70 - add tests for snowflake STARTSWITH function (PR #5847 by @fivetran-amrutabhimsenayachit):
add tests for snowflake STARTSWITH function (#5847)
due to 0779c2d - support BIT_X aggregates again for duckdb, postgres (PR #5851 by @georgesittas):
support BIT_X aggregates again for duckdb, postgres (#5851)
due to c50d6e3 - annotate type for snowflake LEFT, RIGHT and SUBSTRING functions (PR #5849 by @fivetran-amrutabhimsenayachit):
annotate type for snowflake LEFT, RIGHT and SUBSTRING functions (#5849)
due to e441e16 - make dump/pickling non-recursive to avoid hitting stack limits (PR #5850 by @tobymao):
make dump/pickling non-recursive to avoid hitting stack limits (#5850)
due to b128339 - annotate and add tests for snowflake LENGTH and LOWER functions (PR #5856 by @fivetran-amrutabhimsenayachit):
annotate and add tests for snowflake LENGTH and LOWER functions (#5856)
due to 134957a - annotate types for Snowflake TRIM function (PR #5811 by @fivetran-BradfordPaskewitz):
annotate types for Snowflake TRIM function (#5811)
due to d3cd6bf - Annotate and add tests for snowflake REPLACE and SPACE functions (PR #5871 by @fivetran-amrutabhimsenayachit):
Annotate and add tests for snowflake REPLACE and SPACE functions (#5871)
a398fb4 - singlestore: Splitted truncation of multiple tables into several queries (PR #5839 by @AdalbertMemSQL)cd27c96 - snowflake: transpile TO_HEX from bigquery (PR #5838 by @YuvalOmerRep)d2e4ab7 - snowflake: add tests for endswith function (PR #5846 by @fivetran-amrutabhimsenayachit)c50d6e3 - optimizer: annotate type for snowflake LEFT, RIGHT and SUBSTRING functions (PR #5849 by @fivetran-amrutabhimsenayachit)ca6c8f7 - singlestore: Improved parsting/generation of exp.Show (PR #5853 by @AdalbertMemSQL)722eceb - snowflake: MD5Digest transpiling to MD5_BINARY (PR #5855 by @YuvalOmerRep)b128339 - optimizer: annotate and add tests for snowflake LENGTH and LOWER functions (PR #5856 by @fivetran-amrutabhimsenayachit)134957a - optimizer: annotate types for Snowflake TRIM function (PR #5811 by @fivetran-BradfordPaskewitz)0475dae - singlestore: Marked several exp.Describe args as unsupported (PR #5861 by @AdalbertMemSQL)7a07b41 - optimizer: Add tests for snowflake LTRIM and RTRIM functions (PR #5857 by @fivetran-amrutabhimsenayachit)fb90666 - singlestore: Added collate handling to exp.AlterColumn (PR #5864 by @AdalbertMemSQL)2f27692 - snowflake: JSONFormat transpiling to TO_JSON (PR #5860 by @YuvalOmerRep)487c811 - singlestore: Fixed parsing/generation of exp.RenameColumn (PR #5865 by @AdalbertMemSQL)76cf4d8 - bigquery: add support for ML.TRANSLATE func (PR #5859 by @geooo109)a899eb1 - singlestore: Fixed parsing and generation of VECTOR type (PR #5854 by @AdalbertMemSQL)0acf076 - postgres: Support ?| JSONB operator (PR #5866 by @VaggelisD)bd4b278 - optimizer: annotate types for Snowflake UPPER function (PR #5812 by @fivetran-BradfordPaskewitz)edab189 - postgres: Support ?& JSONB operator (PR #5867 by @VaggelisD)960ec06 - postgres: Support #- JSONB operator (PR #5868 by @VaggelisD)d3cd6bf - optimizer: Annotate and add tests for snowflake REPLACE and SPACE functions (PR #5871 by @fivetran-amrutabhimsenayachit)ba22531 - bigquery: Add support for ML.FORECAST(...) (PR #5873 by @VaggelisD)9c8a600 - snowflake: correct parsing of TO_VARCHAR (PR #5840 by @geooo109)
f3d07fd - snowflake: Enable parsing of COPY INTO without files list (PR #5841 by @whummer)0ffb1fa - duckdb: transpile joins without ON/USING to CROSS JOIN (PR #5804 by @geooo109)
1e9aef1 - optimizer: convert NULL annotations to UNKNOWN (PR #5842 by @georgesittas)bbcf0d4 - duckdb: support trailing commas before FOR in pivot, fixes #5843 (commit by @georgesittas)ad8a408 - parser: more robust nested pipe syntax (PR #5845 by @geooo109)44c9e70 - optimizer: add tests for snowflake STARTSWITH function (PR #5847 by @fivetran-amrutabhimsenayachit)0779c2d - support BIT_X aggregates again for duckdb, postgres (PR #5851 by @georgesittas)d131aab - redshift: convert FETCH clauses to LIMIT for Redshift dialect (PR #5848 by @tomasmontielp)b22c4ec - fabric: UUID to UNIQUEIDENTIFIER (PR #5863 by @fresioAS)03d4f49 - clickhouse: arrays are 1-indexed (PR #5862 by @joeyutong)b244f30 - move exp.Contains to BOOLEAN entry in TYPE_TO_EXPRESSIONS (commit by @georgesittas)`5e7979f` - select session *(PR #5836 by @tobymao)*
`f3d55c0` - remove always token *(PR #5832 by @tobymao)*
due to `3726b33` - support nulls_first arg for array_sort *(PR #5802 by @treysp)*:
due to 3726b33 - support nulls_first arg for array_sort (PR #5802 by @treysp):
support nulls_first arg for array_sort (#5802)
due to cf1d1e3 - annotate type for snowflake's REVERSE function (PR #5803 by @fivetran-BradfordPaskewitz):
annotate type for snowflake's REVERSE function (#5803)
due to ad0b407 - Mark 'BEGIN' as TokenType.BEGIN for transactions (PR #5826 by @VaggelisD):
Mark 'BEGIN' as TokenType.BEGIN for transactions (#5826)
due to 0198282 - : Update tests for concat string function (PR #5809 by @fivetran-amrutabhimsenayachit):
: Update tests for concat string function (#5809)
due to db2c430 - annoate the "contains" function (PR #5829 by @fivetran-amrutabhimsenayachit):
annoate the "contains" function (#5829)
cf1d1e3 - optimizer: annotate type for snowflake's REVERSE function (PR #5803 by @fivetran-BradfordPaskewitz)1d07c52 - SingleStore: Implemented generation of CURRENT_DATETIME (PR #5816 by @AdalbertMemSQL)cad4fd0 - singlestore: Added handling of exp.JSONObject (PR #5817 by @AdalbertMemSQL)e3cb076 - singlestore: Implemented generation of exp.StandardHash (PR #5823 by @AdalbertMemSQL)0198282 - optimizer: : Update tests for concat string function (PR #5809 by @fivetran-amrutabhimsenayachit)4e8a436 - singlestore: Added generation of exp.JSONExists (PR #5820 by @AdalbertMemSQL)82bea49 - singlestore: Refactored parsing of JSON_BUILD_OBJECT (PR #5828 by @AdalbertMemSQL)f7d38c3 - singlestore: Implemented generation of exp.Stuff (PR #5825 by @AdalbertMemSQL)030a5b5 - singlestore: Added generation of exp.JSONBExists (PR #5821 by @AdalbertMemSQL)e58fef1 - singlestore: Implemented parsing and generation of exp.MatchAgainst (PR #5822 by @AdalbertMemSQL)e94f530 - singlestore: Added handling of exp.JSONArray (PR #5818 by @AdalbertMemSQL)1c42ef4 - singlestore: Fixed parsing/generation of exp.JSONArrayAgg (PR #5819 by @AdalbertMemSQL)67219f0 - singlestore: Added support of UTC_TIMESTAMP and CURRENT_TIMESTAMP (PR #5808 by @AdalbertMemSQL)db2c430 - optimizer: annoate the "contains" function (PR #5829 by @fivetran-amrutabhimsenayachit)3726b33 - snowflake: support nulls_first arg for array_sort (PR #5802 by @treysp)3408de0 - parsing quoted built-in data types (PR #5810 by @treysp)ad0b407 - postgres: Mark 'BEGIN' as TokenType.BEGIN for transactions (PR #5826 by @VaggelisD)
e1a1b5b - snowflake: transpile BigQuery's & to BITAND (PR #5827 by @YuvalOmerRep)32d0278 - parse and generation of BITWISE AGG funcs across dialects (PR #5831 by @geooo109)5f39a83 - bigquery: properly generate LIMIT for STRING_AGG (PR #5830 by @georgesittas)164fec1 - optimizer: test type annotation for snowflake CHARINDEX function (PR #5805 by @fivetran-amrutabhimsenayachit)due to `1c551d5` - parse and annotate type for bq TO_JSON *(PR #5768 by @geooo109)*:
due to 1c551d5 - parse and annotate type for bq TO_JSON (PR #5768 by @geooo109):
parse and annotate type for bq TO_JSON (#5768)
due to 1707f2d - annotate type for ABS (PR #5770 by @geooo109):
annotate type for ABS (#5770)
due to 69acc51 - annotate type for bq IS_INF, IS_NAN (PR #5771 by @geooo109):
annotate type for bq IS_INF, IS_NAN (#5771)
due to 0da2076 - annotate type for bq CBRT (PR #5772 by @geooo109):
annotate type for bq CBRT (#5772)
due to a4968cb - annotate type for bq RAND (PR #5774 by @geooo109):
annotate type for bq RAND (#5774)
due to 3e63350 - parse and annotate type for bq ACOS (PR #5776 by @geooo109):
parse and annotate type for bq ACOS (#5776)
due to 2be9d01 - parse and annotate type for bq ACOSH (PR #5779 by @geooo109):
parse and annotate type for bq ACOSH (#5779)
due to b77d3da - remove "EXCLUDE" -> TokenType.EXCEPT in DuckDB, Snowflake (PR #5766 by @treysp):
remove "EXCLUDE" -> TokenType.EXCEPT in DuckDB, Snowflake (#5766)
due to 7da2f31 - parse and annotate type for bq ASIN/H (PR #5783 by @geooo109):
parse and annotate type for bq ASIN/H (#5783)
due to 341ea83 - parse and annotate type for bq ATAN/H/2 (PR #5784 by @geooo109):
parse and annotate type for bq ATAN/H/2 (#5784)
due to aa360cb - use regexp_like as it exists (PR #5781 by @jasonthomassql):
use regexp_like as it exists (#5781)
due to c2a1ad4 - parse and annotate type for bq COT/H (PR #5786 by @geooo109):
parse and annotate type for bq COT/H (#5786)
due to 316ae91 - Added handling of UTC_DATE and exp.CurrentDate (PR #5785 by @AdalbertMemSQL):
Added handling of UTC_DATE and exp.CurrentDate (#5785)
due to 2c6d237 - parse and annotate type for bq CSC/H (PR #5787 by @geooo109):
parse and annotate type for bq CSC/H (#5787)
due to 8a35076 - parse and annotate type for bq SEC/H (PR #5788 by @geooo109):
parse and annotate type for bq SEC/H (#5788)
due to 79901cb - parse and annotate type for bq SIN\H (PR #5790 by @geooo109):
parse and annotate type for bq SIN\H (#5790)
due to 74fb547 - parse and annotate type for bq RANGE_BUCKET (PR #5793 by @geooo109):
parse and annotate type for bq RANGE_BUCKET (#5793)
due to eca65e8 - parse and annotate type for bq COSINE/EUCLIDEAN_DISTANCE (PR #5792 by @geooo109):
parse and annotate type for bq COSINE/EUCLIDEAN_DISTANCE (#5792)
due to a180d3f - parse and annotate type for bq SAFE math funcs (PR #5797 by @geooo109):
parse and annotate type for bq SAFE math funcs (#5797)
due to fc7ad7a - parse ALTER SESSION (PR #5734 by @tekumara):
parse ALTER SESSION (#5734)
due to 8ec1a6c - annotate type for bq STRING_AGG (PR #5798 by @geooo109):
annotate type for bq STRING_AGG (#5798)
due to dd97bfa - annotate type for bq DATETIME_TRUNC (PR #5799 by @geooo109):
annotate type for bq DATETIME_TRUNC (#5799)
due to d3e9dda - annotate type for bq GENERATE_UUID (commit by @geooo109):
annotate type for bq GENERATE_UUID
1c551d5 - optimizer: parse and annotate type for bq TO_JSON (PR #5768 by @geooo109)a024d48 - singlestore: Added generation of exp.TsOrDsDiff (PR #5769 by @AdalbertMemSQL)1707f2d - optimizer: annotate type for ABS (PR #5770 by @geooo109)69acc51 - optimizer: annotate type for bq IS_INF, IS_NAN (PR #5771 by @geooo109)0da2076 - optimizer: annotate type for bq CBRT (PR #5772 by @geooo109)a4968cb - optimizer: annotate type for bq RAND (PR #5774 by @geooo109)dd7781a - singlestore: Fixed generation of exp.Collate (PR #5775 by @AdalbertMemSQL)fb684cb - singelstore: Fixed generation of exp.RegexpILike (PR #5777 by @AdalbertMemSQL)3e63350 - optimizer: parse and annotate type for bq ACOS (PR #5776 by @geooo109)8705a78 - singlestore: Fixed generation of exp.CastToStrType (PR #5778 by @AdalbertMemSQL)e3c35ad - singlestore: Fixed generation of exp.UnicodeString (PR #5773 by @AdalbertMemSQL)2be9d01 - optimizer: parse and annotate type for bq ACOSH (PR #5779 by @geooo109)7da2f31 - optimizer: parse and annotate type for bq ASIN/H (PR #5783 by @geooo109)341ea83 - optimizer: parse and annotate type for bq ATAN/H/2 (PR #5784 by @geooo109)be54a45 - singlestore: Implemented generation of exp.Cbrt (PR #5782 by @AdalbertMemSQL)aa360cb - databricks: use regexp_like as it exists (PR #5781 by @jasonthomassql)c2a1ad4 - optimizer: parse and annotate type for bq COT/H (PR #5786 by @geooo109)316ae91 - singlestore: Added handling of UTC_DATE and exp.CurrentDate (PR #5785 by @AdalbertMemSQL)2c6d237 - optimizer: parse and annotate type for bq CSC/H (PR #5787 by @geooo109)8a35076 - optimizer: parse and annotate type for bq SEC/H (PR #5788 by @geooo109)566bfb2 - singlestore: Added support of UTC_TIME and CURRENT_TIME (PR #5789 by @AdalbertMemSQL)79901cb - optimizer: parse and annotate type for bq SIN\H (PR #5790 by @geooo109)74fb547 - optimizer: parse and annotate type for bq RANGE_BUCKET (PR #5793 by @geooo109)eca65e8 - optimizer: parse and annotate type for bq COSINE/EUCLIDEAN_DISTANCE (PR #5792 by @geooo109)a180d3f - optimizer: parse and annotate type for bq SAFE math funcs (PR #5797 by @geooo109)fc7ad7a - snowflake: parse ALTER SESSION (PR #5734 by @tekumara)8ec1a6c - optimizer: annotate type for bq STRING_AGG (PR #5798 by @geooo109)dd97bfa - optimizer: annotate type for bq DATETIME_TRUNC (PR #5799 by @geooo109)d3e9dda - optimizer: annotate type for bq GENERATE_UUID (commit by @geooo109)d8f6a37 - optimizer: allow aliased negative integer literal as group by column (PR #5791 by @treysp)1259576 - hive: DATE_SUB to DATE_ADD use parens if needed (PR #5796 by @geooo109)
b0516b4 - optimizer: Do not qualify columns if a projection coflicts with a source (PR #5780 by @VaggelisD)
8af0d40 - parser: address edge case where values is used as an identifier (PR #5801 by @georgesittas)b77d3da - remove "EXCLUDE" -> TokenType.EXCEPT in DuckDB, Snowflake (PR #5766 by @treysp)005564a - snowflake: refactor logic related to ALTER SESSION (commit by @georgesittas)due to `baffd2c` - parse and annotate type for bq REGEXP_INSTR *(PR #5710 by @geooo109)*:
due to baffd2c - parse and annotate type for bq REGEXP_INSTR (PR #5710 by @geooo109):
parse and annotate type for bq REGEXP_INSTR (#5710)
due to b79eb19 - annotate type for bq ROW_NUMBER (PR #5716 by @geooo109):
annotate type for bq ROW_NUMBER (#5716)
due to f709bef - annotate type for bq FIRST_VALUE (PR #5718 by @geooo109):
annotate type for bq FIRST_VALUE (#5718)
due to 15a9061 - annotate type for bq PERCENTILE_DISC (PR #5722 by @geooo109):
annotate type for bq PERCENTILE_DISC (#5722)
due to 7d49609 - annotate type for bq NTH_VALUE (PR #5720 by @geooo109):
annotate type for bq NTH_VALUE (#5720)
due to d41acf1 - annotate type for bq LEAD (PR #5719 by @geooo109):
annotate type for bq LEAD (#5719)
due to ff12130 - annotate type for bq PERNCENTILE_CONT (PR #5729 by @geooo109):
annotate type for bq PERNCENTILE_CONT (#5729)
due to fdb8a0a - parse and annotate type for bq FORMAT (PR #5715 by @geooo109):
parse and annotate type for bq FORMAT (#5715)
due to 012bdd3 - parse and annotate type for bq CUME_DIST (PR #5735 by @geooo109):
parse and annotate type for bq CUME_DIST (#5735)
due to b99eaeb - parse and annotate type for bq DENSE_RANK (PR #5736 by @geooo109):
parse and annotate type for bq DENSE_RANK (#5736)
due to bb95c73 - parse and annotate type for bq RANK (PR #5738 by @geooo109):
parse and annotate type for bq RANK (#5738)
due to 8713c08 - parse and annotate type for bq PERCENT_RANK (PR #5739 by @geooo109):
parse and annotate type for bq PERCENT_RANK (#5739)
due to 9ce4e31 - annotate type for bq JSON_OBJECT (PR #5740 by @geooo109):
annotate type for bq JSON_OBJECT (#5740)
due to d35ec6e - annotate type for bq JSON_QUERY/JSON_QUERY_ARRAY (PR #5741 by @geooo109):
annotate type for bq JSON_QUERY/JSON_QUERY_ARRAY (#5741)
due to 4753642 - annotate type for bq JSON_EXTRACT_SCALAR (commit by @geooo109):
annotate type for bq JSON_EXTRACT_SCALAR
due to 113a530 - parse and annotate type for bq JSON_ARRAY_APPEND (PR #5747 by @geooo109):
parse and annotate type for bq JSON_ARRAY_APPEND (#5747)
due to 268e2c6 - parse and annotate type for bq JSON_ARRAY_INSERT (PR #5748 by @geooo109):
parse and annotate type for bq JSON_ARRAY_INSERT (#5748)
due to 455ec1f - parse and annotate type for bq JSON_KEYS (PR #5749 by @geooo109):
parse and annotate type for bq JSON_KEYS (#5749)
due to 59895fa - parse and annotate type for bq JSON_REMOVE (PR #5750 by @geooo109):
parse and annotate type for bq JSON_REMOVE (#5750)
due to 06d7df7 - parse and annotate type for bq JSON_SET (PR #5751 by @geooo109):
parse and annotate type for bq JSON_SET (#5751)
due to e72b341 - parse and annotate type for bq JSON_STRIP_NULLS (PR #5753 by @geooo109):
parse and annotate type for bq JSON_STRIP_NULLS (#5753)
due to 5de61a7 - parse and annotate type for bq JSON_EXTRACT_STRING_ARRAY (PR #5758 by @geooo109):
parse and annotate type for bq JSON_EXTRACT_STRING_ARRAY (#5758)
due to 36c9393 - parse and annotate type for bq JSON LAX funcs (PR #5760 by @geooo109):
parse and annotate type for bq JSON LAX funcs (#5760)
due to 88862b5 - annotate type for bq TO_JSON_STRING (PR #5762 by @geooo109):
annotate type for bq TO_JSON_STRING (#5762)
baffd2c - optimizer: parse and annotate type for bq REGEXP_INSTR (PR #5710 by @geooo109)b79eb19 - optimizer: annotate type for bq ROW_NUMBER (PR #5716 by @geooo109)f709bef - optimizer: annotate type for bq FIRST_VALUE (PR #5718 by @geooo109)b9ae9e5 - singlestore: Implemeted generation of exp.TsOrDiToDi (PR #5724 by @AdalbertMemSQL)9b14fff - singlestore: Implemented generation of exp.DateToDi (PR #5717 by @AdalbertMemSQL)07d8c23 - singlestore: Implemented generation of exp.DiToDate (PR #5721 by @AdalbertMemSQL)ad34a85 - singlestore: Implemented generation of exp.FromTimeZone (PR #5723 by @AdalbertMemSQL)29d5e4f - singlestore: Implemented generation of exp.DatetimeAdd (PR #5728 by @AdalbertMemSQL)15a9061 - optimizer: annotate type for bq PERCENTILE_DISC (PR #5722 by @geooo109)7d49609 - optimizer: annotate type for bq NTH_VALUE (PR #5720 by @geooo109)d41acf1 - optimizer: annotate type for bq LEAD (PR #5719 by @geooo109)113809a - singlestore: Implemented exp.TimeStrToDate generation (PR #5725 by @AdalbertMemSQL)cf63d0d - dremio: add regexp_like and alias regexp_matches (PR #5731 by @jasonthomassql)e42160f - dremio: support alias repeatstr (PR #5730 by @jasonthomassql)ff12130 - optimizer: annotate type for bq PERNCENTILE_CONT (PR #5729 by @geooo109)fdb8a0a - optimizer: parse and annotate type for bq FORMAT (PR #5715 by @geooo109)e272292 - singlestore: Implemented generation of exp.Time (PR #5727 by @AdalbertMemSQL)012bdd3 - optimizer: parse and annotate type for bq CUME_DIST (PR #5735 by @geooo109)b99eaeb - optimizer: parse and annotate type for bq DENSE_RANK (PR #5736 by @geooo109)8cf6ef9 - optimizer: parse and annotate_type for bq NTILE (PR #5737 by @geooo109)bb95c73 - optimizer: parse and annotate type for bq RANK (PR #5738 by @geooo109)8713c08 - optimizer: parse and annotate type for bq PERCENT_RANK (PR #5739 by @geooo109)9ce4e31 - optimizer: annotate type for bq JSON_OBJECT (PR #5740 by @geooo109)d35ec6e - optimizer: annotate type for bq JSON_QUERY/JSON_QUERY_ARRAY (PR #5741 by @geooo109)4753642 - optimizer: annotate type for bq JSON_EXTRACT_SCALAR (commit by @geooo109)6249dbe - singlestore: Added generation of exp.DatetimeDiff (PR #5743 by @AdalbertMemSQL)113a530 - optimizer: parse and annotate type for bq JSON_ARRAY_APPEND (PR #5747 by @geooo109)8603705 - singlestore: feat(singlestore): Implemented generation of exp.DatetimeSub (PR #5744 by @AdalbertMemSQL)7d71c0b - singlestore: Fixed generation of exp.DatetimeTrunc and exp.DateTrunc (PR #5745 by @AdalbertMemSQL)268e2c6 - optimizer: parse and annotate type for bq JSON_ARRAY_INSERT (PR #5748 by @geooo109)455ec1f - optimizer: parse and annotate type for bq JSON_KEYS (PR #5749 by @geooo109)59895fa - optimizer: parse and annotate type for bq JSON_REMOVE (PR #5750 by @geooo109)06d7df7 - optimizer: parse and annotate type for bq JSON_SET (PR #5751 by @geooo109)7f5079a - singlestore: Improved geneation of exp.DataType (PR #5746 by @AdalbertMemSQL)ad9405c - singlestore: fixed generation of exp.TimestampTrunc (PR #5754 by @AdalbertMemSQL)a1852f9 - dremio: parse date_part (PR #5756 by @jasonthomassql)0db1df6 - singlestore: Fixed generation of exp.DateDiff (PR #5752 by @AdalbertMemSQL)e72b341 - optimizer: parse and annotate type for bq JSON_STRIP_NULLS (PR #5753 by @geooo109)5de61a7 - optimizer: parse and annotate type for bq JSON_EXTRACT_STRING_ARRAY (PR #5758 by @geooo109)36c9393 - optimizer: parse and annotate type for bq JSON LAX funcs (PR #5760 by @geooo109)c443d5c - dremio: parse datetype (PR #5759 by @jasonthomassql)5172a99 - singlestore: Fixed parsing of columns with table name (PR #5767 by @AdalbertMemSQL)88862b5 - optimizer: annotate type for bq TO_JSON_STRING (PR #5762 by @geooo109)ec93497 - bigquery: support commands inside for loops (PR #5732 by @treysp)85845bb - snowflake: allow exclude as id var (PR #5764 by @treysp)db2d9cc - tokenizer: handle empty hex strings (PR #5763 by @paulolieuthier)
982257b - bigquery: Crash when ARRAY_CONCAT is called with no expressions (PR #5755 by @ozadari)24ca504 - bigquery: Crash when ARRAY_CONCAT is called with no expressions (PR #5755 by @ozadari)41521e3 - bump sqlglotrs to 0.6.2 (commit by @georgesittas)due to `de2fe15` - annotate type for bq CONTAINS_SUBSTR *(PR #5705 by @geooo109)*:
due to de2fe15 - annotate type for bq CONTAINS_SUBSTR (PR #5705 by @geooo109):
annotate type for bq CONTAINS_SUBSTR (#5705)
due to 770888f - annotate type for bq NORMALIZE (PR #5711 by @geooo109):
annotate type for bq NORMALIZE (#5711)
due to 506033f - parse and annotate type for bq NORMALIZE_AND_CASEFOLD (PR #5712 by @geooo109):
parse and annotate type for bq NORMALIZE_AND_CASEFOLD (#5712)
due to 848aea1 - parse and annotate type for bq OCTET_LENGTH (PR #5713 by @geooo109):
parse and annotate type for bq OCTET_LENGTH (#5713)
due to 727bf83 - add support for REVOKE DDL (PR #5703 by @newtonapple):
add support for REVOKE DDL (#5703)
f6f8f56 - singlestore: Fixed parsing/generation of exp.JSONFormat (PR #5706 by @AdalbertMemSQL)de2fe15 - optimizer: annotate type for bq CONTAINS_SUBSTR (PR #5705 by @geooo109)a78146e - singlestore: Fixed parsing/generation of exp.DateBin (PR #5709 by @AdalbertMemSQL)ab0c985 - singlestore: Marked exp.Reduce finish argument as unsupported (PR #5707 by @AdalbertMemSQL)770888f - optimizer: annotate type for bq NORMALIZE (PR #5711 by @geooo109)506033f - optimizer: parse and annotate type for bq NORMALIZE_AND_CASEFOLD (PR #5712 by @geooo109)848aea1 - optimizer: parse and annotate type for bq OCTET_LENGTH (PR #5713 by @geooo109)727bf83 - add support for REVOKE DDL (PR #5703 by @newtonapple)0427c7b - optimizer: qualify columns for AggFunc with DISTINCT (PR #5708 by @geooo109)
Your coding agent can read these notes before it upgrades. Set up the MCP server →