|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * IDENTIFICATION
|
11 |
| - * $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.15 2000/04/25 16:39:07 momjian Exp $ |
| 11 | + * $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.16 2000/10/24 00:08:02 tgl Exp $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -96,6 +96,8 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
|
96 | 96 | buf[nbytes]='\0';
|
97 | 97 | fprintf(stderr,">>> %s",buf);
|
98 | 98 | nread+=nbytes;
|
| 99 | +if (nbytes <=0) |
| 100 | +break;/* no more data? */ |
99 | 101 | }
|
100 | 102 | fprintf(stderr,"\n");
|
101 | 103 | lo_close(conn,lobj_fd);
|
@@ -126,6 +128,11 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
|
126 | 128 | {
|
127 | 129 | nbytes=lo_write(conn,lobj_fd,buf+nwritten,len-nwritten);
|
128 | 130 | nwritten+=nbytes;
|
| 131 | +if (nbytes <=0) |
| 132 | +{ |
| 133 | +fprintf(stderr,"\nWRITE FAILED!\n"); |
| 134 | +break; |
| 135 | +} |
129 | 136 | }
|
130 | 137 | fprintf(stderr,"\n");
|
131 | 138 | lo_close(conn,lobj_fd);
|
@@ -229,21 +236,24 @@ main(int argc, char **argv)
|
229 | 236 | /*lobjOid = importFile(conn, in_filename); */
|
230 | 237 | lobjOid=lo_import(conn,in_filename);
|
231 | 238 | if (lobjOid==0)
|
| 239 | +{ |
232 | 240 | fprintf(stderr,"%s\n",PQerrorMessage(conn));
|
| 241 | +} |
| 242 | +else |
| 243 | +{ |
| 244 | +printf("\tas large object %u.\n",lobjOid); |
233 | 245 |
|
234 |
| -printf("\tas large object %u.\n",lobjOid); |
235 |
| - |
236 |
| -printf("picking out bytes 1000-2000 of the large object\n"); |
237 |
| -pickout(conn,lobjOid,1000,1000); |
238 |
| - |
239 |
| -printf("overwriting bytes 1000-2000 of the large object with X's\n"); |
240 |
| -overwrite(conn,lobjOid,1000,1000); |
| 246 | +printf("picking out bytes 1000-2000 of the large object\n"); |
| 247 | +pickout(conn,lobjOid,1000,1000); |
241 | 248 |
|
| 249 | +printf("overwriting bytes 1000-2000 of the large object with X's\n"); |
| 250 | +overwrite(conn,lobjOid,1000,1000); |
242 | 251 |
|
243 |
| -printf("exporting large object to file \"%s\" ...\n",out_filename); |
244 |
| -/* exportFile(conn, lobjOid, out_filename); */ |
245 |
| -if (!lo_export(conn,lobjOid,out_filename)) |
246 |
| -fprintf(stderr,"%s\n",PQerrorMessage(conn)); |
| 252 | +printf("exporting large object to file \"%s\" ...\n",out_filename); |
| 253 | +/*exportFile(conn, lobjOid, out_filename); */ |
| 254 | +if (!lo_export(conn,lobjOid,out_filename)) |
| 255 | +fprintf(stderr,"%s\n",PQerrorMessage(conn)); |
| 256 | +} |
247 | 257 |
|
248 | 258 | res=PQexec(conn,"end");
|
249 | 259 | PQclear(res);
|
|