Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Corrupt indexes?
Message
De
08/09/1997 16:46:48
 
 
À
08/09/1997 14:47:45
Information générale
Forum:
Visual FoxPro
Catégorie:
Problèmes
Divers
Thread ID:
00048994
Message ID:
00049048
Vues:
62
>>>>Friday afternoon my manager brought to me a report that was leaving out one of our members. The report had 2 filters: one of them being a date field. I opened the table, browsed all members, and the member was there. I browsed using the 2 filters in the report, he wasn't there. Browsed using only one of the 2 filters, he's there. Browsed using the other (the date field), he's not. All of this is after proofing that the values in the fields being filtered are as expected. I even cut and pasted values from records that _did_ show up in the queries into the offending record to no avail. OK, I figure... something is messed up with the index, so after everybody went home, I reindexed. Voila! the member shows up. Well... s**t happens, so I went home. But today, there is another record in the same table that is doing the same thing. (but on different fields). What is going on? Could a funky piece of code cause an index to leave out records?
>>>>PLease help... this random 'forgetting' of records just will not do. Thanks
>>>>
>>>>Erik
>>>
>>>I can guess only. If you have report filters (like REPORT FORM ... FOR) and SET ORDER TO TAG ...., and this tag has filter expression itself, you actually add one more filter, i.e. depending what tag is active you can get different results. Could it be the case?
>>
>>The problem is not with the report, but with VFP itself. The record won't show up in a browse with a condition on the offending field or even with a seek on that field, but with a browse that doesn't look at the value in that field, it shows up.
>>
>>And Dave- Yes, I reindexed Friday and that fixed the first occurence, but it has happened again today with another record. I suspect that reindexing again will again fix the problem, but give no clue as to why this is happening in the first place. BTW- this is a huge table with about 40 indexes... it is NOT practical to reindex daily. Another side note: I reindex from scratch, using SDT's reindex() method.
>
>40 indexes!? Surely, there is no limit here, but it seems to me like a huge number. BTW, do you use CDX? Do you use filter expression for some tags? (sorry, for simple questions, I just try to make the problem clearer).

Yes, I use a CDX. Just looked back, and the table uses 30 indexes. I had removed some that were not being used anymore. Most of the indexes are simple, but there are about 6-7 compound indexes also. The only filter expression (if I understand your meaning correctly) used in a tag is 'deleted()' . Do you think that the sheer number of indexes could be part of the problem? I hope not, because everyone of the indexes left is important, and makes the difference between 1 second and 10 minute search times. Thanks.

Erik
Erik Moore
Clientelligence
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform