title | toc | summary |
---|---|---|
What's New in beta-20170413 |
false |
Additions and changes in CockroachDB version beta-20170413. |
Get future release notes emailed to you:
-
The implementation of indexing for collated string columns has changed. Any secondary indexes containing collated strings must be dropped before upgrading to this version and then re-created after upgrading. Note that this applies only to secondary indexes, not to primary indexes. #14528
-
Any row with a
-0
FLOAT
orDECIMAL
value in a primary key or index must be deleted before upgrading to this version and then re-inserted after upgrading. Otherwise, the row containing-0
will show up during table scans, but it will not be possible to delete it or select it as part of an index scan.If you suspect
-0
values are present but don't know where, an alternative approach is to usecockroach dump
to back up tables withFLOAT
orDECIMAL
columns, drop the tables before upgrading, and then use the backup files to recreate the tables and indexes after upgrading. #14528 -
The
experimental_strptime
andexperimental_strftime
functions are deprecated and will be removed in a future release. If you are currently using these functions, please let us know here. -
Several undocumented environment variables have been removed. #14786 #14797
-
Clusters which have used the
COCKROACH_PROPOSER_EVALUATED_KV
environment variable require special care when upgrading to this release; contact us for more information. #14773
- Building CockroachDB from source no longer uses
$GOPATH/bin
for anything except the final binary produced bymake install
. #14629 - Developers should use
make generate
instead ofgo generate
to ensure the correct tool versions are used. #14672
- SQL variables can now be reset to their default values with the
RESET
statement orSET x TO DEFAULT
. #14105 - Schema changes within transactions are now restricted. Certain combinations of schema changes with other statements (which would previously hang) will now return an error. It is recommended that DDL statements be issued outside of transactions, or as the only statement within a transaction. #14368
- Subqueries are now supported as the source of
UPDATE
statements. #14611 - Timestamp parsing now understands the format used by JDBC's
setTimestamp
. #14712 INTERVAL
values larger than a month now use the suffixmon
instead ofm
(which is also used for minutes). Intervals can now be parsed from strings containing decimals and negative numbers. #14534INTERVAL
values now support multiplication and division byFLOAT
values. #14614- Arithmetic operations on integers now check for overflow. #14682
- Comparisons involving tuples with non-identical types are now allowed whenever the comparison of the individual elements would be allowed. #14674
- The implementation of the
experimental_strptime
function is now consistent across platforms. #14801 BETWEEN
now supports any combination of types that would be supported by individual comparison operators. #14754- Handling of untyped literals during overload resolution is now more consistent. #14593
ROLLBACK TO SAVEPOINT
is now allowed at any time, not only after receiving a "retry transaction" error. #14538CREATE TABLE AS SELECT
now returns the number of rows affected to the SQL client driver. #13187ALTER TABLE .. ADD CONSTRAINT
can now be used to add a self-referential foreign key. #14711- The
RETURNING NOTHING
clause can now be used outside of a transaction, although it does not provide any performance benefit in this case. #14551 - SQL user names are now required to start with a letter, contain only letters, numbers, and underscores, and be no longer than 63 characters. #14525
- The
BYTES
type name is now reported asbytea
inpg_catalog.pg_type
for compatibility with PostgreSQL. #14495 - The PostgreSQL type IO functions (like
int8in
,int8out
,int8send
, andint8recv
) have dummy implementations for compatibility with some ORMs. #14529
- The
cockroach zone set
command now recognizes the special zone names.meta
,.timeseries
, and.system
to set configurations for system metadata. #14740 - The
cockroach start
command no longer uses theCOCKROACH_PORT
environment variable; the port must be set on the server's command line (similar to--host
and other flags). #14612 - The
cockroach quit
command is now more robust. #14775 - Command history no longer corrupts previous commands when normalizing them. #14496
- Commands entered as a single line are now saved together in the history. #14846
- The config file generated by
cockroach gen haproxy
now enables health checks for the server. #14624 - The
--store
and--log-dir
flags now reject arguments starting with~
that were not expanded by the shell. #14746
- The Node List page has been improved. #14395
- A new
node-id
metric with labels for the node's address is now exported for use in external monitoring systems. #14544 - The
/debug/
pages are now accessible only fromlocalhost
by default. Set the environment variableCOCKROACH_REMOTE_DEBUG=any
when running the server to allow remote access. #14647 #14675
- A new, more efficient format is now used for indexes with the
STORING
clause. Existing indexes will still work, but will need to be dropped and recreated to get the benefits of the new format. #14758 - A single
TimestampCache
is now shared by all replicas on a store, providing better control over memory usage and better support for large transactions. #14489 - Reduced memory used by the
TimestampCache
. #14516 #14514 - Replica garbage collection is now much more efficient. #14391
- Adding and dropping columns now uses the distributed SQL engine. #14331
- The health of inter-node connections is now monitored using HTTP/2 ping frames instead of regular RPCs. This ensures that HTTP flow control cannot cause a connection to be considered unhealthy. #14424
- The limit on the number of concurrent inter-node RPCs has been increased. #14785
- The bandwidth used by range snapshots is now limited to 2MB/sec by default to reduce impact on live traffic. #14718
- If a single row grows larger than the configured maximum range size, the split queue will no longer spin trying to split the range repeatedly. #14654
- Several kinds of tracing and logging have been disabled by default. #14677
- Fixed an issue with
UPDATE
andDELETE
on tables withSTORING
indexes. Indexes affected by this bug will need to be dropped and recreated. #14643 BETWEEN
now handlesNULL
in the same way as other comparison operators. #14686- Fixed a bug with comparisons involving division with a constant negative divisor. #14702
INSERT ON CONFLICT DO UPDATE
no longer uses an error-prone optimization. TheUPSERT
statement is now faster than the equivalentINSERT ON CONFLICT DO UPDATE
statement. #14485- Schema changes now abort more reliably when encountering errors. #14025
- Joining nodes of two different clusters is now detected more reliably. #14475
- Fixed a panic during prepared
UPDATE
statements. #14481 FLOAT
andDECIMAL
values in primary keys and indexes now consider0
and-0
equal (although the sign will correctly be retained). #14528DECIMAL
values in primary keys and indexes no longer have zeros truncated. If a secondary index contains aDECIMAL
value with trailing zeros, you can drop and re-create the index to have the value returned correctly when the index is used. #14528- Fixed a crash when assigning with the
DEFAULT
keyword inUPDATE
statements. #14640
- Updated the Start a Local Cluster tutorial to better highlight core CockroachDB capabilities such as automated replications and fault tolerance. #1257
- Expanded the Build a Ruby App with CockroachDB tutorial to feature the ActiveRecord ORM. #1234
- Clarified the
--store
flag in thecockroach start
documentation. #1243 - Updated the build from source instructions to use a source tarball instead of the
cockroach
GitHub repository. The source tarball downloads faster and doesn't need to be extracted in theGOPATH
. Developers who want to contribute to CockroachDB should use the instructions in CONTRIBUTING.md instead. #1209 - Added Google Cloud Spanner to the CockroachDB in Comparison chart. #1264
This release includes 215 merged PRs by 27 authors. We would like to thank the following contributors from the CockroachDB community, especially first-time contributors Amos Bird and Daniel Upton.
- Amos Bird
- Christian Meunier
- Daniel Upton
- songhao