Pascal Georges wrote: Hi Pascal, > Hi, > > Does "File -> Maintenance -> Repair base" works in that case ?
In response to both your replies: It is already some time ago that it happened and consequences did not seem bad enough to report at that time; I cannot remember exactly, except that I felt pretty stupid. I somehow got the recommendation from scid to run the repair tool shortly (or even immediately?) after spelling correction was stopped. I cannot tell whether the database was closed and re-opened in between. So I did, and then the repair tool reported at closure that for a few games (if I remember correctly it was like only 5 games at the end of the game list) player names could not be recovered. Not good, but not too bad luck either, I thought. Recently, after adding another few bunches of games and downloading a fresh .ssp, I decided it was time to do some player name correction again. The result - without any errors being reported this time - is a mess. Fortunately I do still have something to restore... A at the code: The operation (tkscid.cpp/sc_name_correct) is split into three steps 1) Create a mapping from old id's onto new id's. 2) Write the file with new id's 3) Do the replacements in the game file. The latter operation can be interrupted. This is no good, unless during the id file writing (step 2) BOTH the old and new id's are written. I cannot see how this is Guaranteed (with capital G) in all cases. If not, upon interruption there is a fair chance that the game base will contain both old and new id's for the same player. This can be reproduced by a scenario in which both old player names A and B map onto new player name A. My educated guess is that in the new name file, player B will have ceased to exist. What happens to all those games that referred to player B in the past that were not touched due to the interruption? The only way out I see is either securely writing both the old and (unique!, step 1) new Id's into the name file in step 2, or not allowing the interruption in step 3. Furthermore, in the former solution a further name base compaction would be required (to actually remove player B if all his games were correctly touched). Cheers, Joost. > > Pascal > > 2009/7/8 Joost 't Hart <joost.t.h...@planet.nl > <mailto:joost.t.h...@planet.nl>> > > Hi, > > I successfully corrupted my reference database by hitting the "Cancel" > button during the correction phase of the player name spell checker. > > In short, the button should not be there, or at least not be sensitive > to mouse clicks. It cancels the game-by-game operation, but it will > leave the game base and the name base in inconsistent state. > > I will post a fix soon. Until such moment, beware. > > Cheers, > Joost. > > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited > time, > vendors submitting new applications to BlackBerry App World(TM) > will have > the opportunity to enter the BlackBerry Developer Challenge. See > full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Scid-users mailing list > Scid-users@lists.sourceforge.net > <mailto:Scid-users@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/scid-users > > ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Scid-users mailing list Scid-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scid-users