New Features

This section includes new features and enhancements.

If a new feature or enhancement relates to a Zendesk request, the associated Zendesk reference number is displayed, for example (10118).

New Features in NuoDB 5.1

Optimizer v3, the new default SQL optimizer, improves SQL optimization and runtime performance when executing SQL statements that join multiple tables

For more information on Optimizer v3, see Optimizer v3.

To change the default optimizer setting for the current connection, use the queryoptimizer connection property. To change the default optimizer setting for the Transaction Engine (TE), use the optimizer-version database option.

Updated NuoDB and the JDBC driver to improve SQL runtime performance

SQL runtime performance has been improved in higher network latency environments or if a connection runs thousands or millions of short-running SQL statements when using the JDBC driver. For more information, see NuoDB JDBC Driver.

Added optimizer type to the SQLENGINE field

The SQL queries SELECT * FROM SYSTEM.CONNECTIONS and SELECT * FROM SYSTEM.LOCALCONNECTIONS now return the SQL engine and optimizer type in the SQLENGINE field. For more information, see CONNECTIONS and LOCALCONNECTIONS.

Added the ISREOPTIMIZED field to the LASTSTATEMENT system table

For more information, see LASTSTATEMENT.

Improved NuoDB Admin domain security

Clients with non-root certificates can now be restricted using the authorizedDomains property. For more information, see Host Properties (nuoadmin.conf).

New Features Previously Included in NuoDB 5.0 Maintenance Releases

Added a new command option to NuoDB Command (nuocmd)

To check if a database is ready to accept client connections, use the nuocmd check sql-connection subcommand. For more information, see nuocmd check sql-connection.

Added the ALTER TABLE REBUILD FORMAT command

During a DELETE, INSERT, REPLACE, or UPDATE operation on a table, if the format of the newly updated or created record does not match the format of the database table, an error is reported. To correct the format issue, use the new ALTER TABLE REBUILD FORMAT command. For more information, see ALTER TABLE.

The performance of the following commands has been improved (13587, 13729)

  • The time required for the REST API requests to obtain process state invoked by nuocmd get processes, nuocmd show domain, and nuocmd show database.

  • The time required to return a suitable Transaction Engine (TE) to a SQL client to establish a new database connection.

Added new capability to use parameters for escape characters in a LIKE expression (13556)

To interpret parameters in a LIKE expression as escape characters, use the ESCAPE keyword and specify the parameter.
For examples, see Examples using LIKE with the ESCAPE clause.

Added support for Rocky Linux 8.6 and later

For more information, see System Requirements.

Added support for ARM64 architecture (Linux only)

For more information, see System Requirements.

Enhanced the Kubernetes-Aware Admin (KAA) Raft consensus override mechanism to improve reliability during Admin Process (AP) scale-up

The modified KAA consensus override logic now ensures that when APs are scaled up, they will rejoin the domain without a Raft state through the existing Raft leader to prevent any Raft state divergence.

Improved the format of date and time values in the display output for several cases, including EXPLAIN plan and error messages

In cases such as in EXPLAIN plan or error messages, the values of data type Date and Time appearing in the display output are now enclosed in single quotes ('). This makes it easy to copy the statement and execute it on a NuoDB database without editing.

Added new capability to verify that all database storage groups (SGs) are included in hot copy

When requesting a database hot copy, NuoDB Admin (nuoadmin) will verify that all database SGs are included in the archive selection, by default. To skip the verification and create a backup that includes partial SGs, use the --partial-storage-groups flag in nuocmd hotcopy database and nuocmd backup database. For more information, see Redundant Hot Copy with Storage Groups, nuocmd hotcopy database, and nuocmd backup database.

Added new command options to NuoDB Command (nuocmd)

  • The --include-sensitive-files option to include the audit messages in the nuoadmin_audit.log file. For more information, see nuocmd get diagnose-info and nuocmd get server-logs.

  • The --sg-ready-timeout option to ensure that the Transaction Engines (TEs) start only after all the Storage Groups (SGs) become online during a database cold start in Kubernetes deployments. For more information, see nuocmd start te.

Added the following new documentation sections

Added Node 16 support to the NuoDB Node.js driver

For more information, see NuoDB Node.js Driver.

Added two new tombstone options to NuoDB Command

  • --include-tombstone-databases to view the databases in the tombstone state. Databases that are in the tombstone state are now hidden by default. For more information, see nuocmd show domain.

  • --purge to remove the tombstone after deleting the database from the domain state. For more information, see nuocmd delete database.

Added release build time information (13405)

The release build timestamp is now available as the builddate field in $NUODB_HOME/etc/Version.json. For more information, see Environment Variables.

Added new capability to configure a connection to abort a SQL statement that is waiting to acquire a lock

The following new properties and parameter are added:

  • System property DEFAULT_LOCK_WAIT_TIMEOUT to configure a default lock wait timeout for all new connections. For more information, see SQL System Properties.

  • Connection property lock-wait-timeout to configure the lock wait timeout when establishing a new connection. For more information, see Connection Properties.

  • Runtime parameter LOCK_WAIT_TIMEOUT to dynamically set the lock wait timeout for an existing connection. For more information, see SET.

Added a new feature to configure the logs displayed on stdout for Kubernetes and Docker deployments (13379)

The logs displayed on stdout using kubectl logs <AP_pod_name> or docker logs <AP_container_name> can now be configured using logging.consoleLogLevels, without affecting log entries in nuoadmin.log. For more information, see Host Properties (nuoadmin.conf).

Added support for Hibernate 6