Commit Graph

1020 Commits

Author SHA1 Message Date
Mark Paluch
820ffebdba DATACASS-554 - Release version 2.1 RC1 (Lovelace). 2018-07-26 12:06:34 +02:00
Mark Paluch
31c6d209ed DATACASS-554 - Prepare 2.1 RC1 (Lovelace). 2018-07-26 12:04:30 +02:00
Mark Paluch
8da68a03a9 DATACASS-554 - Updated changelog. 2018-07-26 12:04:21 +02:00
Mark Paluch
0e8bccd4a2 DATACASS-579 - Remove Google Guava from dependencies.
Remove Google Guava as dependency so it can be pulled in as transitive dependency of cassandra-driver-core. We are no longer in charge of managing the actual Guava version.
2018-07-24 15:58:25 +02:00
Mark Paluch
b8a0617cac DATACASS-580 - Upgrade to Cassandra Driver 3.5.1. 2018-07-24 12:32:08 +02:00
Mark Paluch
e01c8b91c8 DATACASS-581 - Fix test conditions in DefaultBridgedReactiveSessionUnitTests.
Report completed future to adapt to Guava's future state checking in newer library versions.
2018-07-24 12:32:08 +02:00
Mark Paluch
fbcf50e27a DATACASS-573 - Add mutation support for immutable types.
We now return new instances that are potentially created by wither/Kotlin copy(…) methods when reading immutable properties.
2018-07-12 10:36:15 +02:00
Mark Paluch
c843293fa5 DATACASS-529 - Polishing.
Introduce ReactiveResultSet.availableRows() to fetch rows without transparent paging. Refactor QueryUtils to extract a Slice from an Iterable. Add slice(Query, Class) to ReactiveCassandraOperations to expose a consistent API. Convert space indentation to tab indentation. Add tests. Add since tags. Add documentation. Reformat code.

Original pull request: #128.
2018-06-18 11:54:16 +02:00
Hleb Albau
d261301e9e DATACASS-529 - Allow slice queries using reactive repositories.
We now support Slice queries using reactive Cassandra repositories. Repository query methods can declare Mono<Slice<T>> as their return type to query for slices without applying transparent paging. The resulting Mono always completes with a value. An empty query result returns a Mono emitting an empty Slice.

interface UserRepository extends CrudRepository<User, String> {

  Mono<Slice<User>> findByLastname(String firstname, Pageable pageable);
}

Mono<Slice<User>> result =repository.findByLastname("White", CassandraPageRequest.first(1));

Original pull request: #128.
2018-06-18 11:54:16 +02:00
Mark Paluch
34903b7350 DATACASS-569 - Apply UpdateOptions.ifExists through CassandraTemplate.update(…).
We now consider the ifExists option for UPDATE statements when updating an entity using CassandraTemplate.update(…).
2018-06-14 13:48:16 +02:00
Mark Paluch
9474b3de91 DATACASS-568 - Guard BasicCassandraPersistentProperty.findAnnotatedType(…) against non-parameterized types.
We now check whether the inspected property type is a AnnotatedParameterizedType one before attempting to extract type parameters. Map-like and Collection-like properties can be generic typed, untyped or subtype of either one and we restrict annotation scanning to generic typed ones.

Previously, we applied a downcast without checking for the actual type which lead to a ClassCastException.
2018-06-14 11:42:57 +02:00
Mark Paluch
7e64eddbfd DATACASS-552 - Updated changelog. 2018-06-13 21:39:49 +02:00
Mark Paluch
ac0f0c3bcc DATACASS-551 - Updated changelog. 2018-06-13 15:01:55 +02:00
Mark Paluch
df92c8b184 DATACASS-560 - Allow INSERT with null values through InsertOptions.insertNulls.
We now allow the configuration whether null values of entity objects should be inserted as tombstones using INSERT statements. By default, this option is disable. Enabling tombstones allows upsert usage through INSERT statements as null values get inserted in Cassandra. This option is useful if an object should be persisted in its whole state. Inserting nulls causes tombstones to be created and can have a negative impact on performance.

This change allows SimpleRepository and SimpleCassandraRepository to use CassandraTemplate directly allowing emission of lifecycle events.
2018-06-11 15:15:38 +02:00
Mark Paluch
f20a11073e DATACASS-563 - Run time column type tests conditionally.
Run time column type tests only on Cassandra 3.10 and higher as earlier Cassandra versions do not support integer for updating/setting time columns.
2018-06-05 09:57:29 +02:00
Mark Paluch
31c373376d DATACASS-555 - Polishing.
Add Javadoc. Tweak Javadoc for consistency. Refactor SimpleReactivePreparedStatementCreator into newReactivePreparedStatementCreator(…) method. Reformat code.

Original pull request: #133.
2018-06-05 09:45:32 +02:00
CodeSmell
6150282e1d DATACASS-555 - Use CqlTemplate.newPreparedStatementCreator for creation of PreparedStatementCreator.
Original pull request: #133.
2018-06-05 09:45:32 +02:00
Mark Paluch
e462c7165a DATACASS-561 - Polishing.
Fix typos. Use uppercase CQL keywords. Remove outdated sections. Align reactive and imperative documentation wording.

Original pull request: #132.
2018-06-04 15:39:35 +02:00
Jay Bryant
a0ceb25edd DATACASS-561 - Full editing pass on reference documentation.
Original pull request: #132.
2018-06-04 15:39:35 +02:00
Jay Bryant
5a2c190d4c DATACASS-562 - Add coverpage for epub documentation output.
Original pull request: #132.
2018-06-04 14:10:43 +02:00
Christoph Strobl
7cbb864185 DATACASS-545 - After release cleanups. 2018-05-17 10:09:35 +02:00
Christoph Strobl
be6536e3c4 DATACASS-545 - Prepare next development iteration. 2018-05-17 10:09:34 +02:00
Christoph Strobl
29870a830d DATACASS-545 - Release version 2.1 M3 (Lovelace). 2018-05-17 09:51:42 +02:00
Christoph Strobl
9080d64622 DATACASS-545 - Prepare 2.1 M3 (Lovelace). 2018-05-17 09:50:48 +02:00
Christoph Strobl
7f8b174509 DATACASS-545 - Updated changelog. 2018-05-17 09:50:40 +02:00
John Blum
64d464a1b9 DATACASS-484 - Polish.
Resolves PR #125.
2018-05-17 00:18:06 -07:00
Mark Paluch
f123624b3d DATACASS-484 - Add Kotlin extensions for Template API.
We now provide Kotlin extensions for imperative, asynchronous, and reactive Template API interfaces.

CqlOperations and CassandraOperations expose Kotlin-friendly methods accepting KClasses and leveraging reified generics. We also provide Kotlin-friendly method renames for methods such as in that do not require quoting in Kotlin code.

operations.query(Person::class).inTable("my_table").asType<User>().all()

operations.select<Person>(query(where("firstname").isEqualTo("Walter") and where("lastname").isEqualTo("White")))
2018-05-17 00:10:31 -07:00
Mark Paluch
57a6faeab6 DATACASS-484 - Prepare Java-based types for Kotlin extensions.
Introduce static empty Query and Update objects.

Remove unused type argument from ReactiveUpdateOperation.
2018-05-17 00:10:08 -07:00
John Blum
05a5b4aa28 DATACASS-553 - Adapt to SpEL Extension API changes in Spring Data Commons. 2018-05-14 13:06:46 -07:00
Mark Paluch
6b250c6e47 DATACASS-540 - Updated changelog. 2018-05-08 15:27:19 +02:00
Mark Paluch
bf4dc741aa DATACASS-539 - Updated changelog. 2018-05-08 12:22:50 +02:00
Mark Paluch
d60fb9c928 DATACASS-546 - Polishing.
Remove unnecessary throws declarations. Reformat code.
2018-04-23 11:26:10 +02:00
Mark Paluch
7cba0e2260 DATACASS-546 - Consider user-type dependencies during schema drop.
We now consider user-type dependencies while dropping user-defined types. User types can utilize other user-defined types and dropping a type that is in use causes the drop operation to fail. We're introspecting user types reported by Cassandra and construct a dependency graph that is used to determine the proper drop order.
2018-04-23 11:26:10 +02:00
Mark Paluch
d3126cadd0 DATACASS-549 - Add Criteria.ne(…) and Criteria.isNotNull() operators. 2018-04-19 12:18:00 +02:00
Mark Paluch
367259b898 DATACASS-548 - Upgrade to Cassandra Java Driver 3.5.0. 2018-04-19 11:58:21 +02:00
Mark Paluch
3aad62627f DATACASS-547 - Resolve converter ambiguities.
We now properly annotate read and writing converters to indicate proper conversion directions.
2018-04-19 10:06:31 +02:00
Mark Paluch
1a5ded6b91 DATACASS-524 - After release cleanups. 2018-04-13 15:08:33 +02:00
Mark Paluch
2f72d4f274 DATACASS-524 - Prepare next development iteration. 2018-04-13 15:08:32 +02:00
Mark Paluch
a490f736d5 DATACASS-524 - Release version 2.1 M2 (Lovelace). 2018-04-13 14:30:57 +02:00
Mark Paluch
8cfbd4b167 DATACASS-524 - Prepare 2.1 M2 (Lovelace). 2018-04-13 14:30:01 +02:00
Mark Paluch
9eab52e1a2 DATACASS-524 - Updated changelog. 2018-04-13 14:29:51 +02:00
John Blum
bad5119d9b DATACASS-302 - Polish.
Resolve gh-127.
2018-04-10 23:10:17 -07:00
Mark Paluch
2e20a21843 DATACASS-302 - Support Cassandra time columns.
We now support Cassandra time columns via LocalTime types (JSR-310, Joda and ThreeTenBackport) in domain classes, queries and updates.

@Table
class Schedule {

  @Id String id;

  LocalTime scheduledAt;

}
2018-04-10 23:07:09 -07:00
Oliver Gierke
3285b8020b DATACASS-542 - Adapt to API changes in Spring Data Commons.
Related tickets: DATACMNS-1275.
2018-04-09 14:45:26 +02:00
Ivan Sopov
b90682add2 DATACASS-541 - Remove links to decommissioned Planet Cassandra.
Planet Cassandra was decommissioned on October 31st, 2016.
For more information - https://www.datastax.com/2016/10/take-a-bow-planet-cassandra.

Original pull request: #126.
2018-04-06 14:30:59 +02:00
Mark Paluch
d2f2498ae4 DATACASS-532 - Updated changelog. 2018-04-04 17:12:49 +02:00
Mark Paluch
69d22c50c3 DATACASS-519 - Updated changelog. 2018-04-04 15:16:20 +02:00
Oliver Gierke
f52d3c1728 DATACASS-537 - Removed explicit declaration of Jackson libraries. 2018-03-27 19:27:36 +02:00
John Blum
48077f8b0e DATACASS-523 - Polish. 2018-03-26 15:52:45 -07:00
Mark Paluch
dd718ae234 DATACASS-523 - Documentation. 2018-03-26 15:52:38 -07:00