May 7, 2018

This release includes usability enhancements, PostgreSQL compatibility improvements, and general bug fixes.

Tip:
The EXPORT CSV feature in this release allows you to quickly get data out of CockroachDB and into a format that can be ingested by downstream systems. Unlike the existing ability to export data via a SELECT that outputs to a CSV file, EXPORT uses all nodes in the cluster to parallelize CSV creation for significantly faster processing. Note that this is a prototype feature, so we’d love for you to try it out and create issues if you’d like any enhancements or find any bugs.

Get future release notes emailed to you:

Downloads

General Changes

  • Added a /_status/diagnostics/{node_id} debug endpoint, which returns an anonymized diagnostics report. #24813 #24997
  • The header of new log files generated by cockroach start now includes the cluster ID once it has been determined. #24926
  • The cluster ID is now reported with tag [config] in the first log file, not only when log files are rotated. #24993
  • Stopped spamming the server logs with "error closing gzip response writer" messages. #25106
  • Enforced stricter validation of security certificates. #24687

Enterprise Edition Changes

SQL Language Changes

  • ROLE and STORED are no longer reserved keywords and can again be used as unrestricted names for databases, tables and columns. #24629 #24554
  • The experimental SQL features SHOW TESTING_RANGES and ALTER ... TESTING_RELOCATE have been renamed SHOW EXPERIMENTAL_RANGES and ALTER ... EXPERIMENTAL_RELOCATE. #24696
  • The current_schema() and current_schemas() built-in functions now only consider valid schemas, like PostgreSQL does. #24718
  • Clarified the error message produced upon accessing a virtual schema with no database prefix (e.g., when database is not set). #24772
  • Improved the error message returned on object creation when no current database is set or only invalid schemas are in the search_path. #24770
  • Added more ways to specify an index name for statements that require one (e.g., DROP INDEX, ALTER INDEX ... RENAME, etc.), improving PostgreSQL compatibility. #24778
  • Errors detected by SHOW SYNTAX are now tracked internally like other SQL errors. #24819
  • Added support for lpad() and rpad() string functions. #24891
  • Computed columns can now be added with ALTER TABLE ... ADD COLUMN. #24464
  • Added the TIMETZ column type and datum. #24343
  • The EXPLAIN output for UPDATE statements now also report CHECK expressions, for consistency with INSERT. #23373
  • Reduced the amount of RAM used when a query performs further computations on the result of a mutation statement (INSERT/DELETE/UPSERT/UPSERT) combined with RETURNING. #23373
  • Added the 'base64' option to the encode() and decode() built-in functions. #25002
  • IMPORT now supports hex-encoded byte literals for BYTES columns. #24859
  • Set Returning Functions (SRF) can now be accessed using (SRF).x, where x is the name of a column returned from the SRF or a *. For example, SELECT (information_schema._pg_expandarray(ARRAY['c', 'b', 'a'])).x and SELECT (information_schema._pg_expandarray(ARRAY['c', 'b', 'a'])).* are now both valid. Also, the naming of the resulting columns from SRFs now provide more information about the resulting tuple. #24832
  • Removed the METADATA, QUALIFY, and EXPRS options for EXPLAIN. #25101
  • CockroachDB now properly reports an error when a query attempts to use ORDER BY within a function argument list, which is an unsupported feature. #25146
  • AS OF SYSTEM TIME queries now accept a negative interval to produce a relative time from the statement's statement_timestamp() time. #24768

Command-Line Changes

  • The cockroach demo command now shows the Admin UI URL on startup. #24738
  • cockroach dump now supports self and cyclic foreign key references. #24716

Admin UI Changes

  • Updated the window title for each page to make browser history more useful. #24634
  • Changed the label "bytes" to "used capacity" in the Nodes table. #24843
  • The names of dropped schema objects on DROP DATABASE ... CASCADE are now displayed. #24852
  • The Cluster Overview now adjusts to take the advantage of the size of the screen. #24849
  • Fixed a bug where the Node List could get cut off. #24849
  • Improve responsiveness of the Prometheus metrics endpoint on very overloaded nodes. #25083
  • Time series charts now display data points at more consistent timestamps. #24856

Bug Fixes

  • Converted a panic related to an unsupported type to an error. #24688
  • ALTER INDEX ... RENAME can now be used on the primary index. #24776
  • Fixed a scenario in which a node could deadlock while starting up. #24808
  • It is once again possible to use a simply qualified table name in qualified stars (e.g., SELECT mydb.kv.* FROM kv) for compatibility with CockroachDB v1.x. #24811
  • Ranges in partitioned tables now properly split to respect their configured maximum size. #24896
  • Fixed a bug where SELECT * FROM [DELETE FROM ... RETURNING ...] LIMIT 1 or WITH d AS (DELETE FROM ... RETURNING ...) SELECT * FROM d LIMIT 1 would fail to properly delete some rows. The is fixed for SELECT * FROM [INSERT ... RETURNING ...] LIMIT 1 or WITH d AS (INSERT ... RETURNING ...) SELECT * FROM d LIMIT 1 as well. #23373
  • Removed a limitation where UPDATE, INSERT, or UPSERT would fail if the number of modified rows was too large. #23373
  • UPSERT now properly reports the count of modified rows when RETURNING is not specified. #23373
  • When adding a column, CockroachDB now verifies that the column is reference by no more than one foreign key. Existing tables with a column that is used by multiple foreign key constraints should be manually changed to have at most one foreign key per column. #25060
  • Corrected the documentation for the age() built-in function. #25132
  • Fixed a bug cuasing PREPARE to hang when run in the same transaction as a CREATE TABLE statement. #23816

Performance Improvements

  • Improved the performance of hash joins. #24577
  • Aggregations are now streamed based on the ordering on the GROUP BY columns. #24113
  • Some SELECTs with limits no longer require a second low-level scan, resulting in much faster execution. #24790

Build Changes

  • Build metadata, like the commit SHA and build time, is now properly injected into the binary when using Go 1.10 and building from a symlink. #25008

Doc Updates

Contributors

This release includes 224 merged PRs by 37 authors. We would like to thank the following contributors from the CockroachDB community, with special thanks to first-time contributors Bob Potter, Karan Vaidya, dchenk, and phelanm.

  • Bob Potter
  • Brett Snyder
  • Jingguo Yao
  • Karan Vaidya
  • Vijay Karthik
  • dchenk
  • phelanm


Yes No