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.2

Added support for Hibernate 6 generated SQL statements with JOIN group syntax (13781)

Hibernate 6 generated JOIN group syntax that wraps join predicates in parentheses was not supported in NuoDB. For example, Hibernate 6 generated SQL query such as, SELECT * FROM a JOIN (b JOIN c on x) on y, is now supported.

Added the Right Hash Outer Join execution operator for faster query execution

For more information, see Execution Plan Operators.

Added Spill to Disk support for hash join and hash grouping operators to reduce memory usage for large hash operations

Added lock-wait-timeout to the SYSTEM.CONNECTIONPROPERTIES pseudo table to view the lock wait timeout value for an existing connection

See the example on Connection Properties.

Improved the performance and execution times for SQL queries that include variables

SQL queries that include variables are now recompiled to generate a more optimized execution plan, resulting in better performance and faster execution times.

Added SQL syntax support for RIGHT OUTER join operations

For more information, see SELECT and RIGHT OUTER Join Operations.

Improved the performance and execution times for SQL queries that include variables in LIKE

SQL queries that include a variable in the LIKE operator are now considered for reoptimization by the v3 optimizer.

Improved the performance of SQL queries by extending the range of indexes for 'Bitmap intersections'

The optimizer will consider more 'Bitmap intersections' than before, providing additional opportunities to find an optimal access path. In particular, if a specific index is chosen to satisfy a property such as a join predicate or ordering, it will now check if that index can be further improved by intersecting it with additional indices.

Improved atom read prioritization on the syncing SM to reduce archive synchronization time

Reduced the number of atom loads required to complete archive synchronization

New Features in NuoDB 5.1.1

Added the licenseFilePath property to configure the path to the NuoDB license file

For more information, see Setting nuoadmin.conf Properties.

Added the EXPLAIN (ANALYZE_GRAPH {ON|OFF}) option to debug performance characteristics of complex query plans

The EXPLAIN (ANALYZE_GRAPH {ON|OFF}) option displays the Graphviz representation of the explain plan. Use any Graphviz viewer to produce a graphical representation of the explain plan to aid in debugging and troubleshooting complex query plans.

For more information, see EXPLAIN.

Optimized the execution of SQL queries that includes timestamp literals

When executing a SQL query that includes a comparison operation of a string or a timestamp to a date literal, a performance optimization has been added by converting the operand opposite the date literal to a date.

Enabled the use of Optimizer Hints in SQL Data Manipulation Language (DML) statements

For more information, see Using Optimizer Hints.

Added support for Common Table Expression (CTE) using the WITH statement

For more information, see WITH.

Improved the performance of grouping and aggregation operations using the Hash grouping execution plan operator

For more information, see Execution Plan Operators.

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.

Added the following new execution operators for faster query execution

  • Left Hash Anti Join

  • Left Hash Mark Join

  • Left Hash Semi Join

  • Right Hash Anti Join

  • Right Hash Mark Join

  • Right Hash Semi Join

  • Right Index Semi Join

For more information, see Execution Plan Operators.

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