When multiple transactions need to perform work that requires a nonshareable lock
on the same object, Teradata Database controls concurrency by:
Granting a lock to the transaction that requests access to first.
Queuing subsequent transactions in order of their arrival, such that they wait indefinitely
until preceding query completes and a new lock can be granted, with these exceptions:
Requests identified with the LOCKING modifier NOWAIT option immediately abort rather
than join the queue.
MultiLoad transactions can timeout after waiting for over 50 seconds. See Teradata MultiLoad Reference.
Aborting the younger request(s) among deadlocked requests. Deadlocking occurs when
multiple requests need access to several of the same objects, each request has a lock
on one of the objects, and is locked out of at least one of the objects, such that
none of the requests can complete.
Releasing the lock and granting a new lock to the oldest transaction in the queue,
when the current transaction completes.
For a complete discussion of locks and locking, see SQL Request and Transaction Processing.