RE: [U2] Locks in a transaction
It would defeat the entire purpose of a transactions to allow a lock to be released during a transaction. Specifically, as the purpose is keep all related updates within the same transaction. If this next key update function does not need or *should* not to be rolled back, then this shouldn't be part of the transaction at all. I'm guessing a rollback of this key would cause serious implications. :-) As Stuart suggests...a redesign of update process to make the transaction smaller maybe your only course of action. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Boydell, Stuart Sent: Thursday, May 10, 2007 11:11 AM To: u2-users@listserver.u2ug.org Cc: [EMAIL PROTECTED] Subject: RE: [U2] Locks in a transaction Make sure that you do as little processing as possible within the actual transaction so that the transaction is short and sweet. Other than that, there is absolutely no way a lock should be released before a transaction completes. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Locks in a transaction
Make sure that you do as little processing as possible within the actual transaction so that the transaction is short and sweet. Other than that, there is absolutely no way a lock should be released before a transaction completes. >-Original Message- >REPOSTED FOR NON-MEMBER: Greg Livingston <[EMAIL PROTECTED]> > >I have a routine that runs in a transaction. Within the transaction I call a routine that >generates the next sequential number for the record key. The problem I'm having is >that one of my customer records has so many transaction to process that it holds the >lock on the key generation program and my other users then hang as they are waiting >for the record to unlock. Does anyone know a way of releasing the lock on a record >with in a transaction before the final commit? ** This email message and any files transmitted with it are confidential and intended solely for the use of addressed recipient(s). If you have received this communication in error, please reply to this e-mail to notify the sender of its incorrect delivery and then delete it and your reply. It is your responsibility to check this email and any attachments for viruses and defects before opening or sending them on. Spotless collects information about you to provide and market our services. For information about use, disclosure and access, see our privacy policy at http://www.spotless.com.au Please consider our environment before printing this email. ** --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] Locks in a transaction
I inherited a bunch of problematic "final commits". Per the following, consider performing a "Lock.And.Write" as users change individual fields within a record. --Bill *--- SUBROUTINE SUB.LOCK.AND.WRITE.R1 ( R.This, This.File, Record.ID ) prompt '' open This.File to F.This.File else gosub Error.Opening.File gosub Lock.And.Write goThe.End *--- -- *--- -- Lock.And.Write: Lock.Test = recordlocked (F.This.File, Record.ID) begin case case Lock.Test = 0 ;recordlocku F.This.File, Record.ID write R.This on F.This.File, Record.ID release F.This.File, Record.ID case 1; gosub Error.Record.Locking end case return *--- --- Error.Opening.File: crt @(-1) crt @(-5) crt crt crt crt crt crt crt crt crt crt crt crt ' Big Problem...' : @(-6) crt crt ' _ ' crt ' \\ ' : This.File crt ' \ Error Opening File \' crt ' \\Contact HK.IT ' crt ' [X] ' crt '' : input Ans, 1 Ans = upcase(Ans) begin case case Ans = 'X' ; null case 1 ; go Error.Opening.File end case return to The.End *--- --- Error.Record.Locking: crt @(-1) crt @(-5) crt crt crt crt crt crt crt crt crt crt ' Big Problem...' : @(-6) crt crt ' _ ' crt ' \\ ' : This.File crt ' \ Error, Record Lock \' crt ' \\Contact HK.IT ' crt crt ' Open New Gull Session, Try UNLOCK.ME ' crt ' [X] ' crt ' ' : input Ans, 1 Ans = upcase(Ans) begin case case Ans = 'X' ; null case 1 ; go Error.Record.Locking end case return to The.End *--- --- The.End: RETURN END -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Moderator Sent: Wednesday, May 09, 2007 6:10 AM To: u2-users@listserver.u2ug.org Subject: [U2] Locks in a transaction REPOSTED FOR NON-MEMBER: Greg Livingston <[EMAIL PROTECTED]> I have a routine that runs in a transaction. Within the transaction I call a routine that generates the next sequential number for the record key. The problem I'm having is that one of my customer records has so many transaction to process that it holds the lock on the key generation program and my other users then hang as they are waiting for the record to unlock. Does anyone know a way of releasing the lock on a record with in a transaction before the final commit? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] Locks in a transaction
The order I use is to build the key by using a routine, then cut the KEY record lock loose, followed by a RECORDLOCK on the transaction to be written. We do a similar function, and have not seen signficant wait times. If you're already doing that, I'm not sure what could be occurring. john On 5/9/07, Moderator <[EMAIL PROTECTED]> wrote: REPOSTED FOR NON-MEMBER: Greg Livingston <[EMAIL PROTECTED]> I have a routine that runs in a transaction. Within the transaction I call a routine that generates the next sequential number for the record key. The problem I'm having is that one of my customer records has so many transaction to process that it holds the lock on the key generation program and my other users then hang as they are waiting for the record to unlock. Does anyone know a way of releasing the lock on a record with in a transaction before the final commit? --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ -- john --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/