Skip to content

DataStax Ruby Driver 3.0 beta 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@avalanche123 avalanche123 released this 21 Dec 23:58
· 425 commits to master since this release

Apache Cassandra 2.2 and 3.0 compatible release

Features:

  • Added optional time out to Cassandra::Future#get
  • Allow skipping bound values or using Cassandra::UNSET explicitly.
  • Add support for smallint, tinyint, date (Cassandra::Date) and time (Cassandra::Time) data types.
  • Add new errors: Cassandra::Errors::ReadError, Cassandra::Errors::WriteError and Cassandra::Errors::FunctionCallError.
  • Include schema metadata for User Defined Functions and User Defined Aggregates.
  • Include client ip addresses in request traces, only on Cassandra 3.x.
  • Add new retry policy decision Cassandra::Retry::Policy#try_next_host.
  • Support specifying statement idempotence with the new :idempotent option when executing.
  • Support sending custom payloads when preparing or executing statements using the new :payload option.
  • Expose custom payloads received with responses on server exceptions and Cassandra::Execution::Info instances.
  • Expose server warnings on server exceptions and Cassandra::Execution::Info instances.

Breaking Changes:

  • Cassandra::Future#join is now an alias to Cassandra::Future#get and will raise an error if the future is resolved with one.
  • Default consistency level is now LOCAL_ONE.
  • Enable tcp no-delay by default.
  • Unavailable errors are retried on the next host in the load balancing plan by default.
  • Statement execution no longer retried on timeouts, unless :idempotent => true has been specified when executing.

Bug Fixes:

  • [RUBY-143] Retry querying system table for metadata of new hosts when prior attempts fail, ultimately enabling use of new hosts.
  • [RUBY-150] Fixed a protocol decoding error that occurred when multiple messages are available in a stream.
  • [RUBY-151] Decode incomplete UDTs properly.
  • [RUBY-120] Tuples and UDTs can be used in sets and hash keys.