[gl-como] Progetto fase 1

Riccardo (SCASI) r.penco@scasinet.com
Lun 25 Giu 2007 11:50:06 CEST


Pirla ha scritto:
> Ciao,
> 
> ho già pronta la fase 1 del progetto.
> In allegato trovate la prima tabella del DB e uno script in perl che
> inserisce un file nel DB.
> Con questa fase, a parte qualche controllo in più che dovrei mettere,
> saremmo già in grado di capire se il file che viene catalogato è un
> potenziale duplicato di un'altro.
> 
> Fatemi sapere se riuscite a provarlo.
> 
> 
> 
> ------------------------------------------------------------------------

Non ho provato il programmino in perl (perche' il perl?!?), pero' ho 
dato un'occhiata ai file allegati ed espongo le mie considerazioni:

1) ho notato che path e' varchar(255) mentre io lo farei varchar(4096):

da man realpath:

               #ifdef PATH_MAX
                 path_max = PATH_MAX;
               #else
                 path_max = pathconf (path, _PC_PATH_MAX);
                 if (path_max <= 0)
                   path_max = 4096;
               #endif



2) metterei altri campi:

a) realpath varchar(4096)
che rappresenta appunto il path 'reale' del file (risolve link 
simbolici, './' e '../' etc), questo per evitare i record duplicati che 
avrei con procedimenti analoghi al seguente:

ins_file.pl file_di_prova
ins_file.pl ./file_di_prova
cd dir
ins_file.pl ../file_di_prova
etc etc

b) potrebbe essere interessante avere un campo 'hardlink' per sapere se 
un file e' appunto un hardlink ad un altro (nel qual caso sarebbe 
opportuno mettere, imho, anche device (major:minor) e inode-number)

[root@fileserver dff]# touch a
[root@fileserver dff]# ln a b
[root@fileserver dff]# ll -i a b
52854899 -rwxr-xr-x 2 root root 5187 25 giu 11:45 a
52854899 -rwxr-xr-x 2 root root 5187 25 giu 11:45 b

eventualmente anche altre informazioni 'fisiche' (cioe' non legate al 
tipo di file), tipo dimensione, le varie date etc etc

my .01 €
riki

PS: ho notato inoltre che non avete ascoltato il mio consiglio di _non_ 
utilizzare MySQL :)


Maggiori informazioni sulla lista gl-como