Newsgroup: it.hobby.scacchi
Titolo: CB7: Problema!

Chi mi può aiutare?
Sto elaborando un file di circa 660.000 partite e ho il seguente problema:
l'analisi delle doppie ha trovato circa 45.000 da eliminare; dopo un
controllo decido di cancellare definitivamente le partite con il comando
"phisical deletion". Questa operazione comporta la riorganizzazione
(reorganize) e la rinumerazione di tutte le partite rimaste.
Il sesto passo di questa fase (deducibile dalle schermate di lavoro) prende
in considerazione le annotazioni: 6.Write games: annotations.
Quando arrivo quasi alla fine di questa fase si apre una finestra a
scorrimento "Internal messages" con le seguenti comunicazioni:
1.   (la linea è vuota)
2. CBA defect in game: 608543  (numero dlla partita)
3. GameLen = 126  (lunghezza della partita che arriva anche oltre 300)
4. Please run integrity test
5. come1
6  come 2 (altra partita
ecc
ecc
ecc
Questa finestra rimane aperta fino a quando il programma trova partite
difettose in CBA (o presunte tali). Se lascio andare il programma fino al
termine naturale alla fine trovo il file CBA lungo anche oltre  1Giga.
A questo punto normalmente il file è troppo grosso per poter consentire una
manipolazione dello stesso, e non mi è più possibile eseguire un sort del
file o un "check integrity".
Se il file CBA rimane di dimensioni contenute è sufficiente un "sort" e il
file CBA ritorna di dimensioni normali e il tutto riprende a funzionare.
E' possibile sospendere l'operazione di reorg e si ritorna alla fase prima
del phisical deletion, con tutte le mie doppie marcate e pronte da
eliminare. Se provo a fare un "check Integrity" non viene trovato nessun
errore.
Anche nel caso di un Sort (prima del phisical deletion), poichè è previsto
il reorganize, si presenta il problema  esposto.
Cosa succede?
Perchè non sempre succede (anche con database con un numero di partite
maggiore)?
Problema di scarsità di memoria?  (Ciryx200, 64MB DIMM)
Mai capitato?
ciao
Ettore



Mi e' successo diverse volte, ma con CB6! Con CB7 (aggiornamento
del 26 maggio scorso) non mi e' piu' successo.
Quando CB6 trovava partite "bacate" impazziva e iniziava a correggere
gli errori, arrivando pero' a creare file CBA o CBG (cioe' il file delle
annotazioni o quello delle partite) veramente mostruosi, in pratica mi
riempiva l'hard disk! Una volta un file CBG e' diventato di 2 GB!!!!
Soluzione: Bastava creare un nuovo database vuoto e poi copiare il vecchio
database nel nuovo (con il famoso "drag & drop"!) e il tutto tornava normale.
Ora con l'"Integrity Check" non ho avuto piu' problemi: Quando CB7 trova un
difetto lo corregge e modifica il database.
Tra l'altro, se usi CB7 e vuoi eliminare l'Integrity check quando esegui una
cancellazione fisica, basta che tu faccia clic su Stop e ti appare una finestra
di dialogo che ti chiede se vuoi interrompere l'Integrity check. 
Fai clic su Si', l'operazione si interrompe e CB7 esegue solo la
riorganizzazione del database.
Un'altra cosa: Come ho gia' detto parecchie volte, CB7 e' "avido" di memoria e
64 MB sono veramente il minimo per un database di 660.000 partite, intendo dire
il minimo per lavorare tranquilli!
Attualmente lavoro con un PIII a 450 Mhz con 256 MB di RAM e quando comincio
a lavorare con un database di 500.000 partite noto un rallentamento niente male!
il problema e' in parte di CB7 ma in MAGGIOR parte di quel "bidone" di Windows
98 che gestisce la RAM da cani!!!
Alcuni amici mi hanno detto che con Windows NT le cose vanno un po' meglio,
ma finora non ho mai verificato!
In ogni caso, per andare sicuri, consiglio sempre il "Divide et impera"!
Il mio database di lavoro attuale e' di piu' di 2.600.000 partite e per forza di
cose l'ho diviso in 9 database piu' piccoli, altrimenti per gestirlo senza
problemi mi ci vorrebbe un computer che non hanno ancora inventato
e 2 o 3 GB di RAM!
Saluti
Ivo