SQL/MX 2.x Reference Manual (G06.24+, H06.03+)
SQL/MX Utilities
HP NonStop SQL/MX Reference Manual—523725-004
5-56
Considerations for MODIFY
The setting in the SYSTEM_DEFAULTS table applies to all partition operations in the 
current node unless you override it by using a CONTROL QUERY DEFAULT 
statement. You can issue the statement from MXCI, and the setting from this statement 
applies only to subsequent requests within the same MXCI.
If the attribute neither appears in the SYSTEM_DEFAULTS table nor is specified using 
a CONTROL QUERY DEFAULT statement, MODIFY uses the value 5000 for offline 
partition operations and 400 for online partition operations.
Default Value for Offline Partition Operations
For offline partition operations, MODIFY locks entire source and target partitions, so 
DP2 lock escalation is not an issue. In general, MODIFY runs more efficiently when 
you specify a larger value. You should choose this value with care. If it is too large, the 
transaction might abort because of the two-hour TMF time limit or the size of the audit 
trails. You also need to take the row size into consideration when choosing the number 
of rows because the product of the row size and num-of-rows gives the amount of 
data to be copied in each transaction.
You can temporarily increase the TMF time limit and the size of the audit trail to allow 
the operations to complete with a larger num-of-rows. However, increasing TMF 
limits degrades system performance and increases disk space usage for the audit trail.
Default Value for Online Partition Operations
For online partition operations, avoid choosing a value greater than 500, because DP2 
escalates locking from selected rows to the entire partition if the partition has more 
than 511 row and file locks.
Concurrency and Timeout Considerations
When you use MODIFY, avoid long-running concurrent transactions on the same 
object. Concurrency issues arise in two phases: during the data movement phase and 
during the commit phase.
During the data movement phase, if MODIFY is writing to an existing partition, 
MODIFY obtains row locks on data as it is written. If a concurrent application is also 
writing to the same partition, contention can occur. Either MODIFY or the application 
might experience timeouts if they each seek to access a row the other has locked. This 
situation is especially true if the application holds so many locks that DP2 attempts to 
escalate to a file lock or if the application transaction is long-running. If MODIFY times 
out, the command is terminated.
During the commit phase, MODIFY attempts to obtain exclusive locks on all partitions 
to update file labels. Again, if concurrent applications hold locks for long durations, 
MODIFY times out in its attempt, and the MODIFY command fails.










