Unity's Handling of Non-Deterministic Elements - Teradata Unity

Teradata Unity User Guide

Product
Teradata Unity
Release Number
16.00
Published
March 2017
Language
English (United States)
Last Update
2018-03-29
dita:mapPath
ipb1476817227329.ditamap
dita:ditavalPath
ft:empty
dita:id
B035-2520
lifecycle
previous
Product Category
Analytical Ecosystem
Unity has improved support for some common non-deterministic functions. Teradata Database support lets Unity override certain non-deterministic functions, such as current time and random. The following table shows which SQL functions are automatically rewritten.
SQL Function Replacement
RANDOM Active Sequencer replaces this function with a single randomly generated value. A single write request involving multiple rows results in the same random number.
CURRENT_DATE Active Sequencer generates a date to replace this function.
CURRENT_TIME Active Sequencer generates a time to replace this function.
CURRENT_TIMESTAMP Active Sequencer generates a timestamp to replace this function.
DATE Active Sequencer generates a date to replace this function.
SESSION Not supported
TIME Active Sequencer generates a time to replace this function.
HASHAMP Not supported
HASHBAKAMP Not supported
HASHROW Not supported
HASHBUCKET Not supported
ROW NUMBER Not supported
Sample Clause Not supported

To verify overrides, Unity is required to be part of the secure database cluster. The secure database cluster includes Unity and all Teradata systems that it manages. Systems in the secure database cluster are identified via shared proxy certificates that must exist on all database nodes as well as on all Unity server nodes.

For more information on Teradata Proxy certificates, see the Security Administration guide.

The Recovery Log stores raw SQL statements run after non-deterministic elements are replaced. Only one SQL statement is recorded regardless of the number of rows affected.