Releases: typelevel/grackle
v0.5.0
What's Changed
- Rename the doobie module to doobie-pg by @milessabin in #248
- Remove GroupList from the query algebra by @jbotto94 in #249
- improve error message by @tpolecat in #250
New Contributors
- @jbotto94 made their first contribution in #249
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
- Update testcontainers-scala-postgresql, ... to 0.40.10 by @lucuma-steward in #244
- Update literally to 1.1.0 by @lucuma-steward in #245
- Reduce use of Lists and miscellaneous performance tweaks by @milessabin in #246
- switch Like to take an optional term by @tpolecat in #242
- Fix operator ordering in FilterOrderByOffsetLimit.apply by @milessabin in #247
Full Changelog: v0.3.2...v0.4.0
v0.3.2
What's Changed
- Update sbt-typelevel-ci-release to 0.4.13 by @lucuma-steward in #238
- Update sbt-tpolecat to 0.4.1 by @lucuma-steward in #239
- Update http4s-circe, http4s-dsl to 0.23.14 by @lucuma-steward in #241
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- Update sbt to 1.7.1 by @lucuma-steward in #231
- Fix directive location parsing by @betehess in #233
- Update log4cats-slf4j to 2.4.0 by @lucuma-steward in #232
- Update testcontainers-scala-postgresql, ... to 0.40.9 by @lucuma-steward in #235
- Update sbt-tpolecat to 0.4.0 by @lucuma-steward in #236
- add parens around binops by @tpolecat in #240
New Contributors
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- Unify doobie and skunk tests; skunk performance improvements by @milessabin in #223
- Update http4s by @milessabin in #224
- Update cats-parse to 0.3.8 by @lucuma-steward in #226
- Type conditions may widen as well as narrow by @milessabin in #227
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- Update shapeless to 2.3.9 by @lucuma-steward in #205
- Update testcontainers-scala-postgresql, ... to 0.40.8 by @lucuma-steward in #206
- Update sbt-updates to 0.6.3 by @lucuma-steward in #207
- Update http4s-blaze-client, ... to 0.23.12 by @lucuma-steward in #208
- Update shapeless3-deriving to 3.0.4 by @lucuma-steward in #211
- Update sbt-typelevel-ci-release to 0.4.11 by @lucuma-steward in #212
- Update sbt-tpolecat to 0.3.3 by @lucuma-steward in #213
- Update shapeless3-deriving to 3.1.0 by @lucuma-steward in #214
- Update sbt-typelevel-ci-release to 0.4.12 by @lucuma-steward in #215
- Update cats to 2.8.0 by @milessabin in #219
- Update log4cats-slf4j to 2.3.2 by @lucuma-steward in #217
- Update scala3-library to 3.1.3 by @lucuma-steward in #218
- Remove memo cache by @milessabin in #220
New Contributors
- @lucuma-steward made their first contribution in #205
Full Changelog: v0.2.0...v0.2.1
v0.2.0: Merge pull request #201 from gemini-hlsw/topic/replicate
-
The SQL compiler has been completely reworked, including ...
-
Improved representation of all SQL constructs.
-
Much less reliance on repeated SQL query rewrites during compilation. Even though these were pure, repeated rewriting made the logic unnecessarily hard to follow.
-
Complete reworking of the handling of table/column aliases. This is now deferred until SQL queries are rendered as Fragments.
-
Many bugfixes and performance improvements to the handling of filter/order by/offset/limit constructs.
-
Added support for Postgres window functions which are used in the compilation of nested filter/order by/offset/limit constructs.
-
Filter/offset/limit constructs which are representable as SQL are now fully handled in the DB and stripped out of the GraphQL result construction query.
-
Many bugfixes and performance improvements to the handling of multi-table joins.
-
Improved compilation of GraphQL type conditions via a TypeCase construct.
-
Interface/union discriminators are now handled in the DB. There has been a change in the user-facing mapping API changing the representation of discriminators to a first class SqlDiscriminator type.
-
The SqlMonitor trait now takes a count of rows and columns fetched rather than passing the complete result set.
-
Added a profile project allowing queries to be run against a dockerized Postgres instance and profiled with Java Flight Recorder.
-
More efficient representation of fetched data.
-
Various micro-optimizations around GraphQL schemas, types and mappings.
Performance improvements for singleton sibling lists
Previously all sibling lists would result in the generation of an SQL UNION ALL
for each of the siblings to avoid the generation of a
potentially large cross. However this union adds cost and complexity to the resulting SQL query and is unnecessary where we can detect that all
but one of the siblings has length at most 1.
We now detect that condition by looking for Limit(1, ...)
and Unique
nodes in the query and avoiding the UNION
in that case.