7ca013fbd5f1ec589df52ef0e6441986f07c11ff | Author: Ammar Khaku <ammar.khaku@gmail.com>
| 2023-04-22 16:13:15-07:00
JAVA-3057 Allow decoding a UDT that has more fields than expected
patch by Ammar Khaku; reviewed by Andy Tolbert and Bret McGuire
reference: https://github.com/apache/cassandra-java-driver/pull/1635
0962794b2ec724d9939cd47380e68b979b46f693 | Author: Ammar Khaku <ammar.khaku@gmail.com>
| 2022-11-20 19:14:07-08:00
Don't return empty routing key when partition key is unbound
DefaultBoundStatement#getRoutingKey has logic to infer the
routing key when no one has explicitly called setRoutingKey
or otherwise set the routing key on the statement.
It however doesn't check for cases where nothing has been
bound yet on the statement.
This causes more problems if the user decides to get a
BoundStatementBuilder from the PreparedStatement, set some
fields on it, and then copy it by constructing new
BoundStatementBuilder objects with the BoundStatement as a
parameter, since the empty ByteBuffer gets copied to all
bound statements, resulting in all requests being targeted
to the same Cassandra node in a token-aware load balancing
policy.
patch by Ammar Khaku; reviewed by Andy Tolbert, and Bret McGuire
reference: https://github.com/apache/cassandra-java-driver/pull/1620
306bf3744a3d24ad01700e4e1d3c14b9a696927f | Author: Ammar Khaku <ammar.khaku@gmail.com>
| 2022-09-30 15:36:36-07:00
Annotate BatchStatement, Statement, SimpleStatement methods with CheckReturnValue
Since the driver's default implementation is for
BatchStatement and SimpleStatement methods to be immutable,
we should annotate those methods with @CheckReturnValue.
Statement#setNowInSeconds implementations are immutable so
annotate that too.
patch by Ammar Khaku; reviewed by Andy Tolbert and Bret McGuire
reference: https://github.com/apache/cassandra-java-driver/pull/1607