Release Notes for v1.2-alpha.20171113

November 13, 2017

Backwards-Incompatible Changes

  • Redefined NaN comparisons to be compatible with PostgreSQL. NaN is now equal to itself and sorts before all other non-NULL values. #19144

  • It is no longer possible to drop a user with grants; the user's grants must first be revoked. #19095

Build Changes

  • Fixed compilation on the 64-bit ARM architecture. #19795

  • NodeJS 6+ and Yarn 1.0+ are now required to build CockroachDB. #18349

SQL Language Changes

  • SHOW GRANTS (no user specified) and SHOW GRANTS FOR <user> are now supported. The former lists all grants for all users on all databases and tables; the latter does so for a specified user. #19095

  • SHOW GRANTS statements now report the database name for tables. #19095

  • CREATE USER statements are no longer included in the results of SHOW QUERIES statements. #19095

  • The new ALTER USER ... WITH PASSWORD ... statement can be used to change a user's password. #19095

  • CREATE USER IF NOT EXISTS is now supported. #19095

  • New foreign key constraints without an action specified for ON DELETE or ON UPDATE now default to NO ACTION, and existing foreign key constraints are now considered to have both ON UPDATE and ON DELETE actions set to NO ACTION even if RESTRICT was specified at the time of creation. To set an existing foreign key constraint's action to RESTRICT, the constraint must be dropped and recreated.

    Note that NO ACTION and RESTRICT are currently equivalent and will remain so until options for deferring constraint checking are added. #19416

  • Added more columns to information_schema.table_constraints. #19466

Command-Line Interface Changes

  • On node startup, the location for temporary files, as defined by the --temp-dir flag, is printed to the standard output. #19272

Admin UI Changes

  • Decommissioned nodes no longer cause warnings about staggered versions. #19547

Bug Fixes

  • Fixed a bug causing redundant log messages when running SHOW TRACE FOR. #19468

  • DROP INDEX IF EXISTS now behaves properly when not using [email protected] syntax. #19390

  • Fixed a double close of the merge joiner output. #19794

  • Fixed a panic caused by placeholders in PREPARE statements. #19636

  • Improved error messages about Raft progress in the replicate queue. #19593

  • The cockroach dump command now properly supports ARRAY values. #19498

  • Fixed range splitting to work when the first row of a range is larger than half the configured range size. #19339

  • Reduced unnecessary log messages when a cluster becomes temporarily unbalanced, for example, when a new node joins. #19494

  • Using DELETE without WHERE and RETURNING inside [...] no longer causes a panic. #19822

  • SQL comparisons using the ANY, SOME, or ALL operators with sub-queries and cast expressions work properly again. #19801

  • On macOS, the built-in SQL shell (cockroach sql) once again properly supports window resizing and suspend-to-background. #19429

  • Silenced an overly verbose log message. #19504

  • Fixed a bug preventing large, distributed queries that overflow onto disk from completing. #19689

  • It is not possible to EXECUTE inside of PREPARE statements or alongside other EXECUTE statements; attempting to do so no longer causes a panic. #19809 #19720

  • The admin UI now works when a different --advertise-host is used. #19426

  • An improperly typed subquery used with IN no longer panics. #19858

  • It is now possible to RESTORE using an incremental BACKUP taken after a table was dropped. #19601

  • Fixed an always-disabled crash reporting setting. #19554

  • Prevented occasional crashes when the server is shut down during startup. #19591

  • Prevented a potential Gossip deadlock on cluster startup. #19493

  • Improved error handling during splits. #19448

  • Some I/O errors now cause the server to shut down. #19447

  • Improved resiliency to S3 quota limits by retrying some operations during BACKUP/RESTORE/IMPORT

  • Executing TRUNCATE on a table with self-referential foreign key constraints no longer creates broken foreign key backward references. #19322

Performance Improvements

  • Improved memory usage for certain queries that use limits at multiple levels. #19682

  • Eliminated some redundant Raft messages, improving write performance for some workloads by up to 30%. #19540

  • Trimmed the wire size of various RPCs. #18930

  • Table leases are now acquired in the background when frequently used, removing a jump in latency when they expire. #19005

Enterprise Edition Changes

  • When an enterprise RESTORE fails or is canceled, partially restored data is now properly cleaned up. #19578

  • Added a placeholder during long-running BACKUP and IMPORT jobs to protect against accidentally using it by concurrent operations. #19713

Doc Updates