sqldelight v2.0.0-alpha02 Release Notes

Release Date: 2022-04-13 // about 2 years ago
  • ๐Ÿ’ฅ Breaking Changes

    • You'll need to replace all occurrences of app.cash.sqldelight.runtime.rx with app.cash.sqldelight.rx2

    โž• Added

    • ๐Ÿ‘ [Compiler] Support returning at the end of a grouped statement
    • ๐Ÿ‘ [Compiler] Support compiler extensions via dialect modules and add a SQLite JSON extension (#1379, #2087)
    • ๐Ÿ‘ [Compiler] Support PRAGMA statements which return a value (#1106)
    • ๐Ÿ‘ [Compiler] Support generating value types for marked columns
    • ๐Ÿ‘ [Compiler] Add support for optimistic locks and validation (#1952)
    • โšก๏ธ [Compiler] Support multi-update statements
    • ๐Ÿ‘ [PostgreSQL] Support postgres returning statements
    • ๐Ÿ‘ [PostgreSQL] Support postgres date types
    • ๐Ÿ‘ [PostgreSQL] Support pg intervals
    • ๐Ÿ‘ [PostgreSQL] Support PG Booleans and fix inserts on alter tables
    • ๐Ÿ‘ [PostgreSQL] Support optional limits in Postgres
    • ๐Ÿ‘ [PostgreSQL] Support PG BYTEA type
    • โœ… [PostgreSQL] Add a test for postgres serials
    • โšก๏ธ [PostgreSQL] Support for update postgres syntax
    • ๐Ÿ‘ [PostgreSQL] Support PostgreSQL array types
    • [PostgreSQL] Properly store/retrieve UUID types in PG
    • ๐Ÿ‘ [PostgreSQL] Support PostgreSQL NUMERIC type (#1882)
    • ๐Ÿ‘ [PostgreSQL] Support returning queries inside of common table expressions (#2471)
    • ๐Ÿ‘ [PostgreSQL] Support json specific operators
    • [PostgreSQL] Add Postgres Copy (by [Philip Wedemann][hfhbd])
    • ๐Ÿ‘ [MySQL] Support MySQL Replace
    • ๐Ÿ‘ [MySQL] Support NUMERIC/BigDecimal MySQL types (#2051)
    • ๐Ÿ‘ [MySQL] Support MySQL truncate statement
    • ๐Ÿ‘ [MySQL] Support json specific operators in Mysql (by [Eliezer Graber][eygraber])
    • ๐Ÿ‘ [MySQL] Support MySql INTERVAL (#2969 by [Eliezer Graber][eygraber])
    • [HSQL] Add HSQL Window functionality
    • [SQLite] Don't replace equality checks for nullable parameters in a WHERE (#1490 by [Eliezer Graber][eygraber])
    • ๐Ÿ‘ [SQLite] Support Sqlite 3.35 returning statements (#1490 by [Eliezer Graber][eygraber])
    • ๐Ÿ‘ [SQLite] Support GENERATED clause
    • ๐Ÿ‘ [SQLite] Add support for Sqlite 3.38 dialect (by [Eliezer Graber][eygraber])

    ๐Ÿ”„ Changed

    • [Compiler] Clean up generated code a bit
    • [Compiler] Forbid usage of table parameters in grouped statements (#1822)
    • [Compiler] Put grouped queries inside a transaction (#2785)
    • โšก๏ธ [Runtime] Return the updated row count from the drivers execute method
    • ๐Ÿš‘ [Runtime] Confine SqlCursor to the critical section accessing the connection. (#2123 by [Anders Ha][andersio])
    • ๐Ÿ”Œ [Gradle Plugin] Compare schema definitions for migrations (#841)
    • [PostgreSQL] Disallow double quotes for PG
    • [MySQL] Error on usage of == in MySQL (#2673)

    ๐Ÿ›  Fixed

    • [Compiler] Same adapter type from different tables causing a compilation error in 2.0 alpha
    • [Compiler] Problem compiling upsert statement (#2791)
    • [Compiler] Query result should use tables in the select if there are multiple matches (#1874, #2313)
    • โšก๏ธ [Compiler] Support updating a view which has a INSTEAD OF trigger (#1018)
    • ๐Ÿ‘ [Compiler] Support from and for in function names
    • [Compiler] Allow SEPARATOR keyword in function expressions
    • [Compiler] Cannot access ROWID of aliased table in ORDER BY
    • [Compiler] Aliased column name is not recognized in HAVING clause in MySQL
    • [Compiler] Erroneous 'Multiple columns found' error
    • [Compiler] Unable to set PRAGMA locking_mode = EXCLUSIVE;
    • [PostgreSQL] Postgresql rename column
    • [MySQL] UNIX_TIMESTAMP, TO_SECONDS, JSON_ARRAYAGG MySQL functions not recognized
    • [SQLite] fix SQLite window functionality
    • ๐Ÿ”Œ [IDE Plugin] Run the goto handler in an empty progress indicator (#2990)
    • ๐Ÿ”ง [IDE Plugin] Ensure the highlight visitor doesnt run if the project isnt configured (#2981, #2976)
    • โšก๏ธ [IDE Plugin] Ensure transitive generated code is also updated in the IDE (#1837)
    • โšก๏ธ [IDE Plugin] Invalidate indexes when updating the dialect