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:
can WC render sites out? (1997)
Bug? (1997)
protect tag on NT IIS (1997)
syntax question, not in online refernce (1997)
Using Cookie for client specific info? (1997)
Interfacing WebMerchant to www.fedex.com (1997)
WebDNA for Dummies (was: WebDNA portability) (2007)
Webcat XML/XSLT Performance vs. static Html (2006)
html being uncooperative (2000)
Help! WebCat2 bug (1997)
Forms Search Questions (1997)
Re:Review comparison by PC Magazine: Open for On-line Business (1997)
Colocator Upgrading OS (2004)
Adding freight and percentages (2000)
[WebDNA] [BULK] Mac OS X LION has no FastCGI (2011)
[isfile] ? (1997)
WebCatalog for guestbook ? (1997)
Same Table Opened Twice (2003)
WebCatalog/Mac 2.1b2 New Features (1997)
Sorting by date (1997)