DBA Data[Home] [Help]

APPS.FND_FLEX_SERVER dependencies on DBMS_LOCK

Line 5502: -- Bug 4725016 dbms_lock.allocate_unique issues a commit, this

5498: END get_kfv_concat_segs_by_rowid;
5499:
5500:
5501: -- ==============================================================
5502: -- Bug 4725016 dbms_lock.allocate_unique issues a commit, this
5503: -- is a problem during transactionis that are opening cursors
5504: -- with 'select on update'. A commit issued at this point
5505: -- can invalidate those types of cursors. We created a private
5506: -- package that uses autonomous transaction that then calls

Line 5507: -- dbms_lock.allocate_unique. In this way the commit will not

5503: -- is a problem during transactionis that are opening cursors
5504: -- with 'select on update'. A commit issued at this point
5505: -- can invalidate those types of cursors. We created a private
5506: -- package that uses autonomous transaction that then calls
5507: -- dbms_lock.allocate_unique. In this way the commit will not
5508: -- affect the cursor.
5509: -- ==============================================================
5510: PROCEDURE autonomous_allocate_unique(p_lock_name IN VARCHAR2,
5511: px_lock_handle IN OUT nocopy VARCHAR2)

Line 5516: dbms_lock.allocate_unique(lockname => p_lock_name,

5512: IS
5513: PRAGMA AUTONOMOUS_TRANSACTION;
5514: BEGIN
5515:
5516: dbms_lock.allocate_unique(lockname => p_lock_name,
5517: lockhandle => px_lock_handle,
5518: expiration_secs => 1*24*60*60); -- 1 day.
5519:
5520: COMMIT;

Line 5533: l_lock_status := dbms_lock.request(lockhandle => px_lock_handle,

5529: BEGIN
5530:
5531: autonomous_allocate_unique(p_lock_name, px_lock_handle);
5532:
5533: l_lock_status := dbms_lock.request(lockhandle => px_lock_handle,
5534: lockmode => dbms_lock.x_mode,
5535: timeout => dbms_lock.maxwait,
5536: release_on_commit => FALSE);
5537:

Line 5534: lockmode => dbms_lock.x_mode,

5530:
5531: autonomous_allocate_unique(p_lock_name, px_lock_handle);
5532:
5533: l_lock_status := dbms_lock.request(lockhandle => px_lock_handle,
5534: lockmode => dbms_lock.x_mode,
5535: timeout => dbms_lock.maxwait,
5536: release_on_commit => FALSE);
5537:
5538: IF (l_lock_status <> 0) THEN

Line 5535: timeout => dbms_lock.maxwait,

5531: autonomous_allocate_unique(p_lock_name, px_lock_handle);
5532:
5533: l_lock_status := dbms_lock.request(lockhandle => px_lock_handle,
5534: lockmode => dbms_lock.x_mode,
5535: timeout => dbms_lock.maxwait,
5536: release_on_commit => FALSE);
5537:
5538: IF (l_lock_status <> 0) THEN
5539: raise_application_error(-20001,

Line 5541: '. dbms_lock.request() returned : ' ||

5537:
5538: IF (l_lock_status <> 0) THEN
5539: raise_application_error(-20001,
5540: 'Unable to request lock ' || p_lock_name ||
5541: '. dbms_lock.request() returned : ' ||
5542: l_lock_status);
5543: END IF;
5544: END request_lock;
5545:

Line 5552: l_lock_status := dbms_lock.release(lockhandle => p_lock_handle);

5548: p_lock_handle IN VARCHAR2)
5549: IS
5550: l_lock_status INTEGER;
5551: BEGIN
5552: l_lock_status := dbms_lock.release(lockhandle => p_lock_handle);
5553:
5554: IF (l_lock_status <> 0) THEN
5555: raise_application_error(-20001,
5556: 'Unable to release lock ' || p_lock_name ||

Line 5557: '. dbms_lock.release() returned : ' ||

5553:
5554: IF (l_lock_status <> 0) THEN
5555: raise_application_error(-20001,
5556: 'Unable to release lock ' || p_lock_name ||
5557: '. dbms_lock.release() returned : ' ||
5558: l_lock_status);
5559: END IF;
5560: END release_lock;
5561: