NonStop SQL/MP Reference Manual

Table Of Contents
NonStop SQL/MP Reference Manual142115
C-80
Considerations—CONTROL TABLE
TABLELOCK ENABLE is the default.
If you want to increase access performance and are not concerned with concurrency,
use TABLELOCK ON.
If TABLELOCK OFF is in effect and SQLCI or a host language program attempts
to acquire more row locks than allowed, the file system issues error 35 (Lock limit
has been reached).
Note that for nonaudited tables, locking protocol enforced by DP2 is not available.
Therefore, if sequential block buffering (either RSBB or VSBB) is used to access a
nonaudited table, SQL always acquires a table lock, regardless of the setting of the
TABLELOCK option and access option.
TIMEOUT { value | DEFAULT } [ SECOND[S] ]
specifies the number of seconds allowed to complete file-system requests in DML
operations.
If the time elapses before the file system can grant a request to lock data, the
statement fails and SQL returns file system error 40 (Operation timed out) or error
73 (File/Record locked). (This option does not apply to catalog tables.)
If users often encounter timeouts, increase the time. A low timeout value can cause
the application to function well under light load conditions but not under heavy
loads.
Avoid timeouts below 10 seconds because the reliability of the timeout mechanism
decreases as n.nn approaches .01.
Considerations—CONTROL TABLE
Scope of CONTROL TABLE
During an SQLCI session, CONTROL TABLE affects access to tables and views
from subsequent statements. A particular CONTROL TABLE option remains in
effect until you enter another CONTROL TABLE statement that changes it.
There are several ways to reference a table or view in a CONTROL TABLE
directive: a fully qualified Guardian name, an unqualified Guardian name, a
DEFINE, or a correlation name. The name you use to refer to a table or view in
CONTROL TABLE must exactly match the name you use in the subsequent DML
statement. For example, a CONTROL TABLE directive for Table T has no effect on
a SELECT statement from View V, even when View V is a view that references
Table T. Similarly, $V.SV.TableT is not equivalent to Table T even when Table T
expands to $V.SV.TableT.
A CONTROL TABLE directive that includes at least one option, and that makes a
reference to a specific table or view with an AS or BASETABLE clause, typically
does not affect the values of options set previously with a more general reference to
value waits the specified number of seconds (a number in the range 0.01 to
21474836.47) or wait indefinitely (if value is -1)
DEFAULT waits 60 seconds