Re: OK to delete records while finding them?
This WebDNA talk-list message is from 2000
It keeps the original formatting.
numero = 32479
interpreted = N
texte = >Is there some inherent danger in deleting a record from a db within >a [founditems] loop which is finding>records in that same db?Yes, this is bad. When you do a [SEARCH], webcat creates an internal list of record numbers. It then uses that list to call up the info from the correct lines. If you do a [DELETE], the internal list stays the same, but the info that's really in the database is wrong.For example, let's say your search returns the first, second, and third records in a database:Sku123After the first [DELETE], your db might look like thisSKU23So on the next iteration, webcat will look at the second line. Instead of finding the record with SKU=2, it will find the record with SKU=3. Since it doesn't know you don't want that, bad things happen.A simple solution is to replace a field with a unique phrase/word and then delete all those records after the [FOUNDITEMS] loop is complete (this will preserve the line numbering):[SEARCH db=some.db&neSKUdatarq=[SKU]][FOUNDITEMS][REPLACE db=some.db&eqSKUdatarq=[SKU]]SKU=DELETEME[/REpLACE][/FOUNDITEMS][/SEARCH][DELETE db=some.dn&eqSKUdatarq=DELETEME]Michael-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list
.To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/
Associated Messages, from the most recent to the oldest:
>Is there some inherent danger in deleting a record from a db within >a [founditems] loop which is finding>records in that same db?Yes, this is bad. When you do a [search], webcat creates an internal list of record numbers. It then uses that list to call up the info from the correct lines. If you do a [delete], the internal list stays the same, but the info that's really in the database is wrong.For example, let's say your search returns the first, second, and third records in a database:Sku123After the first [delete], your db might look like thisSKU23So on the next iteration, webcat will look at the second line. Instead of finding the record with SKU=2, it will find the record with SKU=3. Since it doesn't know you don't want that, bad things happen.A simple solution is to replace a field with a unique phrase/word and then delete all those records after the [founditems] loop is complete (this will preserve the line numbering):[SEARCH db=some.db&neSKUdatarq=[SKU]][founditems][REPLACE db=some.db&eqSKUdatarq=[SKU]]SKU=DELETEME[/REpLACE][/FOUNDITEMS][/SEARCH][DELETE db=some.dn&eqSKUdatarq=DELETEME]Michael-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list .To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/
Michael Winston
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:
Variable Prices (1998)
WebCat2b13MacPlugIn - [include] doesn't allow creator (1997)
Static pages and store builder (2000)
[sendmail] ampersand issue (2001)
access denied problem (1997)
Problems with [Applescript] (1997)
WebCat2b13MacPlugIn - [shownext method=post] ??? (1997)
WebCat editing, SiteGuard & SiteEdit (1997)
OLD PROBLEM (1997)
WebMerchant 1.6 and SHTML (1997)
For those of you not on the WebCatalog Beta... (1997)
RE: [WebDNA] WebDNA app (2013)
RE: Missing contexts on NT (1997)
EMailFolder (2007)
Search for specific characters in a string (2005)
WebCat2b12 CGI Mac - [shownext] problem (1997)
Re:no [search] with NT (1997)
I am dumb. No see [variable] (2003)
wee problem (2001)
WebCatalog Hosting (1996)