What's New in beta-20160519

May 19, 2016

Get future release notes emailed to you:


Backwards-Incompatible Changes

  • TIMESTAMP values are now truncated to microsecond resolution when sent over the network for compatibility with the PostgreSQL protocol. The format_timestamp_ns(ts) or extract(nanosecond from ts) functions can be used to access the full nanosecond precision of a timestamp. The now(), current_timestamp(), and statement_timestamp() functions are truncated to microsecond resolution to avoid confusion when timestamp values are used in unique indexes; the new current_timestamp_ns() function can be used to get a non-truncated timestamp. #6604

New Features

  • DO NOTHING is now supported in INSERT ... ON CONFLICT statements. #6633
  • CHECK constraints can now be specified at the table level. #6625
  • Binary encoding is now supported in the network protocol for BOOL, FLOAT, DECIMAL, and STRING types, improving compatiblity with some PostgreSQL drivers. #6661
  • The new cockroach freeze-cluster command has been added to the command-line interface; it will be used in the upgrade process for a future beta release. #6675

Bug Fixes

  • EXPLAIN DELETE no longer executes the DELETE statement. #6622
  • CHECK constraints are now enforced during UPDATE statements. #6753
  • CHECK constraints now work correctly when columns have been dropped. #6730
  • Tuples and the DEFAULT keyword now work in INSERT ... ON CONFLICT DO UPDATE statements. #6636
  • Errors are now reported with standard PostgreSQL error codes in more places. #6652, #6554
  • Fixed a panic while a node is attempting a clean shutdown. #6677
  • Internal retry logic has been improved so requests are no longer stuck retrying endlessly on the wrong replica. #6688

Performance Improvements

  • Snapshot generation is now throttled to reduce peak memory consumption. #6632
  • Improved performance for transactions with low contention. #6413
  • Improved performance for UPSERT statements (and the equivalent INSERT ... ON CONFLICT DO UPDATE statements) when the table has no secondary indexes and values are supplied for all columns in the table. #6673

Doc Updates


This release includes 65 merged PRs by 18 authors. We would like to thank the following contributor from the CockroachDB community:

  • Kenji Kaneda
  • Paul Steffensen
YesYes NoNo