diff --git a/src/test/examples/testlo.c b/src/test/examples/testlo.c index 7700ce7883..181216bf78 100644 --- a/src/test/examples/testlo.c +++ b/src/test/examples/testlo.c @@ -8,7 +8,7 @@ * * * 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'; fprintf(stderr, ">>> %s", buf); nread += nbytes; + if (nbytes <= 0) + break; /* no more data? */ } fprintf(stderr, "\n"); 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); nwritten += nbytes; + if (nbytes <= 0) + { + fprintf(stderr, "\nWRITE FAILED!\n"); + break; + } } fprintf(stderr, "\n"); lo_close(conn, lobj_fd); @@ -229,21 +236,24 @@ main(int argc, char **argv) /* lobjOid = importFile(conn, in_filename); */ lobjOid = lo_import(conn, in_filename); if (lobjOid == 0) + { 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"); - pickout(conn, lobjOid, 1000, 1000); + printf("overwriting bytes 1000-2000 of the large object with X's\n"); + overwrite(conn, lobjOid, 1000, 1000); - printf("overwriting bytes 1000-2000 of the large object with X's\n"); - overwrite(conn, lobjOid, 1000, 1000); - - - 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)); + 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"); PQclear(res);