Added support for the EXTRACT function which retrieves subfields (e.g. YEAR, HOUR, etc.) from date and time related data type values. For more information, see SQL Date and Time Functions and Operators.
Added support for pattern matching using the REGEXP and CONTAINING functions. For more information, see SQL Pattern Matching.
Added several missing data type cast conversions. For a complete list of support conversions, see SQL Data Type Conversion Functions.
Several optimizations have been added to improve performance on partitioned tables, including:
1. Reduce partition iterations during processing 2. In certain cases, reuse memory allocated by index scans 3. Improve the search algorithm when computing a set of pruned partitions
Additional partitioned table performance optimizations may be added in future releases.
Improved database process node distribution across the available Admin processes (AP)s for Docker and Kubernetes deployments
Previously, for externally started database processes, the database processes may not distribute evenly across the available Admin processes (APs).
start te and
start sm parameter is used to supply the Admin with distribution policies used to ensure better distribution.
A sub-set of these features may be available in maintenance releases for prior versions.
Asynchronous Storage Managers (ASMs): Deploy a passive DR site over WAN to support business continuity plans
The Asynchronous SM feature allows administrators to configure NuoDB in an active / passive configuration across long distance regions for operational and disaster recovery protection in the event of a primary site outage. The Asynchronous SM feature replicates all database changes to a remote passive data center asynchronously so that there is limited impact due to higher network latency that is common to Wide Area Networks (WANs). In the event of a primary site disaster, the Asynchronous SM can be converted to a regular SM so that the database can be restarted quickly and put back into service. For more information, see Asysnchonous SM.
This new capability allows users to create a hot copy backup, using
nuocmd hotcopy with the
--type simple argument, and that backup (or a copy of that backup) can then be used directly to start a database.
This feature was previously available in the NuoDB Nuoagent administrative tier and has been added to the NuoDB Admin administrative tier.
DEFINER security option is now available for users who have been granted
SELECT access on a
The new system-wide database
DEFINER security option allows a user to read a database
VIEW object after being granted a single
Grant Select on View privilege.
This new option eases database administration and improves security when using a DEFINER security model is preferred.
The database default remains the
INVOKER security option.
To enable the
DEFINER security option, the new system property
DEFAULT_VIEW_SECURITY must be set to
For more information when using the Scalar Execution Engine, see SQL System Properties.
For more information when using the Vector Execution Engine, see SQL System Properties.
The service streamlines configuration with third-party Key Management Systems and is used for TDE initial password configuration as well as password rotation.
Added two new Transaction Engine (TE) timing metrics,
SQLListenerIdleTimeTransaction that narrow down
SQLListenerIdleTime to when statements or transactions are open respectively.
A new "Time" monitor metric was also added that timestamps when each monitoring period ended expressed in milliseconds.
For more information, see Metrics Published by Database Processes.
Added resilience to network congestion events during failure detection and resolution processing (11570)
Previous behavior could lead to a full database shutdown during failure detection and resolution processing when the database environment is experiencing a heavy network congestion event. Failure resolution processing will now continue to run and complete (possibly taking a little longer in some scenarios) but will avoid an unwanted forced database shutdown event.
Previously the number of index builds which may run concurrently on a single SM was not limited.
If many concurrent long-running index builds were issued, the Storage Manager (SM) could become resource constrained and slow end user application response time.
To avoid excessive index build resource consumption, a new limit of
4 concurrent index build jobs is now enforced.
For more information, see either reference,
Scalar Execution Engine: CREATE INDEX.
Vectorized Execution Engine: CREATE INDEX.
If a Transaction Engine is unable to relieve memory pressure using spill-to-disk or garbage collection then it will terminate client SQL operations consuming the most memory until memory pressure is relieved. For more information, see Reducing Memory Pressure on Transaction Engines.
Raft log compaction is now managed by a scheduled task that checks periodically if compaction should be performed
Previously Raft log compaction was performed in the critical path of commits whenever the number of committed and uncompacted log entries exceeded
raft.compactionThreshold (1024 by default).
This would delay the command response that triggered compaction and also disrupt leadership.
Now compaction is performed by a task that is scheduled every 30 seconds by default and is configurable by the
If the compaction task detects that the number of committed and uncompacted entries in the Raft log is equal to or greater than
raft.compactionThreshold, compaction is performed.
New switch options added are
In addition, the
nuocmd check process command now will fail-fast if the process exits during the command invocation, and a new
nuocmd check subcommand
server has been added.
To learn more about these enhancements, and when to use them, see NuoDB Command Reference.
A new auditing capability has been added in NuoDB Admin which allows logging of all REST API requests and responses. The type and verbosity of the logged messages are configurable. By default all authentication and authorization failures are logged, and the type and verbosity of the logged messages are configurable. For more information, see the reference documentation for the NuoDB Admin Audit Log file.
When a network connection between a Transaction Engine and a SQL client is terminated, some virtual environments do not notify the engine of the socket termination.
Without a TCP notification, the engine will keep the socket open until a timeout is reached.
On most systems, the default timeout is two hours.
--sql-client-tcp-keepalive allows users to override the system defaults using the