Quill v3.12.0 Release Notes

  • 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 configuration

    The 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 by basic.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 the quill_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 to MonixJdbcContext.EffectWrapper. The type Runner needs to be used by ProtoQuill to define quill-context-specific execution contexts.