RE: Can a database get stomped by simultaneous access?
This WebDNA talk-list message is from 1997
It keeps the original formatting.
numero = 13039
interpreted = N
texte = Curt -Yes, WebCatalog should always perform the database operations for that template completely before doing them again for another request, even if they come in at the same time; it's smart enough to prevent your databases from getting munged up for simultaneous requests.Are you seeing two entries for the same cart number despite the [HideIf] context?thanks,Marc EagleStarNine Technologieshttp://www.smithmicro.com/>We use a database to maintain an incremental counter we use as an invoice>order number with our webcat online orders, but we have had problems in>which every so often (we suspect it could be when we need to restart) we >get duplicate numbers for the counter in that database. The>ourDBs/Invoice_Counter_No.db contains just two fields [CART] and>[InvoiceNo] it started with a 0 value for a cart (which gets replaced by >the cart generated by webcat) and the desired invoice number we wish to>start from when we brought our online system up.>>Below is a sample code snippet of what we do:>>[CLOSEDATABASE ourDBs/Invoice_Counter_No.db]>[HideIf [lookup>db=OurDBs/Invoice_Counter_No.db&Value=[CART]&lookInField=CART&returnField=C>ART¬Found=0]=[CART]]>[Replace db=OurDBs/Inv_Receipt_No.db&eqCARTdata=0]CART=[CART][/Replace]>[Append db=OurDBs/Invoice_Counter_No.db]CART=0&InvoiceNo=[math][lookup>db=OurDBs/Invoice_Counter_No.db&Value=[CART]&lookInField=CART&returnFiel>d=InvoiceNo]+1[/math][/append][/Hideif]>>>The question is if we add a [closedatabase ourDBs/Invoice_Counter_No.db] >form after this operation could two customers simultaneously trying to>place an order stomp this database? Is webcat smart enough to keep a>database open if an operation is occurring on it even though another>customer may have hit the closedatabase form from another order?>>Curt
Associated Messages, from the most recent to the oldest:
Curt -Yes, WebCatalog should always perform the database operations for that template completely before doing them again for another request, even if they come in at the same time; it's smart enough to prevent your databases from getting munged up for simultaneous requests.Are you seeing two entries for the same cart number despite the
[hideif] context?thanks,Marc EagleStarNine Technologieshttp://www.smithmicro.com/>We use a database to maintain an incremental counter we use as an invoice>order number with our webcat online orders, but we have had problems in>which every so often (we suspect it could be when we need to restart) we >get duplicate numbers for the counter in that database. The>ourDBs/Invoice_Counter_No.db contains just two fields
[cart] and>[InvoiceNo] it started with a 0 value for a cart (which gets replaced by >the cart generated by webcat) and the desired invoice number we wish to>start from when we brought our online system up.>>Below is a sample code snippet of what we do:>>[CLOSEDATABASE ourDBs/Invoice_Counter_No.db]>[HideIf [lookup>db=OurDBs/Invoice_Counter_No.db&Value=
[cart]&lookInField=CART&returnField=C>ART¬Found=0]=
[cart]]>[Replace db=OurDBs/Inv_Receipt_No.db&eqCARTdata=0]CART=
[cart][/Replace]>[Append db=OurDBs/Invoice_Counter_No.db]CART=0&InvoiceNo=
[math][lookup>db=OurDBs/Invoice_Counter_No.db&Value=
[cart]&lookInField=CART&returnFiel>d=InvoiceNo]+1[/math][/append][/Hideif]>>>The question is if we add a [closedatabase ourDBs/Invoice_Counter_No.db] >form after this operation could two customers simultaneously trying to>place an order stomp this database? Is webcat smart enough to keep a>database open if an operation is occurring on it even though another>customer may have hit the closedatabase form from another order?>>Curt
Marc Eagle
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Date search bug (1998)
Erotic Sites (1997)
Errata: WCS Newbie question (1997)
Beta less tested (was $flushcache causes crash) (2000)
Replace context problem ... and answers (1997)
Bug or syntax error on my part? (1997)
hidden databases (2000)
WebCat2 - [format thousands] (1997)
Webmerchant PC auth (1998)
BannerAds demo (1998)
Exclamation point (1997)
[middle] (2000)
Updating checkboxes made easy !!! (1998)
TCPConnect / Current Temperature (2004)
Country & Ship-to address & other fields ? (1997)
WC2b15 File Corruption (1997)
RE: PDF (1999)
Doctype (2004)
Frames and WebCat (1997)
WebCatalog2 Feature Feedback (1996)