Initiating an Immediate Autorefresh in TimesTen Classic
In TimesTen Classic, if the Oracle Database tables have been updated with
data that needs to be applied to cache tables without waiting for the next autorefresh
operation, you can call the ttCacheAutorefresh
built-in procedure.
ttCacheAutorefresh
built-in procedure initiates an immediate
refresh operation and resets the autorefresh cycle to start at the moment you invoke
ttCacheAutorefresh
.
The refresh operation is full or incremental depending on how the cache
group is configured. The autorefresh state must be ON
when
ttCacheAutorefresh
is called.
The autorefresh operation typically refreshes all cache groups sharing the same refresh interval in one transaction in order to preserve transactional consistency across these cache groups. Therefore, although you specify a specific cache group when you call ttCacheAutorefresh
, the autorefresh operation occurs in one transaction for all cache groups that share the autorefresh interval with the specified cache group. If there is an existing transaction with table locks on objects that belong to the affected cache groups, ttCacheAutofresh
returns an error without taking any action.
You can choose to run ttCacheAutorefresh
asynchronously (the default) or synchronously. In synchronous mode, ttCacheAutorefresh
returns an error if the refresh operation fails.
After calling ttCacheAutorefresh
, you must commit or roll back the transaction before subsequent work can be performed.
This example calls ttCacheAutorefresh
for the ttuser.western_customers
cache group, using asynchronous mode.
Command> call ttCacheAutorefresh('ttuser', 'western_customers');