Quill v3.12.0 Release Notes
-
- ⬆️ cassandra - Datastax4x upgrade
- Implement dynamic query caching
- Fix Quat-based query schema rename issue
- ⚡️ forUpdate via infix
- 0️⃣ Disable file infra log by default
- Fix
QIO.apply
function type - ⚡️ doc: update CODEGEN.md
Migration Notes - Datastax Drivers:
🔧 The Datastax drivers have been moved to Version 4, this adds support for many new features with the caveat that the configuration 🔧 file format must be changed. In Version 4, the Datastax standard configuration file format and properties 🔧 are in the HOCON format. They are used to configure the driver.
Sample HOCON:
MyCassandraDb { preparedStatementCacheSize=1000 keyspace=quill_test session { basic.contact-points = [ ${?CASSANDRA_CONTACT_POINT_0}, ${?CASSANDRA_CONTACT_POINT_1} ] basic.load-balancing-policy.local-datacenter = ${?CASSANDRA_DC} basic.request.consistency = LOCAL_QUORUM basic.request.page-size = 3 } }
📚 The
session
entry values and keys are described in the datastax documentation: 🔧 Reference configurationThe ZioCassandraSession constructors:
val zioSessionLayer: ZLayer[Any, Throwable, Has[CassandraZioSession]] = CassandraZioSession.fromPrefix("MyCassandraDb") run(query[Person]) .provideCustomLayer(zioSessionLayer)
➕ Additional parameters can be added programmatically:
val zioSessionLayer: ZLayer[Any, Throwable, Has[CassandraZioSession]] = CassandraZioSession.fromContextConfig(LoadConfig("MyCassandraDb").withValue("keyspace", ConfigValueFactory.fromAnyRef("data"))) run(query[Person]) .provideCustomLayer(zioSessionLayer)
session.queryOptions.fetchSize=N
config entry should be replaced bybasic.request.page-size=N
testStreamDB { preparedStatementCacheSize=1000 keyspace=quill_test session { ... basic.request.page-size = 3 } ... }
🌲 Migration Notes - Query Log File:
0️⃣ Production of the query-log file
queries.txt
has been disabled by default due to issues with SBT 🌲 and metals. In order to use it, launch the compiler JVM (e.g. SBT) with the argument-Dquill.log.file=my_queries.sql
🌲 or set thequill_log_file
environment variable (e.g.export quill_log_file=my_queries.sql
).Migration Notes - Monix:
The monix context wrapper
MonixJdbcContext.Runner
has been renamed toMonixJdbcContext.EffectWrapper
. The typeRunner
needs to be used by ProtoQuill to define quill-context-specific execution contexts.