Release Notes for v2.0-alpha.20180129

January 29, 2018

Happy Monday!

This week's release includes:

  • Added support for inverted indexes for JSON.
  • A simplified IMPORT statement.
  • Multiple ranges can now split at the same time, improving our ability to handle hotspot workloads.
  • Download here and let us know what you think!


    The Cockroach Labs Team


    General Changes

    • CockroachDB now uses gRPC version 1.9.2 #21600

    Enterprise Changes

    • Failed RESTORE cleanup no longer causes the RESTORE job to perpetually loop if external storage fails or is removed. #21559
    • Non-transactional BACKUP and RESTORE statements are now disallowed inside transactions. #21488

    SQL Language Changes

    • Reduced the size of system.rangelog entries to save disk space. #21410
    • Prevented adding both a cascading referential constraint action and a check constraint to a column. #21690
    • Added json_array_length function that returns the number of elements in the outermost JSON or JSONB array. #21611
    • Added referential_constraints table to the information_schema. The referential_constraints table contains all foreign key constraints in the current database. #21615
    • Replaced BOOL columns in the information_schema with STRING columns to conform to the SQL specification. #21612
    • Added support for inverted indexes for JSON. #20941
    • DROP SEQUENCE cannot drop a SEQUENCE that is currently in use. #21364
    • The IMPORT function now does not require the temp directory and no longer creates a RESTORE job. Additionally, the TRANSFORM_ONLY option for IMPORT has been renamed to TRANSFORM and now takes an argument specifying the target directory. #21490

    Command-Line Changes

    • cockroach start --background now returns earlier for nodes awaiting the cockroach init command, facilitating use of automated scripts. #21682
    • Command-line utilities that print results with the pretty format now use consistent horizontal alignment for every row of the result. #18491

    Admin UI Changes

    • The Command Queue debug page now displays errors correctly. #21529
    • The Problem Ranges debug page now displays all problem ranges for the cluster. #21522

    Bug Fixes

    • Fixed a crash caused by NULL placeholder in comparison expressions. #21705
    • The EXPLAIN (VERBOSE) output now correctly shows the columns and properties of each query node (instead of incorrectly showing the columns and properties of the root). #21527
    • Added a mechanism to recompute range stats automatically over time to reflect changes in the underlying logic. #21345

    Performance Improvements

    • Multiple ranges can now split at the same time, improving our ability to handle hotspot workloads. #21673
    • Improved performance for queries that don't read any columns from the key component of the row. #21571
    • Improved performance of scans by reducing efforts for non-required columns. #21572
    • Improved efficiency of the key decoding operation. #21498
    • Sped up the performance of low-level delete operations. #21507
    • Prevented the jobs table from growing excessively large during jobs table updates. #21575


    This release includes 110 merged PRs by 31 authors. We would like to thank the following contributors from the CockroachDB community:

    • Constantine Peresypkin
    • 何羿宏

    Special thanks to first-time contributors Andrew Kimball, Nathaniel Stewart, Constantine Peresypkin and Paul Bardea.