|
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); |
|