Changes in this release

This section provides information on major changes available in NuoDB 3.2. Where changes are associated with reported issues, a Zendesk reference number is displayed, for example (8544).

Partitioned Tables

When creating partitioned tables with unique indexes or primary keys, you must now ensure the partitioning key is included in all unique indexes and in the primary key (unless each index already contains a field guaranteed to be unique, for example via a GENERATED ALWAYS option). Otherwise, an error is returned when creating the table.

Data Types

General

Data type conversion has been expanded and is now performed on UPDATE and DELETE operations.

Integer types

Integer division now truncates to a whole number. For example, select 100 / 125 from dual; now returns 0 instead of .8.

Numeric types

The CEIL and FLOOR functions return the argument type if the argument type is not NUMERIC. If the argument type is NUMERIC, the CEIL and FLOOR functions return NUMERIC (precision + 1, 0). The ROUND function returns the same argument type as the first argument if the argument is not NUMERIC. If the argument type is NUMERIC, return NUMERIC (precision + 1, scale).

Date/Time types

An error message is now generated when you use invalid timestamp separators, for example '-' or '/'.

An error message is now generated when you attempt to create a date using an invalid timestamp (for example year 0, or month 14). (8544).

An error message is now generated when you specify an invalid time value or timezone.

Logging Behavior

Error-level log messages were previously being logged to syslog, even when not specified. This no longer happens. If you require pre-NuoDB 3.2 behavior, specify the --syslog option with the error option argument.

Backup Error Handling

Prior to the release of NuoDB 3.2, you could (mistakenly) add incremental or journal hot copy backups to a backup set created from a different archive. An error is now generated when you attempt to add hot copy backups to the same backup set from different archives. (8564)

Connection ID changes

The GETCONNECTIONID function and the CONNID column now represent a unique connection ID across all Transaction Engines (TEs) in your database. Also, the CONNID type has been changed from INTEGER (32-bit) to BIGINT (64-bit).

Note: When upgrading to NuoDB 3.2, the CONNID value remains a 32-bit (INTEGER), locally-unique value until every TE and Storage Manager (SM) in the database have been upgraded. For any connection established during the rolling upgrade process, different values are returned by GETCONNECTIONID, that is, the old locally-unique 32-bit value(s) from before the upgrade completed as well as the new 64-bit globally unique value(s) available post upgrade. See example below.

SQL> select getnodeid(), getconnectionid() from dual;

GETNODEID GETCONNECTIONID

--------- ---------------

4 4

SQL> select getnodeid(), getconnectionid() from dual;

GETNODEID GETCONNECTIONID

--------- ---------------

4 17179869188

SQL>

PHP PDO Drivers

The PHP PDO drivers have been removed from the release package. If required, you can download the PHP PDO driver from GitHub.

Connection Properties

The LBTag connection property can now specify multiple comma separated values. A database connection is established with the first available TE with the LBTag specified. (4222)

See also: Resolved Issues and Known Issues.