[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