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.