mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add some modicum of error detection...
This commit is contained in:
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.15 2000/04/25 16:39:07 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.16 2000/10/24 00:08:02 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -96,6 +96,8 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
|
|||||||
buf[nbytes] = '\0';
|
buf[nbytes] = '\0';
|
||||||
fprintf(stderr, ">>> %s", buf);
|
fprintf(stderr, ">>> %s", buf);
|
||||||
nread += nbytes;
|
nread += nbytes;
|
||||||
|
if (nbytes <= 0)
|
||||||
|
break; /* no more data? */
|
||||||
}
|
}
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
lo_close(conn, lobj_fd);
|
lo_close(conn, lobj_fd);
|
||||||
@ -126,6 +128,11 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
|
|||||||
{
|
{
|
||||||
nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten);
|
nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten);
|
||||||
nwritten += nbytes;
|
nwritten += nbytes;
|
||||||
|
if (nbytes <= 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "\nWRITE FAILED!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
lo_close(conn, lobj_fd);
|
lo_close(conn, lobj_fd);
|
||||||
@ -229,21 +236,24 @@ main(int argc, char **argv)
|
|||||||
/* lobjOid = importFile(conn, in_filename); */
|
/* lobjOid = importFile(conn, in_filename); */
|
||||||
lobjOid = lo_import(conn, in_filename);
|
lobjOid = lo_import(conn, in_filename);
|
||||||
if (lobjOid == 0)
|
if (lobjOid == 0)
|
||||||
|
{
|
||||||
fprintf(stderr, "%s\n", PQerrorMessage(conn));
|
fprintf(stderr, "%s\n", PQerrorMessage(conn));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("\tas large object %u.\n", lobjOid);
|
||||||
|
|
||||||
printf("\tas large object %u.\n", lobjOid);
|
printf("picking out bytes 1000-2000 of the large object\n");
|
||||||
|
pickout(conn, lobjOid, 1000, 1000);
|
||||||
|
|
||||||
printf("picking out bytes 1000-2000 of the large object\n");
|
printf("overwriting bytes 1000-2000 of the large object with X's\n");
|
||||||
pickout(conn, lobjOid, 1000, 1000);
|
overwrite(conn, lobjOid, 1000, 1000);
|
||||||
|
|
||||||
printf("overwriting bytes 1000-2000 of the large object with X's\n");
|
printf("exporting large object to file \"%s\" ...\n", out_filename);
|
||||||
overwrite(conn, lobjOid, 1000, 1000);
|
/* exportFile(conn, lobjOid, out_filename); */
|
||||||
|
if (!lo_export(conn, lobjOid, out_filename))
|
||||||
|
fprintf(stderr, "%s\n", PQerrorMessage(conn));
|
||||||
printf("exporting large object to file \"%s\" ...\n", out_filename);
|
}
|
||||||
/* exportFile(conn, lobjOid, out_filename); */
|
|
||||||
if (!lo_export(conn, lobjOid, out_filename))
|
|
||||||
fprintf(stderr, "%s\n", PQerrorMessage(conn));
|
|
||||||
|
|
||||||
res = PQexec(conn, "end");
|
res = PQexec(conn, "end");
|
||||||
PQclear(res);
|
PQclear(res);
|
||||||
|
Reference in New Issue
Block a user