Version 2.1.0¶
Released on 2017/07/11.
Note
If you are upgrading a cluster, you must be running CrateDB Version 1.1.3 or higher before you upgrade to 2.1.0.
You cannot perform a rolling upgrade to this version. Any upgrade to this version will require a full restart upgrade.
Consult the upgrade notes for Version 2.1.0 when upgrading.
Warning
Before upgrading, you should back up your data.
Table of contents
Changelog¶
Breaking Changes¶
CURRENT_USER,USERandSESSION_USERare now reserved words as we introduced them as system functions. These terms will not be available to be used as table, and column names and for already existing entities they will have to be quoted when referenced (otherwise the terms will be treated as function calls).SELECTstatements without anyFROMitems are no longer executed against thesys.clustertable, but against a virtual table with no columns. Queries includingsys.clustercolumns but no explicitFROMitem will now result in aColumnUnknownException.The
onModule()method had been removed fromio.crate.Plugininterface;createGuiceModules()must be used instead.srvandazureare no longer valid configuration options fordiscovery.type. Instead there is a newdiscovery.zen.hosts_providersettings which can be set to eithersrvorazure.Duplicate definition of settings is neither allowed in the
crate.ymlfile nor as command line options. However, settings provided via command line arguments can still override the settings defined in thecrate.ymlfile.The syntax for creating columns on
Create TableandAlter Tablehas become more strict.The
sigarjar and object files have been moved fromplugins/sigartolib/sigar.
Changes¶
Updated Elasticsearch to
5.2.2.Updated Crash to
0.21.3.Updated the Admin UI to
1.4.1.The table setting
recovery.initial_shardshas been deprecated. You may setgateway.local.initial_shardsper node instead. CrateDB will continue to read the old setting but applications should be migrated to the new setting.Added support for
GRANTandREVOKEprivileges for accessing the cluster. Currently supported privilege types:DQL,DMLandDDL.Added support for
GRANT,DENYandREVOKEprivileges for accessing the tables and schemas.Added column
usernametosys.jobsandsys.jobs_logthat contains the username under which the job was invoked.Added SSL/TLS support for HTTP endpoints.
Added SSL/TLS support for PostgreSQL Wire Protocol.
Added new HBA setting
sslwhich allows to control whether users have to connect with SSL enabled or disabled.Added support for client certificate authentication via HBA.
Added support for joins on virtual tables.
Queries which contain a correlated subquery will now result in an error stating that correlated subqueries are not supported, instead of a more confusing error indicating that a relation is unknown.
Extended the output of the
EXPLAINstatement.
Upgrade Notes¶
Database User¶
Clients that use the PostgreSQL Wire Protocol need to connect with a valid database user to get access to the server. See the official Crate JDBC Driver documentation for further information.
Upgrading from version 2.0.x¶
If you’re using CrateDB’s BLOB storage and you need to run at least version 2.0.4 before upgrading to 2.1.0.
Please consult the Version 2.0.4 release notes for further details.
Create columns syntax strictness¶
The syntax strictness when creating new columns has been increased:
Columns cannot contain a dot when using alter table. Instead, you can still use the subscript pattern to add an object column.
The use of references as a key of a subscript is not possible anymore. E.g. instead of
col_name[index], you’ll need to usecol_name['index']. Be aware that the use of single quotes will cause the index to be case sensitive.
Upgrading from versions prior to 2.0.0¶
Please consult the Upgrade Notes for 2.0.0.