We now allow configuration of the execution profile and serial consistency through QueryOptions and CassandraAccessor/ReactiveCqlTemplate. Settings are applied on a per-Statement basis. The newly ExecutionProfileResolver can resolve the profile either from a profile name or a DriverExecutionProfile object for more flexibility.
With this change, we removed the support for setting a RetryPolicy directly as the new driver 4 does not support a direct configuration of the RetryPolicy. Instead, the RetryPolicy is configured through an execution profile.
We now register the Session under cassandraSession and SessionFactory with cassandraSessionFactory as bean name. ReactiveSession and ReactiveSessionFactory beans are named reactiveCassandraSession respective reactiveCassandraSessionFactory. Beans are consistently named using Java and XML-based configuration avoiding potential clashes with other data integrations that use Session or SessionFactory beans.
CassandraType is a better place for the name enumeration as it provides the necessary context how Cassandra primitives are used than CassandraSimpleTypeHolder.
Original pull request: #167.
Collection-type terms cannot properly render tuple values or UDT values so we're translating these to proper CQL using nested term collections.
Original pull request: #167.
Forced quoting is now deprecated as we're using CqlIdentifier which is able to determine whether an identifier requires quoting.
Original pull request: #167.
Cassandra Driver 4 uses LocalDateTime as type for TIMESTAMP. We want to allow also usage of plain old Date to ease migration.
Original pull request: #167.
Use renamed Statement options by introducing new pageSize(…) and timeout(…) methods. Deprecated existing methods. Also, deprecate retryPolicy method in preparation for execution profiles.
Original pull request: #167.
We now provide a utility class to build CQL statements using a fluent functional declaration.
AsyncResultStream can forward-stream over a AsyncResultStream by fetching subsequent pages and applying either a Consumer or Collector for non-blocking processing of asynchronously fetched results.
Original pull request: #167.
We now provide SessionFactoryFactoryBean as factory bean and initializer for a SessionFactory.
<cassandra:session-factory>
<cassandra:script
location="my/scripts/schema.cql"/>
</cassandra:session-factory>
Original pull request: #167.