v20.2.0 - 2023-12-14
1a484b3
- presto: coerce DATEADD expression to BIGINT (PR #2648 by @barakalon)3cdb81a
- duckdb: transpile bigquery structs w/ aliases correctly (PR #2650 by @georgesittas)↘️ fixes issue #2649 opened by @nakalamvokis
49dc0da
- tokenizer: advance self._start by a character when we encounter CRLF (PR #2658 by @georgesittas)↘️ fixes issue #2656 opened by @charsmith
8ee5492
- duckdb: support the 6 arg. variant of make_timestamp (PR #2659 by @georgesittas)9cf71ff
- Get rid of the custom text encoding in the tokenizer (PR #2660 by @izeigerman)462c970
- make union parsing non-recursive, allowing to parse infinite large unions and lhs binding (PR #2662 by @tobymao)8860521
- optimizer: handle case where top-level query is a Subquery in scope (PR #2661 by @georgesittas)4617ac3
- executor: respect LIMIT in set operations (PR #2665 by @georgesittas)a8d4b05
- postgres exec as command closes #2666 (commit by @tobymao)bf6d3e4
- optimizer: eliminate eliminate_unions (PR #2663 by @barakalon)2ae0deb
- snowflake: refactor location paths (PR #2668 by @georgesittas)9177c6a
- snowflake: time travel syntax can be used in queries as well (PR #2674 by @georgesittas)↘️ fixes issue #2670 opened by @sfc-gh-jlambert
7188431
- ignore unnesting non subqueries closes #2676 (commit by @tobymao)9e7112b
- create .venv when publishing so that maturin doesn't crash (PR #2675 by @georgesittas)
v20.1.0 - 2023-12-07
-
due to
96f9b0e
- make generation of CONCAT less verbose (PR #2639 by @georgesittas):make generation of CONCAT less verbose (#2639)
7a505f0
- clickhouse: add support for arrayJoin (PR #2640 by @georgesittas)2062553
- add comments to replace table (commit by @tobymao)
4f07aaa
- from_utc double cast (commit by @tobymao)96f9b0e
- make generation of CONCAT less verbose (PR #2639 by @georgesittas)1a231f7
- avoid recursive set op calls (commit by @tobymao)
v20.0.0 - 2023-12-07
-
due to
be89da3
- introduce Dialect settings, make MySQL case-sensitive by default (PR #2627 by @georgesittas):introduce Dialect settings, make MySQL case-sensitive by default (#2627)
-
due to
4d68e39
- remove redundant todate closes #2636 (commit by @tobymao):remove redundant todate closes #2636
-
due to
1e387f6
- parse functions with positional args in exp.func (PR #2622 by @georgesittas):parse functions with positional args in exp.func (#2622)
-
due to
ee2e7f0
- snowflake column transform constraints closes #2634 (commit by @tobymao):snowflake column transform constraints closes #2634
-
due to
656d54c
- make lineage html more reusable (commit by @tobymao):make lineage html more reusable
be89da3
- introduce Dialect settings, make MySQL case-sensitive by default (PR #2627 by @georgesittas)ee2e7f0
- snowflake column transform constraints closes #2634 (commit by @tobymao)
b0c5375
- tsql: add dw, hour to the DATEPART-only formats (PR #2632 by @georgesittas)↘️ fixes issue #2630 opened by @abadugu13
4d68e39
- remove redundant todate closes #2636 (commit by @tobymao)1e387f6
- parse functions with positional args in exp.func (PR #2622 by @georgesittas)78697b4
- optimizer: simplify Sub/Div more conservatively, they're not associative (PR #2635 by @georgesittas)
v19.9.0 - 2023-12-05
-
due to
6e71c34
- remove safe versions and use a flag instead (PR #2629 by @tobymao):remove safe versions and use a flag instead (#2629)
4755293
- attach function comments to the AST (PR #2628 by @georgesittas)160f06d
- snowflake: allow rename/replace identifier (commit by @tobymao)
v19.8.3 - 2023-12-04
6351007
- tokenize CRLF sequence correctly (PR #2623 by @georgesittas)
f9a43a1
- don't patch loggers at method level to silence warnings (PR #2620 by @georgesittas)
v19.8.2 - 2023-12-01
5657a60
- tsql, teradata: Distinct goes before top (PR #2618 by @treysp)c0e751a
- duckdb: arrays are 1-indexed (PR #2619 by @georgesittas)
v19.8.1 - 2023-12-01
v19.8.0 - 2023-12-01
-
due to
b5f690b
- add timestamp functions to BQ and DuckDB closes #2611 (PR #2612 by @j1ah0ng):add timestamp functions to BQ and DuckDB closes #2611 (#2612)
-
due to
019e0e5
- qualify columns added in explode to unnest transformation (PR #2615 by @georgesittas):qualify columns added in explode to unnest transformation (#2615)
5af7ac3
- helper method for dot parts (commit by @tobymao)da0a4b1
- postgres: add support for operators with schema path (PR #2610 by @georgesittas)↘️ addresses issue #2609 opened by @ninja96826
568ddd1
- treat parameters as primary expressions (PR #2605 by @georgesittas)↘️ fixes issue #2604 opened by @bruderooo
526d760
- revert 568ddd12, parse placeholder in sample instead (PR #2606 by @georgesittas)bb75218
- always expand sentinel line break in pretty mode (PR #2608 by @georgesittas)9106702
- properly normalize and parse schema for replace_tables and expand (commit by @tobymao)d47879f
- snowflake: unnest sql doesn't need subquery (commit by @tobymao)b5f690b
- add timestamp functions to BQ and DuckDB closes #2611 (PR #2612 by @j1ah0ng)5aa134d
- preserve alias quotes in explode_to_unnest (PR #2613 by @georgesittas)5509e31
- generate UnixToTime correctly (spark, bq, presto, snowflake, duckdb) (PR #2614 by @georgesittas)019e0e5
- qualify columns added in explode to unnest transformation (PR #2615 by @georgesittas)ad9fe11
- snowflake: snowflake array_contains closes #2616 (commit by @tobymao)
v19.7.0 - 2023-11-28
-
due to
8cd7d1c
- use more canonical cast instead of to_date (commit by @tobymao):use more canonical cast instead of to_date
-
due to
c413b7f
- expand positional args in order by as aliases (PR #2599 by @tobymao):expand positional args in order by as aliases (#2599)
-
due to
13817f1
- avoid unnecessary copying in normalization (PR #2602 by @tobymao):avoid unnecessary copying in normalization (#2602)
739c3c7
- insert returning builder closes #2579 (commit by @tobymao)6e3c7c1
- tsql: default database .. closes #2594 (commit by @tobymao)
8cd7d1c
- use more canonical cast instead of to_date (commit by @tobymao)08d60b6
- tsql: add special chars in single var tokens (PR #2582 by @georgesittas)↘️ fixes issue #2581 opened by @Hal-H2Apps
bf29a9b
- handle ending spaces after keywords closes #2585 (commit by @tobymao)f53f656
- optimizer: respect EXCEPT when expanding star for PIVOTs (PR #2589 by @georgesittas)426075f
- duckdb: unqualify columns under Pivot (PR #2590 by @georgesittas)4774431
- tsql: generate DATEPART when the format is quarter (PR #2591 by @georgesittas)↘️ fixes issue #2586 opened by @abadugu13
dc783a8
- bigquery: generate FORMAT_DATE for TimeToStr (PR #2596 by @georgesittas)2ecfd34
- time format chunk misses from mapping, but its constituent parts are not (PR #2598 by @georgesittas)c413b7f
- expand positional args in order by as aliases (PR #2599 by @tobymao)c66e413
- oracle: to_char nlsparam closes #2601 (commit by @tobymao)
v19.6.0 - 2023-11-20
7647227
- oracle: parse DROP CONSTRAINT into DROP instead of Command (PR #2573 by @HassanShafiq123)↘️ fixes issue #2572 opened by @HassanShafiq123
f5899a1
- bigquery: bigquery only allows literals in LIMIT (PR #2574 by @treysp)757c433
- treat := as PropertyEQ in base sqlglot classes (PR #2576 by @georgesittas)
v19.5.1 - 2023-11-16
v19.5.0 - 2023-11-16
-
due to
96d514c
- get rid of SetAgg to use ArrayUniqueAgg for consistency (PR #2566 by @georgesittas):get rid of SetAgg to use ArrayUniqueAgg for consistency (#2566)
3766686
- executor: add support for array_unique_agg (PR #2564 by @wezham)53b3677
- executor: add support for null replacement value in ARRAY_JOIN (PR #2569 by @georgesittas)
ac79a59
- tokenizer should not reuse list in initializer (commit by @tobymao)2029896
- snowflake: Snowflake only supports literals in LIMIT (PR #2568 by @treysp)
96d514c
- get rid of SetAgg to use ArrayUniqueAgg for consistency (PR #2566 by @georgesittas)c4da9fc
- tokenizer performance improvements (commit by @tobymao)
v19.4.0 - 2023-11-14
-
due to
5034d92
- transpile NULLS FIRST/LAST to dialects that dont support it (PR #2554 by @georgesittas):transpile NULLS FIRST/LAST to dialects that dont support it (#2554)
5034d92
- transpile NULLS FIRST/LAST to dialects that dont support it (PR #2554 by @georgesittas)a6bdff9
- snowflake: improve TRY_CAST -> CAST transpilation (PR #2561 by @georgesittas)
9d345e5
- spark: string(n) -> varchar(n) closes #2552 (commit by @tobymao)e5e6d92
- optimizer: dont cast right side of IS (PR #2559 by @barakalon)18793b0
- snowflake: generate SHA1 for exp.SHA (PR #2557 by @georgesittas)8cfb39e
- clickhouse: scalar ctes second try (commit by @tobymao)0f9912f
- snowflake: only generate TRY_CAST if cast value is of text type (PR #2560 by @georgesittas)
v19.3.1 - 2023-11-10
1d557a7
- tsql: only call subquery method in CTAS if it's not one already (PR #2553 by @georgesittas)
v19.3.0 - 2023-11-10
d92f2be
- don't bubble up CTEs for the CREATE DDL statement (PR #2550 by @georgesittas)39ef0e1
- tsql: preserve column projection quotes for newly added Alias nodes (PR #2551 by @georgesittas)
v19.2.0 - 2023-11-10
-
due to
9f42b6b
- disallow nested CTEs for Spark and Databricks (PR #2544 by @georgesittas):disallow nested CTEs for Spark and Databricks (#2544)
91483b0
- add / move fixed-width integer tokens to base class (PR #2540 by @j1ah0ng)45334eb
- bigquery: array contains to exist unnest closes #2547 (commit by @tobymao)
9f42b6b
- disallow nested CTEs for Spark and Databricks (PR #2544 by @georgesittas)
v19.1.3 - 2023-11-09
d9d64e0
- postgres: parse CREATE CONSTRAINT TRIGGER as Command (PR #2541 by @georgesittas)ea41ddc
- optimizer: simplify DATE_ADD on literals (PR #2537 by @barakalon)73746ed
- more robust boolean conversions for tsql (PR #2543 by @tobymao)
9922232
- presto -> spark to_json closes #2536 (commit by @tobymao)1c6d348
- parser: take TokenType.RAW_STRING into account in _parse_string (PR #2542 by @georgesittas)↘️ fixes issue #2539 opened by @braunreyes
b5a477f
- tsql top paren term parsing (commit by @tobymao)
v19.1.2 - 2023-11-09
7de4922
- hive: add fine-grained parsing for REFRESH (PR #2531 by @georgesittas)↘️ addresses issue #2530 opened by @juliands-stripe
8abf1d7
- snowflake: avoid advancing beyond array limit when parsing staged files (PR #2529 by @georgesittas)↘️ fixes issue #2528 opened by @nsenno-dbr
151f14b
- transpile Snowflake structs correctly (PR #2534 by @georgesittas)↘️ fixes issue #2533 opened by @nsenno-dbr
5c750f3
- tsql: convert boolean columns into explicit conditions (PR #2535 by @georgesittas)
v19.1.1 - 2023-11-08
ff69304
- snowflake->spark sample transpilation closes #2526 (commit by @tobymao)a43132b
- Alter column set type statement for MySQL (PR #2527 by @izeigerman)
v19.1.0 - 2023-11-08
-
due to
c6db124
- transpile division (PR #2513 by @barakalon):transpile division (#2513)
-
due to
3469e75
- typed div and safe div semantics (PR #2516 by @barakalon):typed div and safe div semantics (#2516)
f95947f
- bigquery: add support for FOR .. IN statement (PR #2507 by @georgesittas)↘️ addresses issue #2506 opened by @scholtzan
01d446b
- optimizer: annotate type of ABS (PR #2524 by @georgesittas)
c7302cf
- struct conversion for non correlated queries (commit by @tobymao)1aa727c
- subquery column lineage closes #2510 (commit by @tobymao)c6db124
- transpile division (PR #2513 by @barakalon)3787389
- lineage with subquery and cte closes #2515 (commit by @tobymao)3469e75
- typed div and safe div semantics (PR #2516 by @barakalon)52066ea
- tsql: parse DROP CONSTRAINT into Drop instead of Command (PR #2521 by @georgesittas)↘️ fixes issue #2519 opened by @HassanShafiq123
190f028
- oracle: parse TO_CHAR using format_time_lambda (PR #2523 by @georgesittas)e2e11ae
- optimizer: more support for date literals in simplify (PR #2525 by @barakalon)
2065210
- expressions type (commit by @tobymao)7ff5f25
- use tuples instead of sets for inline collection instantiations (PR #2520 by @georgesittas)
v19.0.3 - 2023-11-02
c51d9ae
- fix type hint for normalize_identifiers (PR #2505 by @GeorgeSittas)
v19.0.2 - 2023-11-01
3d60f0e
- optimizer: more date function coercion (PR #2493 by @barakalon)01c1abb
- tsql: add period constraint, system versioning property, generate as row (PR #2484 by @Rik-de-Kort)b18235b
- use parse_identifiers in qualify tables (PR #2502 by @tobymao)
471591c
- teradata: supportTRYCAST
(PR #2496 by @hsheth2)5cdbdf6
- teradata: support**
for exponent (PR #2495 by @hsheth2)70227fc
- postgres: allow opclass types to be namespaced (PR #2499 by @GeorgeSittas)b434717
- tsql: improve support for SYSTEM_VERSIONING (PR #2501 by @GeorgeSittas)8691e1a
- oracle: alter table add multiple columns closes #2500 (commit by @tobymao)
v19.0.1 - 2023-10-31
12596fd
- support teradata as format no type closes #2485 (PR #2486 by @tobymao)f25b61c
- redshift: add support for DATE_DIFF (PR #2491 by @GeorgeSittas)
83ecc5a
- get rid of UNKNOWN type mapping in base Generator class (PR #2487 by @GeorgeSittas)22990ef
- qualify catalog only if db is present (PR #2489 by @eakmanrq)8e20328
- schema: use to_identifier as fallback when normalizing names (PR #2492 by @GeorgeSittas)f6c34b0
- teradata: add UPD and DEL abbreviations (PR #2494 by @hsheth2)
v19.0.0 - 2023-10-30
-
due to
7a6da28
- generator now always copies, making transforms much simpler (PR #2477 by @tobymao):generator now always copies, making transforms much simpler (#2477)
542ea6c
- mysql: convert full outer join to union with left/right outer joins (PR #2461 by @GeorgeSittas)b3990bc
- postgres: support WITH ORDINALITY in table functions (PR #2465 by @GeorgeSittas)c3852db
- postgres: add support for the PARTITION OF property in CREATE (PR #2476 by @GeorgeSittas)↘️ addresses issue #2469 opened by @judahrand
4f9cb22
- facilitate transpilation of Redshift's LISTAGG (PR #2460 by @GeorgeSittas)81ab80a
- mysql: str_to_date for datetime (PR #2473 by @barakalon)a1252d8
- teradata: add eq, minus abbreviations fixes #2474 (commit by @GeorgeSittas)e6f31d6
- snowflake: don't add time format in TO_TIMESTAMP if not supplied (PR #2475 by @GeorgeSittas)2307910
- optimizer: make normalize_identifiers identifier conversion more lenient (PR #2478 by @GeorgeSittas)ed5c559
- snowflake: avoid crash on OBJECT_CONSTRUCT without arguments (PR #2482 by @GeorgeSittas)↘️ fixes issue #2479 opened by @wedotech-ashley
df0a698
- tsql: add 'dddd' to '%A' time mapping (PR #2483 by @GeorgeSittas)↘️ fixes issue #2481 opened by @SudarshanVS
v18.17.0 - 2023-10-25
-
due to
c8e87b6
- unnabreviate units, e.g. ms to millisecond (PR #2451 by @GeorgeSittas):unnabreviate units, e.g. ms to millisecond (#2451)
7ded253
- add support for {fn ...} function syntax (PR #2447 by @GeorgeSittas)ee18756
- snowflake: register APPROX_TOP_K as AggFunc (PR #2450 by @GeorgeSittas)↘️ addresses issue #2449 opened by @yogevyuval
57b744a
- optimizer: infer bracket type (PR #2441 by @GeorgeSittas)64b18e6
- add ArgMax, ArgMin expressions, fix their transpilation (PR #2454 by @GeorgeSittas)959fa92
- lineage: terminal table node for select star (PR #2456 by @edpaget)
e11ecaf
- clickhouse: treat CURRENT_DATE as a function (PR #2439 by @GeorgeSittas)↘️ fixes issue #2438 opened by @samuelcolvin
fdb1668
- improve bracket parsing error, set Slice type to Unknown (PR #2440 by @GeorgeSittas)↘️ fixes issue #2437 opened by @samuelcolvin
546eb54
- redshift: don't rewrite JSON_PARSE to PARSE_JSON (commit by @purcell)00e3515
- parser: treat 'use' as a valid identifier token (PR #2446 by @GeorgeSittas)c8e87b6
- unnabreviate units, e.g. ms to millisecond (PR #2451 by @GeorgeSittas)↘️ fixes issue #2448 opened by @samuelcolvin
11bfc75
- lineage: handle unions with SELECT STAR (PR #2452 by @edpaget)b856477
- add table alias in unnest with columns only (PR #2457 by @GeorgeSittas)
927f5aa
- add docstrings in rest of transforms (commit by @GeorgeSittas)
v18.16.1 - 2023-10-21
87efe41
- duckdb: regexp_replace modifiers closes #2436 (commit by @tobymao)be38964
- infinite loop due to uppercase expansion (commit by @tobymao)
v18.16.0 - 2023-10-21
5b388bc
- attach comments to Union expressions (PR #2432 by @GeorgeSittas)↘️ fixes issue #2430 opened by @SudarshanVS
e6721d1
- subquery lineage closes #2431 (commit by @tobymao)b4f76eb
- clickhouse: neq bug closes #2435 (commit by @tobymao)
v18.15.1 - 2023-10-19
469226b
- snowflake: support for ALTER TABLE SWAP WITH (PR #2420 by @teraamp)13a5df2
- lineage: lineage from UDTFs that use columns (PR #2424 by @edpaget)8d7e4e9
- show version in cli (commit by @tobymao)88ddaa7
- make data type build more flexible (commit by @tobymao)
e1186a5
- redshift: generate the IDENTITY constraint correctly (PR #2418 by @GeorgeSittas)a00b5b5
- smarter detection of timestamp() fallback to cast (commit by @tobymao)c5028d4
- teradata: teradata only supports top closes #2419 (commit by @tobymao)3173683
- snowflake: map DAYOF[MONTH|YEAR] back to itself fixes #2422 (commit by @GeorgeSittas)e612089
- ts_or_ds reparse closes #2428 (commit by @tobymao)
fda3576
- fix type hint of swaptable_sql (commit by @GeorgeSittas)
v18.15.0 - 2023-10-17
v18.14.0 - 2023-10-17
4163d5f
- makeRegexpILike
a subclass ofBinary
as well asFunc
(PR #2404 by @samuelcolvin)de0cd98
- clickhouse any -> has closes #2408 (commit by @tobymao)463b6d6
- redshift: add a missing retreat in the group by parser (PR #2412 by @GeorgeSittas)↘️ fixes issue #2411 opened by @mrmammadov
f8109be
- bigquery: revert commit 09e2eeb, only reduce NULL for BQ at sqlgen time (PR #2414 by @GeorgeSittas)f970f7c
- clickhouse: map RegexpILike to match (PR #2407 by @GeorgeSittas)↘️ fixes issue #2406 opened by @samuelcolvin
1c8883f
- clickhouse any transpilation closes #2408 (commit by @tobymao)586de82
- casting (commit by @tobymao)d9958f9
- presto/trino limit can only contain literals (commit by @tobymao)7744648
- trino view column and partition column (PR #2416 by @eakmanrq)
v18.13.0 - 2023-10-13
e2e960a
- duckdb: add parsing support for timestamp types with unit suffixes (PR #2400 by @cpcloud)f024ac5
- redshift approximate count distinct (commit by @tobymao)
d7021d1
- optimizer: don't propagate equality constraints from IF/CASE outwards (PR #2396 by @GeorgeSittas)ed45fad
- teradata: FOR in LOCKING ROW FOR ACCESS is optional (PR #2402 by @GeorgeSittas)
85a16b1
- remove generic schema type (PR #2399 by @GeorgeSittas)
v18.12.0 - 2023-10-10
-
due to
28308da
- support spark trycast, treat databricks as strict_cast closes #2389 (commit by @tobymao):support spark trycast, treat databricks as strict_cast closes #2389
-
due to
c7c3869
- add explode outer and change hiearchy are explosions closes #2393 (commit by @tobymao):add explode outer and change hiearchy are explosions closes #2393
f4f8366
- schema: add method to check if column exists (PR #2381 by @GeorgeSittas)da2c6f1
- optimizer: simplify CONCAT_WS (PR #2383 by @GeorgeSittas)cca58dd
- optimizer: propagate constants (PR #2386 by @GeorgeSittas)28308da
- support spark trycast, treat databricks as strict_cast closes #2389 (commit by @tobymao)c7c3869
- add explode outer and change hiearchy are explosions closes #2393 (commit by @tobymao)
0fb1652
- replace executor None values with np.NaN to silence Pandas>2.1 warnings (PR #2384 by @GeorgeSittas)a849794
- mysql: move parsing logic for JSON_TABLE to base parser (PR #2387 by @GeorgeSittas)e08c1c0
- correctly handle agg subexpressions with no selections (PR #2390 by @ginter)8afa7a1
- schema: don't specialize type variable in MappingSchema (PR #2394 by @GeorgeSittas)
v18.11.6 - 2023-10-06
v18.11.5 - 2023-10-06
v18.11.4 - 2023-10-05
3266e51
- bigquery: improve support for CREATE MODEL DDL statement (PR #2380 by @GeorgeSittas)
dd8334d
- parser: don't consume identifier in unnamed constraint parser (PR #2377 by @GeorgeSittas)
v18.11.3 - 2023-10-04
347ac51
- redshift: add support for Redshift's super array index iteration (PR #2373 by @GeorgeSittas)160d841
- bigquery: add support for ML.PREDICT function (PR #2375 by @GeorgeSittas)
6a65a09
- postgres: translate variance_pop to var_pop and variance to var_samp (PR #2371 by @cpcloud)
v18.11.2 - 2023-10-03
513fe2c
- parser: support END keyword when parsing create procedure DDLs (PR #2369 by @GeorgeSittas)1ba5f98
- distinct from parsing (commit by @tobymao)
v18.11.1 - 2023-10-03
f777155
- unescape escape sequences on read, re-escape them on generation (PR #2367 by @GeorgeSittas)0d1e674
- optimizer: handle edge case in DATE_TRUNC simplification (PR #2368 by @GeorgeSittas)
v18.11.0 - 2023-10-03
e4da5d7
- clickhouse: add support for SAMPLE BY property in CREATE DDL (PR #2355 by @GeorgeSittas)8dc2a9c
- add the ability to set meta in sql comments (PR #2351 by @tobymao)d2047ec
- snowflake: add support for staged file file_format clause (PR #2359 by @GeorgeSittas)55e2d15
- switch identifier normalization off using comments (PR #2361 by @GeorgeSittas)
1df9333
- parser: exclude set operators from unnest offset alias token set (PR #2349 by @GeorgeSittas)↘️ fixes issue #2348 opened by @sean-rose
a794bfe
- hive: don't generate WithDataProperty (PR #2350 by @GeorgeSittas)5fb7174
- fix perf issues with nested left joins (commit by @tobymao)ac4e572
- handle strings in Table.parts, use dialect for parsing in table_name (PR #2353 by @GeorgeSittas)e8273e2
- hive: don't generate BYTE when transpiling Oracle's VARCHAR(5 BYTE) (PR #2358 by @GeorgeSittas)↘️ fixes issue #2356 opened by @CaryMoore-DB
2bc30a5
- mysql: DATE_ADD for datetimes (PR #2360 by @barakalon)a270c15
- redshift: treat single quote as an escape character (PR #2365 by @GeorgeSittas)0e93890
- optimizer: don't merge CTEs with EXPLODE projections into outer scopes (PR #2366 by @GeorgeSittas)
v18.10.1 - 2023-09-29
17e39d0
- snowflake: fix staged table path parsing (PR #2346 by @GeorgeSittas)
v18.10.0 - 2023-09-29
090724d
- addeliminate_qualify
to clickhouse, mysql, oracle, postgres, and tsql dialects (PR #2339 by @cpcloud)e2c8366
- executor: add support for TRIM, fix TRIM CSV-style parsing order (PR #2342 by @GeorgeSittas)↘️ addresses issue #2341 opened by @skyserenaa
fcc2d8f
- mysql,optimizer: TO_DAYS transpilation and more date casting (PR #2334 by @barakalon)
v18.9.0 - 2023-09-28
-
due to
f0e5eb6
- revert escape sequence changes introduced in #2230 (PR #2336 by @GeorgeSittas):revert escape sequence changes introduced in #2230 (#2336)
f80501c
- presto: group_concat -> array_join closes #2331 (commit by @tobymao)8af4054
- snowflake: add support for staged file table syntax (PR #2333 by @GeorgeSittas)↘️ addresses issue #2330 opened by @ShayYaari
bcd342a
- mysql: add unsigned decimal type (PR #2340 by @Nitrino)
58c7849
- clickhouse: don't generate parentheses, match R_PAREN conditionally (PR #2332 by @GeorgeSittas)f0e5eb6
- revert escape sequence changes introduced in #2230 (PR #2336 by @GeorgeSittas)5ea5438
- snowflake: allow window to be used as a table alias (PR #2337 by @GeorgeSittas)↘️ fixes issue #2335 opened by @arunbalasubramani
79c208a
- snowflake, bigquery: parse COLLATE as a func instead of a binary operator (PR #2343 by @GeorgeSittas)
v18.8.0 - 2023-09-26
-
due to
66d7385
- store expressions in Offset.expression when using builder fixes #2312 (commit by @GeorgeSittas):store expressions in Offset.expression when using builder fixes #2312
-
due to
cdcc564
- make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (PR #2315 by @GeorgeSittas):make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (#2315)
-
due to
ebdfc59
- add support for heredoc strings (Postgres, ClickHouse) (PR #2328 by @GeorgeSittas):add support for heredoc strings (Postgres, ClickHouse) (#2328)
c50e74c
- support for percentiles in duckdb, snowflake (PR #2302 by @longxiaofei)8ed0a81
- bigquery: add support for CREATE TABLE .. COPY DDL syntax (PR #2305 by @GeorgeSittas)↘️ addresses issue #2304 opened by @razvan-am
3cb3131
- clickhouse: add isnan and startswith renamings (PR #2310 by @cpcloud)f473e88
- postgres: add support for operator classes in CREATE INDEX DDL (PR #2317 by @GeorgeSittas)64a7b93
- optimizer: canonicalize date arithmetic funcs (PR #2320 by @barakalon)f3d928b
- optimizer: ensure boolean predicates on CASE statement (PR #2321 by @barakalon)ebdfc59
- add support for heredoc strings (Postgres, ClickHouse) (PR #2328 by @GeorgeSittas)
c51ecb1
- clickhouse: fix incorrect array param generation for clickhouse quantiles (PR #2311 by @cpcloud)66d7385
- store expressions in Offset.expression when using builder fixes #2312 (commit by @GeorgeSittas)cdcc564
- make ObjectIdentifier, IntervalSpan and PseudoType DataTypes (PR #2315 by @GeorgeSittas)aa2c4c3
- optimizer: a couple simplify_date_trunc enhancements (PR #2319 by @barakalon)180cd8e
- clickhouse: support SAMPLE clause fixes #2323 (commit by @GeorgeSittas)8242a2c
- mysql: transpile CHAR (PR #2329 by @barakalon)
v18.7.0 - 2023-09-22
f1b6546
- add iter for expressions (commit by @tobymao)13877fe
- optimizer: replace date funcs (PR #2299 by @barakalon)
fc793c4
- postgres: generate ARRAY[] correctly (PR #2287 by @GeorgeSittas)↘️ fixes issue #1457 opened by @cmvarmour
06e0869
- unnest complex closes #2284 (commit by @tobymao)5aa7e2a
- bigquery: preserve log argument order when parsing and generation dialects match (PR #2293 by @cpcloud)44f732d
- parser: make kwarg parsing more robust (PR #2295 by @GeorgeSittas)8fe91e2
- redshift: generate correct SQL VALUES clause alias (PR #2298 by @GeorgeSittas)6429042
- bigquery: anticipate OPTION property after JS UDF definition (PR #2297 by @GeorgeSittas)29550c1
- safedpipe is always varchar (commit by @tobymao)
v18.6.0 - 2023-09-21
-
due to
8100311
- explode to unnest with multiple explosions (PR #2235 by @tobymao):explode to unnest with multiple explosions (#2235)
-
due to
ff19f4c
- don't parse SEMI, ANTI as table aliases, fix join side issue (PR #2247 by @GeorgeSittas):don't parse SEMI, ANTI as table aliases, fix join side issue (#2247)
-
due to
8ebbfe2
- store expressions in Limit.expression when using builder (PR #2249 by @GeorgeSittas):store expressions in Limit.expression when using builder (#2249)
-
due to
4badd91
- preserve ascending order of sorting when present (PR #2256 by @GeorgeSittas):preserve ascending order of sorting when present (#2256)
-
due to
e90312a
- improve transpilation of T-SQL's SET assignment command (PR #2275 by @GeorgeSittas):improve transpilation of T-SQL's SET assignment command (#2275)
f63a06b
- eliminate semi/anti joins transformation (PR #2242 by @GeorgeSittas)d1cfa01
- optimizer: simplify date_trunc (PR #2271 by @barakalon)e90312a
- improve transpilation of T-SQL's SET assignment command (PR #2275 by @GeorgeSittas)69a2c67
- optimizer: simplify_equality (PR #2281 by @barakalon)ef062d1
- kill (PR #2285 by @barakalon)
66aadfc
- unescape escape sequences (PR #2230 by @GeorgeSittas)cd30eb7
- tsql: include catalog and db in create if not exists (PR #2231 by @treysp)c2238a5
- snowflake: transpile SELECT UNNEST(x) to TABLE(FLATTEN(..)) (PR #2232 by @GeorgeSittas)8509d52
- don't unnest subqueries when the parent select doesn't have a from since the subquery can't be joined (PR #2233 by @ginter)8100311
- explode to unnest with multiple explosions (PR #2235 by @tobymao)1992ab9
- transpile bool xor closes #2238 (commit by @tobymao)12de208
- snowflake: use IF instead of FILTER(WHERE cond) for conditional aggregation (PR #2241 by @GeorgeSittas)94d56be
- bigquery: regex with raw strings compile closes #2236 (commit by @tobymao)ff19f4c
- don't parse SEMI, ANTI as table aliases, fix join side issue (PR #2247 by @GeorgeSittas)8ebbfe2
- store expressions in Limit.expression when using builder (PR #2249 by @GeorgeSittas)829415c
- snowflake: rename GenerateSeries, include offset in unnest_sql (PR #2243 by @GeorgeSittas)ba013d6
- presto: treat struct with key-value definition as unsupported (PR #2245 by @GeorgeSittas)ab7effe
- parser: check for column operators after having parsed brackets (PR #2251 by @GeorgeSittas)3b654f2
- dataframe: ensure Column.alias preserves quotes (PR #2254 by @GeorgeSittas)f76ebb2
- tsql: generate SELECT INTO from CTAS (PR #2237 by @treysp)4badd91
- preserve ascending order of sorting when present (PR #2256 by @GeorgeSittas)86538ba
- bigquery: reduce the scope where UNKNOWN is treated as NULL (PR #2260 by @GeorgeSittas)12c83b6
- hive: get rid of any ASC in a ClusteredColumnConstraint (PR #2261 by @GeorgeSittas)35927a2
- tsql: correctly escape single quotes in EXEC (PR #2263 by @treysp)61f85a4
- postgres: parse RESTRICT constraint action (PR #2267 by @Nitrino)d5b229a
- snowflake: implement correct semantics of EXCEPT, RENAME (PR #2268 by @GeorgeSittas)↘️ fixes issue #2265 opened by @diogo-fernan
ccff88c
- postgres: add support for WHERE clause in CREATE INDEX (PR #2269 by @GeorgeSittas)ed8714f
- bigquery: allow overlaps to be used as an identifier (PR #2273 by @GeorgeSittas)↘️ fixes issue #2272 opened by @turntable-justin
76b7077
- ensure Expression is not an iterable to avoid inf. loops (PR #2280 by @GeorgeSittas)6475b84
- remove copy (PR #2282 by @barakalon)310d691
- improve performance of VALUES -> UNION ALL transpilation (PR #2283 by @GeorgeSittas)
v18.5.1 - 2023-09-15
0378325
- improve support for percentiles in duckdb, postgres (PR #2219 by @GeorgeSittas)b59ef0f
- add support for scoped user-defined types (PR #2226 by @GeorgeSittas)↘️ addresses issue #2217 opened by @sashindeitidata
b3c97de
- mysql: timestamp add/sub closes #2214 (commit by @tobymao)4634220
- use parse primary in the sample parser to handle nums like .25 (commit by @GeorgeSittas)fd1ed25
- oracle: add support for locking reads fixes #2216 (commit by @GeorgeSittas)5ec8e1f
- normalize before qualifying tables (commit by @tobymao)da398f4
- parse and generate JSON correctly (PR #2220 by @GeorgeSittas)6bc8e13
- mysql: transpile ISNULL to IS NULL (PR #2221 by @barakalon)2fa4043
- mysql: transpile MONTHNAME (PR #2222 by @barakalon)857e380
- mysql: TIMESTAMP -> CAST (PR #2223 by @barakalon)
v18.5.0 - 2023-09-13
72e939e
- parser: allow functions in FETCH clause (PR #2207 by @GeorgeSittas)↘️ addresses issue #2204 opened by @sashindeitidata
d944e17
- mysql: add support for [UN]LOCK TABLES as a Command (PR #2212 by @GeorgeSittas)
416b341
- use SUPPORTS_USER_DEFINED_TYPES to set udt in schema _to_data_type (PR #2203 by @GeorgeSittas)14c1b3b
- mysql: add support for index type in the UNIQUE KEY constraint (PR #2211 by @GeorgeSittas)5c7210a
- oracle: allow CONNECT BY / START WITH to be interchanged (PR #2208 by @GeorgeSittas)↘️ fixes issue #2205 opened by @sashindeitidata
v18.4.1 - 2023-09-12
-
due to
f85b535
- parse schema UDTs into DataTypes instead of identifiers (PR #2201 by @GeorgeSittas):parse schema UDTs into DataTypes instead of identifiers (#2201)
a228656
- tokenizer: treat quote as escape only if its followed by itself (PR #2199 by @GeorgeSittas)fa09688
- mysql: for update regression due to list comprehensions closes #2200 (commit by @tobymao)f85b535
- parse schema UDTs into DataTypes instead of identifiers (PR #2201 by @GeorgeSittas)
v18.4.0 - 2023-09-12
5e2042a
- add TINYTEXT and TINYBLOB types (PR #2182 by @Nitrino)0c536bd
- oracle: add support for JSON_ARRAYAGG (PR #2189 by @GeorgeSittas)f4e3e09
- oracle: add support for JSON_TABLE (PR #2191 by @GeorgeSittas)↘️ addresses issue #2187 opened by @sashindeitidata
11d95ff
- add redshift concat_ws support (PR #2194 by @eakmanrq)
c7433bf
- join using with star (commit by @tobymao)451439c
- clickhouse: add missing type mappings for string types (PR #2183 by @GeorgeSittas)5ba5165
- duckdb: rename VariancePop -> var_pop in DuckDB (PR #2184 by @gforsyth)d192515
- optimizer: merge subqueries should use alias from outer scope (PR #2185 by @barakalon)12db377
- mysql: multi table update closes #2193 (commit by @tobymao)b9f5ede
- oracle: make parentheses in JSON_TABLE's COLUMNS clause optional (commit by @GeorgeSittas)8c51275
- mysql: parse column prefix in index / pk defn. correctly (PR #2197 by @GeorgeSittas)
a81dd14
- override Bracket.output_name only when there's one bracket expression (commit by @GeorgeSittas)7ae5a94
- fix mutation bug in Column.to_dot, simplify Dot.build (PR #2196 by @GeorgeSittas)
981ad23
- duckdb: fix var_pop tests (commit by @GeorgeSittas)
v18.3.0 - 2023-09-07
-
due to
3fc2eb5
- improve support for interval spans like HOUR TO SECOND (PR #2167 by @GeorgeSittas):improve support for interval spans like HOUR TO SECOND (#2167)
-
due to
93b7ba2
- MySQL Timestamp Data Types (PR #2173 by @eakmanrq):MySQL Timestamp Data Types (#2173)
5dd0fda
- spark: add support for raw strings (PR #2165 by @GeorgeSittas)d9f8910
- teradata: add support for the SAMPLE clause (PR #2169 by @GeorgeSittas)63ac621
- mysql: improve support for unsigned int types (PR #2172 by @GeorgeSittas)cd301cc
- postgres: add support for ALTER TABLE ONLY ... (PR #2179 by @GeorgeSittas)
3fc2eb5
- improve support for interval spans like HOUR TO SECOND (PR #2167 by @GeorgeSittas)93b7ba2
- MySQL Timestamp Data Types (PR #2173 by @eakmanrq)6d761f9
- filter_sql use strip closes #2180 (commit by @tobymao)
5fbe303
- add minimum python version required to setup.py (PR #2170 by @GeorgeSittas)↘️ addresses issue #2168 opened by @jlardieri5
v18.2.0 - 2023-09-05
5df9b5f
- snowflake: desc table type closes #2145 (commit by @tobymao)a48051c
- teradata: improve support for DATABASE statement (PR #2160 by @GeorgeSittas)
d4d7a5c
- bigquery: allow numbers in table name (commit by @tobymao)7b589ae
- snowflake: better support for LISTAGG (PR #2147 by @GeorgeSittas)↘️ fixes issue #2146 opened by @alonc-sygnia
9c4a9cd
- hive: parse <date_part> as an interval instead of an alias (PR #2151 by @GeorgeSittas)↘️ fixes issue #2123 opened by @liujiwen-up
585d0bf
- tokenizer with ambious keywords (commit by @tobymao)f0bddde
- oracle: remove COALESCE -> NVL mapping fixes #2158 (commit by @GeorgeSittas)dcacef1
- parser: use _parse_bitwise for values of JSON_OBJECT (commit by @GeorgeSittas)db1303c
- parser: solve interval parsing bug (PR #2157 by @GeorgeSittas)↘️ fixes issue #2154 opened by @liujiwen-up
36ac469
- remove inconsistent quotes from eliminate distinct on transform (commit by @tobymao)
f934575
- improve type hints for dialects (PR #2152 by @GeorgeSittas)
v18.1.0 - 2023-09-01
-
due to
f3fee3a
- iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128 (commit by @tobymao):iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128
f3fee3a
- iceberg version/timestamp snapshots, bigquery, refactor tsql closes #2128 (commit by @tobymao)30e3e2f
- add support for transpiling some datetime functions from bq to databricks (PR #2142 by @fireis)
632ad59
- mysql: binary x parsing closes #2130 (commit by @tobymao)999a950
- optimizer: dont simplify parens with multiple predicates closes #2131 (commit by @tobymao)bf7af1f
- parser: support order in update statement (PR #2134 by @brosoul)7a27931
- bigquery: parse JSON_OBJECT properly for key-value pairs (PR #2136 by @middagj)2ad559d
- mysql: generate JSON_OBJECT properly (PR #2139 by @middagj)bd96d0c
- tsql: support adding multiple columns with ALTER TABLE (PR #2140 by @treysp)32d8e54
- row number in transform requires order by (commit by @tobymao)39bce6d
- mysql: allow unquoted identifiers that start with a number (PR #2141 by @middagj)
v18.0.1 - 2023-08-30
be56bc0
- optimizer join needs on condition (commit by @tobymao)cc0a6e2
- tsql: generate IDENTITY instead of AUTO_INCREMENT (PR #2127 by @GeorgeSittas)d1ccb03
- bigquery: unnest with structs closes #2125 (commit by @tobymao)6a0110a
- create the struct key properly in struct_extract_sql (PR #2129 by @GeorgeSittas)
v18.0.0 - 2023-08-29
c9d679b
- parse INTERVAL ... YEAR (PR #2122 by @barakalon)d5bae81
- table with empty identifiers (commit by @tobymao)
v17.16.2 - 2023-08-28
5b14f52
- duckdb: by_name modifiers #2118 (commit by @tobymao)cf2789f
- duckdb: allow selects in from leading syntax #2118 (commit by @tobymao)
167d298
- presto: transpile DATE_SUB (PR #2120 by @barakalon)
v17.16.1 - 2023-08-26
v17.16.0 - 2023-08-26
0316f7f
- presto: datetime -> timestamp (PR #2113 by @barakalon)
v17.15.1 - 2023-08-24
dc5836c
- tsql: table constraints closes #2106 (commit by @tobymao)bda94df
- tsql: not for replication closes #2107 (commit by @tobymao)c99bf73
- mysql mediumint and year types closes #2109 (commit by @tobymao)
fb8a0b6
- regxpilike for snowflake (commit by @tobymao)f62f35c
- clickhouse dateadd/datediff closes #2108 (commit by @tobymao)b0d82ea
- property with ON keyword closes #2111 (commit by @tobymao)12bc916
- tsql: single quotes in if not exists (commit by @tobymao)
v17.15.0 - 2023-08-22
-
due to
1da653f
- Have Spark put CTE at front of insert (PR #2086 by @eakmanrq):Have Spark put CTE at front of insert (#2086)
-
due to
edb9a96
- rename DataTypeSize -> DataTypeParam (PR #2097 by @GeorgeSittas):rename DataTypeSize -> DataTypeParam (#2097)
-
due to
28a0e20
- add support for casting to user defined types (PR #2096 by @GeorgeSittas):add support for casting to user defined types (#2096)
-
due to
075849f
- allow types to be identifiers closes #2102 (commit by @tobymao):allow types to be identifiers closes #2102
33220b9
- add more funcs to scope module (commit by @tobymao)2922bb0
- postgres full text search @@ closes #2066 (commit by @tobymao)c5dc9ac
- oracle: add support for old-style SELECT UNIQUE .. syntax (PR #2076 by @GeorgeSittas)↘️ addresses issue #2074 opened by @sashindeitidata
6426c1f
- tsql: transpile CREATE SCHEMA IF NOT EXISTS to dynamic SQL (PR #2083 by @GeorgeSittas)19300a8
- oracle: add support for $, # symbols (PR #2095 by @GeorgeSittas)↘️ addresses issue #2090 opened by @sashindeitidata
0b9a575
- tsql: update statistics cmd closes #2101 (commit by @tobymao)28a0e20
- add support for casting to user defined types (PR #2096 by @GeorgeSittas)↘️ addresses issue #2091 opened by @sashindeitidata
2843817
- add snowflake/tsql insert/stuff (commit by @tobymao)1fa5056
- tsql computed column exp closes #2104 (commit by @tobymao)
3c01cbf
- presto: allow REGEXP_REPLACE with 2 arguments (PR #2073 by @GeorgeSittas)↘️ fixes issue #2072 opened by @dmelchor-stripe
3c493e9
- optimizer: solve an infinite loop problem in simplify (PR #2071 by @GeorgeSittas)↘️ fixes issue #2068 opened by @powerAmore
c1febf2
- duckdb: improve struct kwarg parsing (PR #2082 by @GeorgeSittas)1da653f
- Have Spark put CTE at front of insert (PR #2086 by @eakmanrq)1aafe6e
- allow placeholders to be any ID_VAR token (PR #2093 by @GeorgeSittas)↘️ fixes issue #2089 opened by @sashindeitidata
6fa1581
- interval::int cast closes #2098 (commit by @tobymao)075849f
- allow types to be identifiers closes #2102 (commit by @tobymao)e474aa0
- array (commit by @tobymao)
edb9a96
- rename DataTypeSize -> DataTypeParam (PR #2097 by @GeorgeSittas)
afe0286
- remove unnecessary class constants (PR #2094 by @GeorgeSittas)a20794a
- cleanup types and add sort by alias for hive (commit by @tobymao)
v17.14.2 - 2023-08-15
cd2628a
- convert ANY_VALUE to MAX for some dialects (PR #2058 by @GeorgeSittas)d92a5b7
- optimizer: improve type annotation for nested types (PR #2061 by @GeorgeSittas)
21b061f
- escape sequence warnings closes #2059 (commit by @tobymao)56a3d89
- spark: handle MAP(..) without arguments correctly (PR #2063 by @GeorgeSittas)↘️ fixes issue #2062 opened by @dmelchor-stripe
7787342
- pushdown predicate to HAVING (PR #2064 by @barakalon)
v17.14.1 - 2023-08-15
0126d01
- parenthesize coalesce simplification (PR #2057 by @barakalon)
v17.14.0 - 2023-08-14
-
due to
2e73a4f
- dict conversion had incorrect ast (commit by @tobymao):dict conversion had incorrect ast
2e73a4f
- dict conversion had incorrect ast (commit by @tobymao)8affeff
- coalesce simplify window func (commit by @tobymao)
v17.13.0 - 2023-08-14
c817e19
- improve support for NVL2 function (PR #2042 by @GeorgeSittas)689956b
- add distribute by alias for hive window functions closes #2043 (commit by @tobymao)0746b6f
- tsql: if object_id is not null support closes #2044 (commit by @tobymao)c37abfd
- any_value hive/spark/presto closes #2053 (commit by @tobymao)f8cb87d
- presto, spark: improve support for STR_TO_MAP, SPLIT_TO_MAP (PR #2054 by @GeorgeSittas)
a35cfe0
- tsql: add support for 'culture' argument in FORMAT (PR #2047 by @GeorgeSittas)cad6de8
- tsql: improve handling of table hints in MERGE statement (PR #2049 by @GeorgeSittas)↘️ fixes issue #2048 opened by @dmoore247
96d4d8b
- parser: ensure identifiers aren't treated as NO_PAREN_FUNCTIONS (PR #2056 by @GeorgeSittas)
v17.12.0 - 2023-08-11
95ec5b6
- hive: improve transpilation of Bigquery's TIMESTAMP_ADD (PR #2012 by @GeorgeSittas)921d7a5
- add apache doris dialect (PR #2006 by @liujiwen-up)6e2705e
- simplify COALESCE (PR #2019 by @barakalon)915b1e2
- databricks: add support for UNPIVOT nulls option (PR #2021 by @GeorgeSittas)ea7891d
- duckdb: improve support for INT128, HUGEINT, NUMERIC (PR #2023 by @GeorgeSittas)190255d
- clickhouse: add support for FixedString(N) type (PR #2036 by @GeorgeSittas)ccb1b14
- clickhouse: LowCardinality closes #2033 (commit by @tobymao)55a8ead
- clickhouse: add support for Enum types (PR #2038 by @GeorgeSittas)593153c
- presto,oracle: add support for INTERVAL span types (PR #2035 by @GeorgeSittas)36f308e
- clickhouse: add support for Nested type (PR #2039 by @GeorgeSittas)
bc46c3d
- executor: add table normalization, fix python type mapping (PR #2015 by @GeorgeSittas)baab165
- improve comment handling for several expressions (PR #2017 by @GeorgeSittas)325b26e
- duckdb ISNAN (PR #2024 by @barakalon)ad75c6f
- only some joins can be simplified to CROSS (PR #2025 by @barakalon)32eb129
- postgres: improve parsing of array types closes #2034 (PR #2040 by @tobymao)4591092
- parse time[(p)] with time zone correctly (PR #2041 by @GeorgeSittas)
c3fd695
- doris: cleanup implementation of Doris dialect (PR #2018 by @GeorgeSittas)
v17.10.2 - 2023-08-09
7ccfd35
- optimizer: don't parse str argument in normalize_identifiers (PR #2010 by @GeorgeSittas)
v17.10.1 - 2023-08-08
f6fe54a
- optimizer: wrap expanded alias expressions (PR #2004 by @GeorgeSittas)900bec3
- if_sql mutation (commit by @tobymao)c73790d
- optimizer: ensure TableAlias column names shadow source columns (PR #2002 by @GeorgeSittas)caf2adc
- snowflake: tokenize $$ as raw string delimiters (PR #2007 by @GeorgeSittas)289493b
- remove several mutations in Generator methods (PR #2009 by @GeorgeSittas)
v17.10.0 - 2023-08-07
92f3288
- snowflake: generate WEEKOFYEAR instead of WEEK_OF_YEAR (commit by @GeorgeSittas)c9dd971
- parser, duckdb: decode/encode in duckdb don't take charset (PR #1993 by @charsmith)e00d857
- redshift: parse dateadd alias date_add (PR #1995 by @gafeol)d219a65
- snowflake startswith closes #1998 (commit by @tobymao)
v17.9.1 - 2023-08-03
57df0b7
- optimizer: allow normalize_identifiers to accept strings (PR #1992 by @GeorgeSittas)
652d1c9
- optimizer: wrap scalar subquery replacement in a MAX call (PR #1988 by @GeorgeSittas)↘️ fixes issue #1987 opened by @laurentiupiciu
1865959
- ensure eliminate_qualify won't introduce duplicate projections (PR #1990 by @GeorgeSittas)
v17.9.0 - 2023-08-01
ea7c7da
- teradata: parse [COLLECT|HELP] STATISTICS as Commands (PR #1979 by @GeorgeSittas)↘️ addresses issue #1978 opened by @MarkBell920
4af91a0
- parser: parse placeholder as fallback for boolean, null, star (PR #1976 by @GeorgeSittas)↘️ fixes issue #1975 opened by @SoftwareGuy2020
be7d4e6
- control whether quotes are generated for extract's date part (PR #1981 by @GeorgeSittas)5436f53
- Make date_add with incorrect expression more clear (commit by @tobymao)
8a44cc2
- optimizer: improve handling of DDL optimization (PR #1972 by @GeorgeSittas)9e77c7b
- optimizer: factor out pseudocolumns in qualify columns (PR #1984 by @GeorgeSittas)
78b0eed
- update docstring with description of Expression.meta (commit by @GeorgeSittas)
v17.8.5 - 2023-07-28
9d67283
- optimizer: add support for resolving CTEs in CREATE statements (PR #1949 by @gtoonstra)
2874ae5
- tsql: improve UDF parsing (PR #1973 by @GeorgeSittas)89c8635
- parser,bigquery: make separator optional in STRING_AGG parser (PR #1974 by @GeorgeSittas)
v17.8.4 - 2023-07-28
7440e4a
- tsql: improve support for the DATEDIFF function (PR #1967 by @GeorgeSittas)
2d5d714
- tsql: revert float-to-datetime coercions (PR #1970 by @GeorgeSittas)35f55e9
- mysql: simplify LIMIT, OFFSET when their expression is complex (PR #1971 by @GeorgeSittas)
5695667
- add dialect parameter to parse for parity with parse_one (PR #1969 by @GeorgeSittas)
v17.8.3 - 2023-07-27
75b418c
- mysql: generate DATETIME instead of TIMESTAMP for TimeStrToTime (commit by @GeorgeSittas)
v17.8.2 - 2023-07-27
5e641c2
- presto: add IPADDRESS/IPPREFIX data types (PR #1965 by @roykoand)d2685dd
- mysql: improve support for DDL index column constraints (PR #1961 by @GeorgeSittas)↘️ addresses issue #1959 opened by @ninja96826
7082b61
- trino->spark starts_with closes #1963 (commit by @tobymao)9787329
- trino->spark is_nan closes #1964 (commit by @tobymao)1ebe49f
- mysql: generate TimeStrToTime as a cast to TIMESTAMP (PR #1968 by @GeorgeSittas)
v17.8.1 - 2023-07-27
59847f5
- parser: improved comment parsing (PR #1956 by @mpf82)8448141
- tsql: improve transpilation of temp table DDLs (PR #1958 by @GeorgeSittas)
92849bd
- optimizer: traverse UNNEST scope (PR #1960 by @GeorgeSittas)7f79592
- using type (commit by @tobymao)
4ed04d5
- minor README addition (commit by @GeorgeSittas)
v17.8.0 - 2023-07-24
75d49b7
- schema: improve overridability of normalization setting (PR #1954 by @GeorgeSittas)
da5a4d1
- oracle: improve handling of KEEP (...) OVER (...) window syntax (PR #1953 by @GeorgeSittas)↘️ fixes issue #1952 opened by @push2prod
v17.7.0 - 2023-07-23
-
due to
2aa62d1
- mysql 5 does not support select * from values (commit by @tobymao):mysql 5 does not support select * from values
b82573b
- redshift: improve transpilation of ADD_MONTHS function (PR #1945 by @GeorgeSittas)
46b5dfa
- duckdb: ensure 'day' will be generated for exp.DateDiff by default (PR #1944 by @GeorgeSittas)↘️ fixes issue #1943 opened by @richard-a-lott
327451f
- limit with select subquery closes #1948 (commit by @tobymao)f2f4084
- offset subquery (commit by @tobymao)2aa62d1
- mysql 5 does not support select * from values (commit by @tobymao)3b5d0a6
- mysql cast only supports a few data types (commit by @tobymao)
v17.6.1 - 2023-07-21
4b7e9f1
- clickhouse: add support for the logical xor function (PR #1937 by @GeorgeSittas)1d2b5e0
- hive: add support for the query TRANSFORM clause (PR #1935 by @GeorgeSittas)
b8de650
- union lineage with > 2 sources closes #1934 (commit by @tobymao)79efb42
- duckdb, presto: improve bitwise support (PR #1938 by @GeorgeSittas)
v17.6.0 - 2023-07-19
v17.5.0 - 2023-07-18
e6b3a01
- tsql: improve support for transaction statements (PR #1907 by @dmoore247)048b9bc
- add refresh command (commit by @tobymao)3456bbf
- add RegexpReplace expression (PR #1925 by @GeorgeSittas)d6c8722
- clickhouse array join (commit by @tobymao)
d928ee0
- duckdb filter where optional (commit by @tobymao)cbcb113
- spark: add support for RLIKE function (PR #1911 by @GeorgeSittas)cc33749
- preserve comments in exp.Drop (commit by @GeorgeSittas)35e05f7
- make end transactions postgres specific closes #1921 (commit by @tobymao)aaee594
- teradata: separate POST_EXPRESSION props from POST_INDEX (PR #1924 by @GeorgeSittas)↘️ fixes issue #1923 opened by @MarkBell920
a523c8b
- comments above limit (commit by @tobymao)e9f1cb5
- spark,duckdb: transpile TO_TIMESTAMP, MONTHS_BETWEEN correctly (PR #1929 by @GeorgeSittas)↘️ fixes issue #1928 opened by @richard-a-lott
726306e
- scope: rename _is_subquery_scope to _is_derived_table for clarity (PR #1912 by @GeorgeSittas)
v17.4.1 - 2023-07-11
v17.4.0 - 2023-07-11
-
due to
c511278
- table_name force quotes if unsafe identifiers (commit by @tobymao):table_name force quotes if unsafe identifiers
21246fb
- Add FLOAT(n) mappings to Hive (PR #1896 by @dmoore247)d68f844
- tsql: insert output closes #1901 (commit by @tobymao)273daf9
- add returning as alias for postgres (commit by @tobymao)
900ad7e
- mysql: add support some logical operators (PR #1899 by @brosoul)c3b4b66
- expansions of literals in select and where (commit by @tobymao)6ccb595
- postgres nested jsonb closes #1903 (commit by @tobymao)a27521b
- improve parsing / generation of REGEXP_EXTRACT (PR #1905 by @GeorgeSittas)3e8c6cb
- oracle: keep NCHAR as-is (PR #1908 by @mpf82)5eed17e
- use sql method to generate index name (PR #1909 by @GeorgeSittas)c511278
- table_name force quotes if unsafe identifiers (commit by @tobymao)
3b215ad
- hive: cleanup handling of FLOAT(n) in the generator (commit by @GeorgeSittas)69a69f6
- show an 'unsupported' error when transpiling (+) (PR #1906 by @GeorgeSittas)
v17.3.0 - 2023-07-07
fafccf5
- postgres: add MONEY type, revert in Spark to use DECIMAL(15, 4) (commit by @GeorgeSittas)24dda47
- improve transpilation of BigQuery's TO_HEX(MD5(..)) (PR #1897 by @GeorgeSittas)
2ab8887
- spark: map MONEY type to a broader DECIMAL type (commit by @GeorgeSittas)dd7e494
- enforce function arg order (commit by @tobymao)
5cf9304
- optimizer: add more tests, improve titles in qualify_tables.sql (commit by @GeorgeSittas)
v17.2.0 - 2023-07-06
1f575db
- duckdb: improve transpilation of BigQuery DATE function (PR #1895 by @GeorgeSittas)
v17.1.0 - 2023-07-04
83db4c0
- tsql: rename EXTRACT to DATEPART closes #1885 (commit by @GeorgeSittas)5a84605
- order by agg closes #1887 (PR #1889 by @tobymao)d1ad7da
- performance regression due to 6f80cc80 (commit by @tobymao)
v17.0.0 - 2023-07-04
-
due to
df4448d
- use a dictionary for query modifier search (commit by @tobymao):use a dictionary for query modifier search
-
due to
f747260
- hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific (commit by @tobymao):hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific
47d999c
- mysql: add support for the MEMBER OF operator (PR #1872 by @GeorgeSittas)156afcd
- add the ability to parse nested joins implements #1878 (commit by @tobymao)
8a19d7a
- mysql: improve parsing of INSERT .. SELECT statement (PR #1871 by @GeorgeSittas)58e1683
- bigquery: improve support for cast to timestamp with format, time zone (PR #1873 by @GeorgeSittas)↘️ fixes issue #1870 opened by @dskarbrevik
0197119
- convert JSONArrayContains to a Func expression (commit by @GeorgeSittas)f4fb1f4
- tsql datepart format casing closes #1869 (commit by @tobymao)fe69102
- duckdb date_trunc to time closes #1875 (commit by @tobymao)a957388
- mysql: add support more kind for MEMBER OF content (PR #1880 by @brosoul)6f80cc8
- parser: handle chained table join with consecutive USING clauses (PR #1883 by @GeorgeSittas)82f8fff
- bigquery don't strip nested types (commit by @tobymao)cf12c8a
- python is literal warning (commit by @tobymao)
df4448d
- use a dictionary for query modifier search (commit by @tobymao)f747260
- hashable args is now more efficient and identifiers no longer accomodate case insensitivity because that is dialect specific (commit by @tobymao)f621e85
- remove unused line, no tests fail (commit by @tobymao)0114b6d
- change to lambda that returns tuple (commit by @tobymao)
v16.8.1 - 2023-06-30
v16.8.0 - 2023-06-30
-
due to
fcf7dd0
- big query single quotes does not support line breaks (commit by @tobymao):big query single quotes does not support line breaks
3800158
- datediff python executor (commit by @tobymao)2e1a2b8
- snowflake: add support for GROUP BY ALL (PR #1864 by @GeorgeSittas)6e81ac6
- makefile: add rule to skip integration tests (PR #1865 by @GeorgeSittas)
2911bbb
- typo (commit by @tobymao)d6c1569
- executor: allow non-projected aggregates in ORDER BY (PR #1863 by @GeorgeSittas)fcf7dd0
- big query single quotes does not support line breaks (commit by @tobymao)
v16.7.7 - 2023-06-30
v16.7.6 - 2023-06-30
15ac3c1
- executor: get rid of 'running' set (PR #1861 by @GeorgeSittas)
v16.7.4 - 2023-06-29
08c3074
- bigquery: support the full syntax of ANY_VALUE (PR #1860 by @GeorgeSittas)↘️ addresses issue #1858 opened by @lucia-vargas-a
0357d63
- bigquery quoted udf project id (commit by @tobymao)28e1024
- group and order cannot replace with literals (commit by @tobymao)5dabb96
- alias snowflake timediff/timestampdiff to datediff closes #1851 (commit by @tobymao)
1e76107
- snowflake: fix tests (commit by @GeorgeSittas)
v16.7.2 - 2023-06-28
v16.7.1 - 2023-06-28
95a4b70
- bigquery: pushdown CTE column names (PR #1847 by @GeorgeSittas)f81dd26
- bigquery: add support for casting to string w/ format (PR #1848 by @GeorgeSittas)
v16.7.0 - 2023-06-28
-
due to
d72caf4
- bigquery udfs are case sensitive (commit by @tobymao):bigquery udfs are case sensitive
ebe04bb
- table name with dots (commit by @tobymao)e3c43f2
- redshift to ast incorrect (commit by @tobymao)d72caf4
- bigquery udfs are case sensitive (commit by @tobymao)7cb01a0
- bigquery: transpile explode projection to cross join unnest, clean up tests (PR #1844 by @GeorgeSittas)abdf34b
- bigquery: STRING_AGG parsing bug (PR #1846 by @GeorgeSittas)
v16.6.0 - 2023-06-27
-
due to
71818f9
- bigquery normalize dot tables and aliases (commit by @tobymao):bigquery normalize dot tables and aliases
b60e19b
- spark clustered by dml (commit by @tobymao)40928b7
- full support for spark clustered by (commit by @tobymao)71818f9
- bigquery normalize dot tables and aliases (commit by @tobymao)
v16.5.0 - 2023-06-27
-
due to
451dad2
- use alias for order by after group by closes #1822 (commit by @tobymao):use alias for order by after group by closes #1822
-
due to
9de9667
- group by having closes #1831 (commit by @tobymao):group by having closes #1831
5d5795d
- postgres: improve transpilation of ELEMENT_AT (PR #1830 by @GeorgeSittas)↘️ addresses issue #1829 opened by @SudarshanVS
763d25b
- mysql: add support for SIGNED [INTEGER] and UNSIGNED [INTEGER] types (PR #1828 by @brosoul)
451dad2
- use alias for order by after group by closes #1822 (commit by @tobymao)8aef4c3
- dont expand bq pseudocolumns in optimizer star expansion (PR #1826 by @z3z1ma)f7abc28
- mysql: convert (U)BIGINT to (UN)SIGNED in CAST expressions (PR #1832 by @GeorgeSittas)9de9667
- group by having closes #1831 (commit by @tobymao)cb0ac10
- unnest subqueries in executor closes #1835 (commit by @tobymao)32a86aa
- bigquery: handle reserved keywords (PR #1839 by @serkef)4de255c
- interval precedence parsing bug (PR #1837 by @GeorgeSittas)e4d6ba5
- remove group alias for spark 3 (commit by @tobymao)
v16.4.2 - 2023-06-23
91ebaf5
- snowflake: add support for BYTEINT type (PR #1819 by @GeorgeSittas)↘️ addresses issue #1818 opened by @criccomini
2367bfc
- make table_name more robust by quoting unsafe parts (PR #1820 by @GeorgeSittas)5572e76
- execute LEFT and RIGHT (PR #1821 by @barakalon)
v16.4.1 - 2023-06-23
088e745
- databricks: add support for REPLACE WHERE in INSERT statement (PR #1817 by @GeorgeSittas)
8079b50
- executor: ensure IN clause can work with a single value (PR #1815 by @GeorgeSittas)
v16.4.0 - 2023-06-21
-
due to
1db023f
- simplify mypy type hints for parse_one (PR #1797 by @GeorgeSittas):simplify mypy type hints for parse_one (#1797)
15f6f26
- support BigQuery GENERATE_ARRAY (PR #1800 by @r1b)2f43629
- bigquery: support TO_JSON_STRING (PR #1802 by @r1b)e62c50c
- add support for LIMIT clause in DELETE statement (PR #1804 by @GeorgeSittas)a2bf084
- duckdb: support TO_JSON (PR #1803 by @r1b)b8d9a19
- add support for LIMIT clause in UPDATE statement (PR #1808 by @GeorgeSittas)
2e67bf9
- teradata: add support for the SELECT TOP N syntax (PR #1799 by @GeorgeSittas)6945b28
- remove side on condition simplification (commit by @tobymao)d7c1e7d
- snowflake: add support for TOP keyword (commit by @ftom)
1db023f
- simplify mypy type hints for parse_one (PR #1797 by @GeorgeSittas)458f12d
- hive: improve transpilation of TO_JSON (PR #1809 by @GeorgeSittas)
4da37aa
- clean up some comments in helper.py (commit by @GeorgeSittas)73cddc4
- fix ANNOTATORS mypy type hint (commit by @GeorgeSittas)
v16.3.1 - 2023-06-16
v16.3.0 - 2023-06-16
-
due to
038afc9
- switch presto tsords to cast timestamp -> date (commit by @tobymao):switch presto tsords to cast timestamp -> date
-
due to
4084ba3
- move normalization logic in Dialect, update case-sensitivity info (PR #1784 by @GeorgeSittas):move normalization logic in Dialect, update case-sensitivity info (#1784)
fc9afb3
- snowflake: add support for COPY GRANTS property (PR #1793 by @GeorgeSittas)
311380c
- select as struct transpilation closes #1788 (commit by @tobymao)1b62c0a
- parser: cast coalesce arg to text in the context of a CONCAT call (PR #1792 by @GeorgeSittas)d27e8f8
- schema: ensure tables aren't normalized for BigQuery (PR #1794 by @GeorgeSittas)58fe190
- rawstring backslashes for bigquery (commit by @tobymao)
038afc9
- switch presto tsords to cast timestamp -> date (commit by @tobymao)4084ba3
- move normalization logic in Dialect, update case-sensitivity info (PR #1784 by @GeorgeSittas)
v16.2.1 - 2023-06-16
-
due to
88249b8
- cyclic joins in the optimizer (PR #1786 by @tobymao):cyclic joins in the optimizer (#1786)
88249b8
- cyclic joins in the optimizer (PR #1786 by @tobymao)f957a07
- overly aggressive cross join removal (commit by @tobymao)cacf8bf
- build null types (commit by @tobymao)
d696d7f
- cleanup merge_subqueries (commit by @tobymao)8e1b6a7
- speed up executor tests (commit by @tobymao)
v16.2.0 - 2023-06-15
v16.1.4 - 2023-06-15
4a1068b
- Postgres: Set INDEX_OFFSET to 1 (PR #1782 by @vegarsti)f523dd6
- build uppercasing everything (commit by @tobymao)
v16.1.3 - 2023-06-15
fd0fc97
- bigquery timestamp -> timestamptz (commit by @tobymao)b86f7e8
- dialect build (commit by @tobymao)
v16.1.1 - 2023-06-15
697c8b1
- bigquery: allow SPLIT call with 1 argument (PR #1770 by @GeorgeSittas)0796cdc
- join using struct (commit by @tobymao)b13d0b9
- map "RETURNING" to its token in the base Tokenizer (PR #1773 by @GeorgeSittas)↘️ fixes issue #1771 opened by @LilyFoote
a2deee3
- parser: don't parse an alias for non-source UNNESTs (PR #1774 by @GeorgeSittas)0a1362b
- bigquery regexp_extract closes #1776 (commit by @tobymao)f84732e
- bigquery timestamp mapping (commit by @tobymao)
1dbed85
- optimizer: make the type annotator more dry (PR #1777 by @GeorgeSittas)
v16.1.0 - 2023-06-13
a4934cb
- add hint builder (PR #1758 by @GeorgeSittas)b87fa35
- add copy flag to replace_tables (commit by @tobymao)6cfc873
- snowflake: add support for // comments (PR #1765 by @GeorgeSittas)↘️ addresses issue #1763 opened by @florian-ernst-alan
146e66a
- select x.update (commit by @tobymao)2b46782
- json_object(*) closes #1757 (commit by @tobymao)0264b43
- limit offset multi arg order (commit by @tobymao)4fcdb0f
- tokenizer: improve tokenization of decimals ending in . (PR #1766 by @GeorgeSittas)↘️ fixes issue #1764 opened by @florian-ernst-alan
35d960a
- parser: disallow no paren functions when parsing table parts (PR #1767 by @GeorgeSittas)↘️ fixes issue #1762 opened by @florian-ernst-alan
5955b9e
- values inner alias snowflake closes #1768 (commit by @tobymao)0a9cecb
- Postgres: Support UNNEST (PR #1761 by @vegarsti)
46abf16
- simplify list comprehension in hint parser (commit by @GeorgeSittas)
v16.0.0 - 2023-06-12
-
due to
e00647a
- output name for parens (commit by @tobymao):output name for parens
-
due to
2dd8cba
- misc. improvements in formatting, type hints, dialect class variables (PR #1750 by @GeorgeSittas):misc. improvements in formatting, type hints, dialect class variables (#1750)
-
due to
a233afa
- bigquery cast date format closes #1753 (commit by @tobymao):bigquery cast date format closes #1753
99c41d9
- clickhouse: support CREATE VIEW TO syntax (PR #1752 by @pkit)e00647a
- output name for parens (commit by @tobymao)
48ad1f1
- bigquery table with hyphen number (commit by @tobymao)68b9128
- index using closes #1751 (commit by @tobymao)55a14a3
- selecting from table with same name as cte (commit by @tobymao)7000a6f
- presto offset limit order closes #1754 (commit by @tobymao)1553bfa
- count with multiple args closes #1755 (commit by @tobymao)a233afa
- bigquery cast date format closes #1753 (commit by @tobymao)
2dd8cba
- misc. improvements in formatting, type hints, dialect class variables (PR #1750 by @GeorgeSittas)
v15.2.0 - 2023-06-09
-
due to
c6a540c
- store type dump so it is not reparsed (commit by @tobymao):store type dump so it is not reparsed
e028d98
- redshift,presto: transpile FROM_BASE to STRTOL and vice versa (PR #1744 by @GeorgeSittas)↘️ addresses issue #1742 opened by @pangyifish
bb1f1a0
- redshift,presto: transpile DATEADD, DATEDIFF to presto (PR #1746 by @GeorgeSittas)↘️ addresses issue #1745 opened by @pangyifish
9b56fc9
- add ts_or_ds to postgres (commit by @tobymao)0cc09cf
- is true for presto closes #1740 (commit by @tobymao)6168fbf
- redshift len->length closes #1741 (commit by @tobymao)824fcb2
- bigquery table with hyphen number (commit by @tobymao)
d2e46c3
- fix README example (commit by @GeorgeSittas)c6a540c
- store type dump so it is not reparsed (commit by @tobymao)
v15.1.0 - 2023-06-07
-
due to
6ad00ca
- convert left and right closes #1733 (commit by @tobymao):convert left and right closes #1733
5867fc4
- postgres: add support for all range/multirange types (PR #1718 by @GeorgeSittas)dd29f3f
- presto: transpile 'epoch' to '1970-01-01 00:00:00' in time-like casts (PR #1726 by @GeorgeSittas)↘️ addresses issue #1725 opened by @pangyifish
4f31a50
- clickhouse backslash str escape closes #1719 (commit by @tobymao)95f7ac7
- bigquery: treat HASH as a reserved keyword (PR #1721 by @GeorgeSittas)cad14bd
- conditionally quote identifiers that start with a digit (PR #1729 by @GeorgeSittas)e058513
- ensure pivot can be used as a table name (PR #1734 by @GeorgeSittas)be0de6e
- window sql gen closes #1739 (commit by @tobymao)
1eb338a
- optimizer: fix pushdown_predicates comment example (PR #1732 by @GeorgeSittas)a30a828
- cleanup identifer (commit by @tobymao)
v15.0.0 - 2023-06-02
24d44ad
- schema: allow passing kwargs in ensure_schema (PR #1706 by @GeorgeSittas)1b1d9f2
- mysql: add support for the UNIQUE KEY constraint (PR #1708 by @GeorgeSittas)17dc0e1
- duckdb: add support for simplified pivot syntax (PR #1714 by @GeorgeSittas)↘️ addresses issue #1712 opened by @csubhodeep
ec7c863
- ensure maybe parse doesn't get none (commit by @tobymao)5f45e18
- teradata partition order (PR #1696 by @tobymao)764ce6f
- clear errors on schema parse closes #1698 (commit by @tobymao)a9e1483
- Minor Dataframe cleanup (PR #1700 by @eakmanrq)264e9d7
- make error message more robust (commit by @tobymao)da17c4d
- snowflake object_construct to struct closes #1699 (commit by @tobymao)2792eaa
- bigquery record -> struct (commit by @tobymao)6045b74
- allow type column ops for bigquery (commit by @tobymao)910166c
- set quote_identifiers in qualify, add normalize flag in schema (PR #1701 by @GeorgeSittas)611c234
- parse query modifiers for ddl selects (PR #1703 by @GeorgeSittas)6833823
- duckdb: transpile DATE_SUB into a subtraction (PR #1705 by @GeorgeSittas)↘️ fixes issue #1704 opened by @muscovitebob
dd5457c
- schema: ensure the correct dialect is used in schema methods (PR #1710 by @GeorgeSittas)92dbace
- interval preceding closes #1715 (commit by @tobymao)
12d3cca
- schema: replace _ensure_table with exp.maybe_parse (PR #1709 by @GeorgeSittas)5d6fbfe
- factor out the the name sequence generation logic (PR #1716 by @GeorgeSittas)
810522b
- fix return type of and_, or_ methods (commit by @GeorgeSittas)c2c955c
- make exception less broad (commit by @tobymao)e7abaef
- cleanup (commit by @tobymao)223c58d
- fix tests (commit by @tobymao)
v14.1.1 - 2023-05-26
v14.1.0 - 2023-05-26
-
due to
a6fdd59
- improve python type hints (PR #1689 by @GeorgeSittas):improve python type hints (#1689)
964b04c
- allow optimizer to handle non unionables (commit by @tobymao)7771609
- redshift type (commit by @tobymao)543b565
- raw strings bigquery escape closes #1691 (PR #1694 by @tobymao)fbf5f47
- create index with order closes #1692 (commit by @tobymao)8465a77
- clickhouse: allow aliases in tuple function arguments (PR #1695 by @GeorgeSittas)
a6fdd59
- improve python type hints (PR #1689 by @GeorgeSittas)6cce5fc
- make bigquery hex less lenient (commit by @tobymao)
v14.0.0 - 2023-05-24
-
due to
267ea8f
- cleanup unnecessary tokens (PR #1688 by @tobymao):cleanup unnecessary tokens (#1688)
-
due to
e995ab0
- use maybe_parse in exp.to_table, fix exp.Table expression parser (PR #1684 by @GeorgeSittas):use maybe_parse in exp.to_table, fix exp.Table expression parser (#1684)
a392114
- databricks: add support for GENERATED ALWAYS AS (expr) clause (PR #1686 by @GeorgeSittas)1cb9614
- implement transform to add column names to recursive CTEs (PR #1687 by @GeorgeSittas)
c567a0b
- snowflake: preserve TIME type instead of converting it to TIMESTAMP (PR #1685 by @GeorgeSittas)↘️ fixes issue #1682 opened by @wedotech-ashley
e995ab0
- use maybe_parse in exp.to_table, fix exp.Table expression parser (PR #1684 by @GeorgeSittas)
v13.3.1 - 2023-05-23
ea130b4
- add dot to executor closes #1676 (commit by @tobymao)b875aa4
- executor: add strftime (PR #1679 by @GeorgeSittas)
129931b
- snowflake: allow 2nd argument in initcap (PR #1670 by @GeorgeSittas)1a88b17
- parser: add asc, desc to id var tokens (PR #1671 by @GeorgeSittas)be5217d
- teradata: improve post index property parsing (PR #1675 by @GeorgeSittas)↘️ fixes issue #1674 opened by @MarkBell920
903dde0
- replace between before normalization (commit by @tobymao)1de5684
- tokenizer: initialize self._col properly to avoid edge case (PR #1678 by @GeorgeSittas)17be003
- start and end of tokens now respect quotes closes #1677 (commit by @tobymao)
v13.3.0 - 2023-05-19
-
due to
8c9e5ec
- multi threading issues with simplify (commit by @tobymao):multi threading issues with simplify
v13.2.2 - 2023-05-19
v13.2.1 - 2023-05-19
e7f6455
- executor: add support for qualified table references (PR #1659 by @GeorgeSittas)↘️ addresses issue #1657 opened by @wmaiouiru
3f2f4df
- redshift: handle VALUES clause more robustly (PR #1654 by @GeorgeSittas)da51f1e
- cast to boolean closes #1658 (commit by @tobymao)2cefcaa
- add exp.Neg to UNWRAPPED_INTERVAL_VALUES (PR #1662 by @GeorgeSittas)↘️ fixes issue #1660 opened by @joshmarcus
7130db0
- lineage: remove unnecessary optimization (PR #1663 by @GeorgeSittas)cfbadfa
- optimizer: expand refs in QUALIFY into corresponding projections (PR #1665 by @GeorgeSittas)↘️ fixes issue #1661 opened by @homebase3
19a56d9
- explain versioning system in README (PR #1652 by @GeorgeSittas)862deab
- snowflake: remove select_sql and values_sql as the bug was resolved (PR #1653 by @GeorgeSittas)
v13.2.0 - 2023-05-18
v13.1.0 - 2023-05-18
f88ea48
- snowflake: add support for GEOGRAPHY, GEOMETRY types (PR #1640 by @GeorgeSittas)↘️ fixes issue #1639 opened by @dlouseiro
6d04523
- Spark table format vs file format (PR #1644 by @barakalon)6f9d531
- postgres, redshift: use single string interval logic (PR #1651 by @GeorgeSittas)↘️ fixes issue #1649 opened by @ibestvina
72c5995
- interval execution closes #1650 (commit by @tobymao)c4ef23c
- clickhouse: absorb _parse_ternary logic in _parse_conjunction (PR #1646 by @GeorgeSittas)↘️ fixes issue #1645 opened by @ArtjomKotkov
1d1c0d7
- issue a warning if version can't be imported (PR #1648 by @GeorgeSittas)
v13.0.2 - 2023-05-16
cc7a5de
- ensure unit is a var in parse_date_delta (PR #1637 by @GeorgeSittas)
b9140b6
- CI/CD: make it so that deployment only requires tag push (PR #1638 by @GeorgeSittas)
v13.0.1 - 2023-05-16
8610298
- snowflake: add support for the CLONE clause in DDL statements (PR #1627 by @GeorgeSittas)50025ea
- clickhouse: add support for clickhouse's placeholders (PR #1628 by @GeorgeSittas)4b1aa02
- optimizer: optimize pivots (PR #1617 by @GeorgeSittas)13a731a
- snowflake: translate [CHAR|NCHAR] VARYING into VARCHAR (PR #1634 by @GeorgeSittas)06d6990
- snowflake: translate CHARACTER VARYING into VARCHAR too (commit by @GeorgeSittas)c01edb0
- create builders for the INSERT statement (PR #1630 by @GeorgeSittas)
99532d9
- tablesample losing db closes #1629 (commit by @tobymao)409f13d
- missing from comment and spacing closes #1631 (commit by @tobymao)bba360c
- clickhouse: map ApproxDistinct to uniq, AnyValue to any (PR #1635 by @GeorgeSittas)↘️ fixes issue #1633 opened by @ewjoachim
v13.0.0 - 2023-05-15
31a82cc
- add math associativity simplification (commit by @tobymao)a973113
- reparse bigquery nested identifiers (commit by @tobymao)a33112f
- bigquery: allow first part of table names to contain dashes (PR #1624 by @GeorgeSittas)
0acfaf7
- clickhouse settings and format closes #1605 closes #1604 (commit by @tobymao)b5f0abc
- global join clickhouse closes #1606 (commit by @tobymao)d92964b
- clickhouse attach command closes #1608 (commit by @tobymao)72f1984
- clickhouse cast to string closes #1607 (commit by @tobymao)2f34d6f
- clickhouse group by with totals closes #1609 (commit by @tobymao)b75b006
- clickhouse paramaterized func closes #1610 (commit by @tobymao)4601831
- join/pivot/lateral order and simplify (commit by @tobymao)29e5af2
- remove unconditional expression copy (PR #1611 by @tobymao)a67b2de
- clickhouse: join type/kind ordering issues (PR #1614 by @pkit)6875d07
- clickhouse:USING
allows unwrapped col list (PR #1615 by @pkit)2f7473b
- presto sequence to unnest closes #1600 (commit by @tobymao)966dfbb
- tokenizer: avoid edge case bug in the trie lookup loop (PR #1619 by @GeorgeSittas)4833953
- simplify from to a single expression closes #1620 (PR #1620 by @tobymao)bc0b021
- allow identifier params. (commit by @tobymao)
v12.4.0 - 2023-05-12
f585eef
- clickhouse: parse ternary operator (PR #1603 by @GeorgeSittas)↘️ addresses issue #1602 opened by @ArtjomKotkov
41b90be
- snowflake: Handle form of CONVERT_TIMEZONE with a source TZ (PR #1598 by @pmsanford)4dd413b
- expand alias refs was buggy and did the samething expand lateral… (PR #1599 by @tobymao)
v12.2.0 - 2023-05-09
1fa8ae9
- sqlite primary key transforms closes #1557 (commit by @tobymao)fb819f0
- optimizer: expand join constructs into SELECT * from subqueries (PR #1560 by @GeorgeSittas)↘️ addresses issue #1554 opened by @SudarshanVS
e173dd5
- improve tokenizer perf significantly on sql with many strings (commit by @tobymao)c9103fe
- Clickhouse: Support large data types (PR #1568 by @matthax)
34b6038
- bigquery conversion without table alias (commit by @tobymao)6124d0c
- bigquery select distinct as struct (commit by @tobymao)54a7637
- postgres exponent precedence closes #1555 (commit by @tobymao)ac60698
- array_join -> concat_ws closes #1558 (commit by @tobymao)79a478e
- comments refactor closes #1561 (commit by @tobymao)7b09bff
- options inside of bigquery struct closes #1562 (commit by @tobymao)4f0b3ed
- bigquery date_part WEEK(WEEKDAY) closes #1563 (commit by @tobymao)4744742
- presto, spark: remove WITHIN GROUP when transpiling percentile_[cont|disc] (PR #1565 by @GeorgeSittas)23cf246
- need to differentiate between peek and curr tokenizers (commit by @tobymao)9f13b6c
- base64 closes #1567 (commit by @tobymao)bcfae2c
- subquery selects (PR #1569 by @barakalon)34d99ab
- spark: unqualify columns in PIVOT expressions (PR #1572 by @GeorgeSittas)e1713f3
- preserve quotes in aliases (commit by @tobymao)fa0f3a1
- allow any identifier as name when parsing a struct field (PR #1573 by @GeorgeSittas)
951d407
- preserve the full text of hex/bin literals (PR #1552 by @GeorgeSittas)5bbb7e8
- simplify tokenizer alnum logic (PR #1570 by @GeorgeSittas)
c580cb3
- update README optimizer example (commit by @GeorgeSittas)
v12.1.0 - 2023-05-05
0b46fa6
- remove bigquery workaround for values type inference (commit by @tobymao)dfae784
- sqlite no table options closes #1553 (commit by @tobymao)aef9cfa
- double json spark closes #1547 (commit by @tobymao)
v12.0.0 - 2023-05-04
862cbeb
- Use alternative transform for dialects that do not support distinct on (PR #1524 by @crericha)52c80e0
- Support regex function in Starrocks (PR #1528 by @acreux)00b4779
- spark: new Spark2 dialect, improve DATEDIFF sql generation BREAKING (PR #1529 by @GeorgeSittas)e2593ba
- Add BYTES type to BigQuery dialect (PR #1536 by @relud)911e4e9
- distinct on builder (commit by @tobymao)
5c26f56
- windowspec generator (commit by @tobymao)e7111ba
- trino: wrap SEQUENCE in an UNNEST call if used as a source (PR #1527 by @GeorgeSittas)3d964c6
- use preprocess instead of expanding transform dicts BREAKING (PR #1525 by @GeorgeSittas)5fc27d3
- trim with double pipes (commit by @tobymao)9778c16
- create table options for bigquery closes #1531 (commit by @tobymao)55dc509
- bigquery: allow 2nd argument for PERCENTILE_[CONT|DISC] (PR #1537 by @GeorgeSittas)5c59747
- qualifying correlated subqueries (commit by @tobymao)19c0490
- parse unnest array type closes #1532 (commit by @tobymao)51ca411
- expand laterals first if no schema is present (commit by @tobymao)abfbce2
- bigquery udf existing func clash closes #1535 (commit by @tobymao)444dd94
- Spark: Add DOUBLE, FLOAT cast functions (PR #1530 by @vegarsti)0578d6d
- oracle: allow parsing of @dblink in table names (PR #1540 by @GeorgeSittas)b7e08cc
- duckdb: parse DATEDIFF correctly (PR #1546 by @GeorgeSittas)f21abb7
- oracle: set post_tablesample_alias=True to fix alias parsing (PR #1548 by @GeorgeSittas)8ebba48
- binary_double/float types closes #1543 (commit by @tobymao)2a6a3e7
- make some SQL builders pure (PR #1526 by @GeorgeSittas)99310c4
- duckdb: remove parentheses from CurrentTimestamp, CurrentDate (PR #1551 by @GeorgeSittas)↘️ fixes issue #1550 opened by @BTheunissen
a113685
- spark: cast UnixToTime to TIMESTAMP BREAKING (PR #1549 by @GeorgeSittas)↘️ fixes issue #1545 opened by @joshmarcus
v11.7.0 - 2023-05-02
20cacba
- tsql, oracle: add support for NEXT VALUE FOR clause (PR #1521 by @GeorgeSittas)96bb150
- builder methods for basic ops (PR #1516 by @tobymao)e11a5ce
- add case when change func to parse BREAKING (commit by @tobymao)455b9e9
- oracle: support KEEP (.. [FIRST|LAST] ..) window function syntax (PR #1522 by @GeorgeSittas)
94fed8c
- call _parse_bitwise as a fallback for nested type args (PR #1515 by @GeorgeSittas)52ab03d
- array with method calls (commit by @tobymao)c3db2b8
- allow parsing 'if' as an identifier (PR #1517 by @GeorgeSittas)
d5d360a
- Remove older CHANGELOG entries and let CI handle it from now on (commit by @GeorgeSittas)
v11.6.3 - 2023-05-01
80287dd
- presto: transpile explode/posexplode into (cross join) unnest (PR #1501 by @GeorgeSittas)
efd8c05
- redshift doesn't support locks (commit by @tobymao)f4ece7c
- comment after paren closes #1504 (commit by @tobymao)85b2c00
- postgres doesn't support plural interval closes #1503 (commit by @tobymao)2e0eee6
- postgres date_part type closes #1506 (commit by @tobymao)2dcbc7f
- tsql hashbytes closes #1508 (commit by @tobymao)5347c7a
- change str to Expression in alias_ isinstance check (PR #1510 by @GeorgeSittas)f137815
- BigQueryTIMESTAMP
andTIMESTAMPTZ
types (PR #1511 by @plaflamme)6143491
- allow $ to appear in postgres/redshift identifiers (PR #1512 by @GeorgeSittas)
adc526c
- add note about conventional commit naming in CONTRIBUTING.md (commit by @GeorgeSittas)9421650
- set action for automatic conventional changelog generation (PR #1513 by @GeorgeSittas)