Open topic with navigation
Where changes relate to a Zendesk issue, the associated Zendesk reference number is displayed. For example, (9424).
Although major fixes are documented in Resolved Issues, this Changes in this Release section may also include fixes.
This section provides an overview of the major changes included with NuoDB 4.0.
When performing a new deployment of NuoDB (in physical and VMware environments) using the Debian Package Utility or the RedHat Package Manager, NuoDB Admin (
nuoadmin) is now the default interface for managing a NuoDB domain and database.
Note: This applies only to deployments of NuoDB in Linux environments. Where NuoDB is deployed in a Windows environment, NuoAgent remains the admin interface in NuoDB 4.0. Windows will default to using NuoDB Admin in a future release.
When performing a new deployment of NuoDB (in physical and VMware environments) using a Linux TAR file, the DBA can choose which interface to use for interface for managing a NuoDB domain and database.
If you're upgrading from a previous version of NuoDB to NuoDB 4.0, NuoAgent (
nuoagent) remains the default interface for domain and database management. For information on this deprecated deployment model, see Physical or VMware Environments (NuoAgent).
To improve performance of index creation, the processing for creating indexes on all non-temporary tables has been moved to the Storage Manager. Creation of indexes on temporary tables is still processed on the Transaction Engine. As a result:
index-build-spill-to-diskoption for the Transaction Engine has been removed. Spill to Disk is automatically enabled on the Storage Manager for index creation on non-temporary tables.
For more information, see Spill to Disk.
Prior to the release of NuoDB 4.0, it was possible to remove a storage group immediately after dropping all tables. Now, there can be a delay between dropping all tables in a storage group and being able to remove the storage group.
In deployments of NuoDB being managed by NuoDB Admin (nuoadmin), where TLS has been configured, client verification of the admin server certificate is enabled by default. The certificate file used to verify the server certificate is specified using the
--verify-server argument or the
NUOCMD_VERIFY_SERVER environment variable. For more information, see Using NuoDB Command When TLS is Enabled.
The NuoDB SQL (
nuosql) command line tool now supports inline comments ('–') when used in interactive mode. For information on using
nuosql, see Using NuoDB SQL Command Line. (9424)
Errors generated are now prefixed with "Error <N>:", where
N is the
SQLSTATE value from SQL Error Codes.
OCTET_LENGTH built-in function now accepts binary types (Binary, VarBinary, and Bytes) in addition to string types. For more information on the
OCTECT_LENGTH function, see SQL Functions and Operations.
SQLSTATE value for the TE shutdown was requested before the transaction successfully committed exception has been changed from
For more information on SQLSTATE values, see SQL Error Codes.
NuoDB now supports date string literals in the
yyyyMMdd format, for example
Undocumented and unsupported syntax for
GENERATED columns is no longer allowed. For example, the following usage of
GENERATED columns is no longer allowed:
SQL> CREATE TABLE a(i int GENERATED ALWAYS AS); SQL> CREATE TABLE b(i int GENERATED ALWAYS IDENTITY); SQL> CREATE TABLE c(i int GENERATED ALWAYS AS(s1));
COLLATE case_insensitive syntax is used when creating the domain in which the table is being created, an error is now thrown, preventing the user from specifying the same syntax for the table definition. For more information on using the
COLLATE parameter, see CREATE TABLE.
In previous releases of NuoDB, the NuoDB C driver (
libnuoclient.so) and C++ driver (
libNuoRemote.so) were statically linked with other library dependencies. With the release of NuoDB 4.0, the C and C++ driver libraries are now dynamically linked to other library dependencies. As a result, if the C or C++ driver libraries are copied or moved to different directories, the other library dependencies (
libmpir.\*) must also be copied or moved to the same directory. (9888)
For more information on using NuoDB Drivers, see Client Development.
With the new client package, all client drivers and certain utilities have been removed from the database package. To access client drivers and utilities such as NuoDB Migrator and NuoDB Loader, the client package must be used. For more information, see the Product Distribution Package Files section in Physical or VMware Environments, and Drivers Shipped in the NuoDB Client-only Package.
To help improve the display of NuoDB error messages in C++ client applications, the
SQLException class has been modified to inherit from
std:exception. This results in an Application Binary Interface (ABI) change to the
libNuoRemote.so library. Any applications or clients using
libNuoRemote.so must be recompiled before they can be used with version 4.0 version of the
libNuoRemote.so library. For general information on using NuoDB's C++ driver, see C++ Driver API Reference.
08007, the JDBC driver now throws SQLRecoverableException instead of SQLTransientConnectionException (which is thrown by all other
SQLSTATE values starting with 08). For more information on
SQLSTATE values, see SQL Error Codes.
The readability of the log output, when using the
sql-statement-metrics log category, has been improved.
For more information on the
sql-statement-metrics log category, see Description of Logging Categories.