tengo un script que lee un archivo csv (el cual debido a su volumen de datos) lo particiono, y llamo multiples veces a un segundo script que carga por separado cada particion, la procesa y almacena en la base de datos dependiendo de los resultados del cruce de los datos del csv con registros preexistentes en la BD
mientras validaba manualmente la importacion note que varios subconjuntos no se estaban insertando
el error ocurria en
Código PHP:
$result=pg_query("select * from tabla1 ua left join tabla2 uaol on (uaol.id=ua.id) left join tabla 3 sc on (sc.id=ua.scale) where name='".$nameex."' and foreign_id=".$id.";");
if ($row2=pg_fetch_array($result)){
// mas procesos
}
else{
almacena_mensaje_error.log();
}
Código PHP:
$query="select * from tabla1 ua left join tabla2 uaol on (uaol.id=ua.id) left join tabla 3 sc on (sc.id=ua.scale) where name='".$nameex."' and foreign_id=".$id.";"
$result=pg_query($query);
if ($row2=pg_fetch_array($result)){
// mas procesos
}
else{
almacena_mensaje_error.log();echo $query;
}
lo reescribi nuevamente
Código PHP:
$result=pg_query("select * from tabla1 ua left join tabla2 uaol on (uaol.id=ua.id) left join tabla 3 sc on (sc.id=ua.scale) where name='".$nameex."' and foreign_id=".$id.";");
if (pg_num_rows($result)>0){
echo pg_num_rows($result);
$row2=pg_fetch_array($result);
var_dump($row2);
// mas procesos
}
else{
almacena_mensaje_error.log();
}
debo indicar 2 cosas
*es un proyecto privado por lo que no puedo dar mas detalles sobre las tablas y sus contenidos
*el script corre bien en mi maquina local, pero en la del cliente surge el error, no tengo autorizacion para manipular las instalaciones en esa maquina
agradezco cualquier ayuda, saludos
EDIT: encontre la razon del comportamiento extraño, unas lineas antes tenia una condicion de excepcion para terminar el ciclo en caso de un valor repetido, la cual habia quedado mal hecha y encapsulaba al pg_query por lo que la query solo se ejecutaba al repetir los valores y el fetch se ejecutaba fuera de rango en valores posteriores a los repetidos