#526: Evitar borrar la configuración de cliente antes de regenerarla.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4267 a21b9725-9963-47de-94b9-378ad31fedc9
master
ramon 2014-05-14 15:56:56 +00:00
parent 28cc16b3d8
commit 9a2dc88ecb
1 changed files with 5 additions and 15 deletions

View File

@ -735,17 +735,7 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
char *disk, *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición
char modulo[] = "actualizaConfiguracion()";
// UHU - 2013/06/05 - se borra la configuracion actual
sprintf(sqlstr, "DELETE FROM ordenadores_particiones WHERE idordenador=%d", ido);
// Ejecutamos la consulta
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);
errorInfo(modulo, msglog);
return (FALSE);
}
lon = sprintf(tbPar, "(");
lon = 0;
p = splitCadena(ptrPar, cfg, '\n');
for (i = 0; i < p; i++) {
c = splitCadena(ptrCfg, ptrPar[i], '\t');
@ -784,7 +774,7 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
splitCadena(ptrDual, ptrCfg[5], '=');
tam = ptrDual[1]; // Tamaño de la partición
lon += sprintf(tbPar + lon, "%s,", par);
lon += sprintf(tbPar + lon, "(%s, %s),", disk, par);
sprintf(sqlstr, "SELECT numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso"
" FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
@ -858,10 +848,10 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
}
}
}
lon += sprintf(tbPar + lon, "%d)", 0);
lon += sprintf(tbPar + lon, "(0,0)");
// Eliminar particiones almacenadas que ya no existen
sprintf(sqlstr, "DELETE FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar NOT IN %s",
ido, disk, tbPar);
sprintf(sqlstr, "DELETE FROM ordenadores_particiones WHERE idordenador=%d AND (numdisk, numpar) NOT IN (%s)",
ido, tbPar);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);