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.
SlicedExecution in repository query methods associates the next Pageable with Sort to propagate the pagination configuration across multiple paging requests.
Previously, Sort was not considered causing a corrupt paging state.
Null values are now correctly handled when selecting a single element. We also suppress event emission in CassandraTemplate if the loaded entity is null.