thank ya boys... ill mess around with this tonight... and let ya know
what i figure out...

tw


On Tue, 8 Mar 2005 09:24:18 -0600, Andy Ousterhout <[EMAIL PROTECTED]> wrote:
> Just wrap an exclusive lock around the transaction.  Make it a named lock
> that will cross all sessions.
> 
> -----Original Message-----
> From: Tony Weeg [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 08, 2005 7:46 AM
> To: CF-Talk
> Subject: Re: cftransaction... it wasnt safe?
> 
> :) thank you adam...
> 
> any idea, how i could restructure it to achieve that?
> 
> thanks.
> tony
> 
> On Tue, 8 Mar 2005 07:27:37 -0500, Adam Haskell <[EMAIL PROTECTED]> wrote:
> > I think your concept of how cftransaction works is faulty. The way
> > this is set up it is not keeping 2 Select max(acctno) happening prior
> > to inserting a new record.
> >
> > Adam H
> >
> >
> > On Mon, 7 Mar 2005 23:00:02 -0500, Tony Weeg <[EMAIL PROTECTED]> wrote:
> > > hi there...
> > >
> > > i have this section of code... that is enrobed in a cftransaction block
> > > that somehow today, was caught in a race condition... meaning...
> > >
> > > i have two records with the same acctNo, and there should only
> > > be one!
> > >
> > > my first thought, now that i look over the code... would it be better
> > > for me to use the request scope for the setting of the newAcctNo?
> > >
> > > help... thanks!
> > >
> > > tony
> > >
> > > <cftransaction>
> > >
> > >        <cfquery name="getNewAcctNo" datasource="webCollect">
> > >                   select max(acctNo) as thisAccountNumber from accts
> > >        </cfquery>
> > >
> > >        <!--- sets the new acct number, which is simply, highest current
> one,
> > > plus one. --->
> > >        <!--- this is different than the identity id field... so that i
> can
> > > move it to something
> > >        else someday :) --->
> > >        <cfset newAcctNo = getNewAcctNo.thisAccountNumber + 1>
> > >
> > >        <!--- this query adds the new account information. --->
> > >        <cfquery name="addAccount" datasource="webCollect">
> > >                insert into accts
> > >                (acctNo, clientNumber, debtorNumber, dateIncurred,
> dateAssigned,
> > > dateLastPayment, amountLastPayment, attyFee_actual, principal,
> > > preJudgementInt, countyId, balance, attyFeeClaimed, csrId)
> > >                values
> (#newAcctNo#,#form.clientNumber#,#form.debtorNumber#,'#form.dateIncurred#','#
> form.dateAssigned#','#form.dateLastPayment#',#form.amountLastPayment#,#reques
> t.attyFee_actual#,#form.principal#,#form.preJudgementInt#,#countyId#,#form.pr
> incipal#,
> > > #form.attyFeeClaimed#, #form.csrId#)
> > >        </cfquery>
> > >
> > >        <!--- i commit it at this point, so that any future requests will
> not
> > > take my new number, and frankly
> > >        im done with it... another request would be valid at this point,
> and
> > > they could get at it... --->
> > > <cftransaction action = "commit"/>
> > >
> > >        <!--- i then use this to get the new identity value --->
> > >        <cfquery name="getNewId" datasource="webCollect">
> > >                select @@identity as newAcctId from accts
> > >        </cfquery>
> > >        <!--- and finally get the acct number to validate that it was in
> fact
> > > a good transaction --->
> > >        <cfquery name="getNewAccountNumber" datasource="webCollect">
> > >                select acctNo from accts where id = #getNewId.newAcctId#
> > >        </cfquery>
> > >
> > > </cftransaction>
> > >
> > > --
> > > tony
> > >
> > > Tony Weeg
> > >
> > > macromedia certified coldfusion mx developer
> > > email: tonyweeg [at] gmail [dot] com
> > > blog: http://www.revolutionwebdesign.com/blog/
> > > cool tool: http://www.antiwrap.com
> > >
> > > "He who makes a beast of himself saves himself the
> > > pain of being a man..."
> > >
> > >                          --Hunter S. Thompson.
> > >
> > >
> >
> >
> 
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197839
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to