Removed the language of oppression and violence
and replaced it with more neutral language.
Note that problematic words in the code have
to remain in the docs until the code changes.
Original pull request: #176.
We now correctly use the CQL text to cache prepared statements. Previously, we used toString() which was a leftover from the driver migration that now defaults to Object.toString() and so the cache key was not stable.
Original pull request: #180.
DataClassRowMapper can map Cassandra results onto a class following the data class pattern (using constructor properties) or by setting bean properties.
data class Person(val firstname: String, val age: Int)
cqlTemplate.query("SELECT * FROM person", DataClassRowMapper<Person>())
We now attempt to extract the CQL query from various Statement and CqlProvider objects to log the CQL query.
Previously, the logger used the statement object with didn't render the query.
Use InstanceSupplier to configure the contactPoints property. Using BeanDefinitionBuilder.addPropertyValue(…) uses reflection for setting the property value and for value type discovers. The discovered property descriptor depends on the actual method order in which setters are discovered hence the actual type may change from String to Collection<InetSocketAddress>. Therefore we avoid using reflection for contactPoints.
Original pull request: #178.
Reflect changes in documentation. Accept IPv6 hosts with port.
Replace session builder supplier with template method and a specific implementation in the tests.
Make methods static where possible and reorder fields/classes according their visibility. Reduce test method visibility, add ticket references. Reformat code.
Original pull request: #178.
Reformat code. Add since tags. Extend keyspace association to PreparedStatements so that simple CQL statements get associated with the keyspace upon prepare. Remove check if a statement is a bound statement as prepared statements should not fail with applyStatementSettings(…).
Fix keyspace configuration in …Options objects as Insert/Update/Delete options should consider the keyspace when using the builder. Extend tests.
Simplify Cassandra version check. Ensure the discovery session gets closed after its use.
Original pull request: #177.
Use JUnit Jupiter annotations. Replace RunWith with JUnit Extensions. Replace CassandraRule with CassandraExtension to spin up embedded cassandra and to create keyspaces per test container.
We now support context extensions that contribute contextual details using a reactive programming model for evaluation of SpEL expressions in @Query methods.