Avg Release Cycle
- 🛠 Additional Fixes for Embedded Entities in Nested Queries
- Fix java.sql.SQLException corner case
- 👍 Feature/local time support
- ⚡️ Update monix-eval, monix-reactive to 3.0.0
📚 Documentation Updates:
- Monix 3.0.0 is not binary compatible with 3.0.0-RC3 which was a dependency of Quill 3.4.7. ⚡️ If you are using the Quill Monix modules, please update your dependencies accordingly.
NamingStrategyis no longer applied on column and table names defined in
querySchema, all column and table names defined in
querySchemaare now final. If you are relying on this behavior to ⚡️ name your columns/tables correctly, you will need to update your
- Nested sub-queries will now have their terms re-ordered in certain circumstances although the functionality 🛠 of the entire query should not change. If you have deeply nested queries with Infixes, double check that they are in the correct position.
- 0️⃣ Infixes are now not treated as pure functions by default. This means wherever they are used, nested queries may be created.
You can use
infix"MY_PURE_UDF".pure.as[T]) to revert to the previous behavior. See the Infix 📚 section of the documentation for more detail.
- 0️⃣ Infixes are now not treated as pure functions by default. This means wherever they are used, nested queries may be created. You can use
- Returning Record
- Change == and != to be Scala-idiomatic
- ⚡️ Optimize === comparisons when ANSI behavior assumed
- API to get PreparedStatement from Query for Low Level Use-cases
- 👍 Add BoundStatement support for all context.
- Only decode when field is non-null
- 👍 Fix support of nested transactions in Finagle-Postgres
- Returning shadow fix
- Fix SQL Server Subqueries with Order By
- Explicitly pass AsyncContext type params
- 🚚 Remove unneeded Tuple reduction clause
- Fix join subquery+map+distinct and sortBy+distinct
- Fix Java9 depreciation message
Noteworthy Version Bumps:
- monix - 3.0.0-RC3
- cassandra-driver-core - 3.7.2
- orientdb-graphdb - 3.0.21
- postgresql - 42.2.6
- sqlite-jdbc - 3.28.0
returningmethod no long excludes the specified ID column from the insertion as it used to. 👉 Use the
returningGeneratedmethod in order to achieve that. 📚 See the 'Database-generated values' section of the documentation for more detail.
==method now works Scala-idiomatically. That means that when two
Option[T]-wrapped columns are compared,
None == Nonewill now yield
===operator can be used in order to compare
Option[T]-wrapped columns in a ANSI-SQL 📚 idiomatic way i.e.
None == None := false. See the 'equals' section of the documentation for more detail.