Commit 56aa84a6 authored by Tom Lane's avatar Tom Lane

Fix ancient error in large objects usage example: overwrite() subroutine

was opening with INV_READ flag and then writing.  Prior to 8.1 the backend
did not reject this, but now it does.
parent 9356877b
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/lobj.sgml,v 1.37 2005/06/13 02:26:46 tgl Exp $ $PostgreSQL: pgsql/doc/src/sgml/lobj.sgml,v 1.38 2006/03/02 21:49:09 tgl Exp $
--> -->
<chapter id="largeObjects"> <chapter id="largeObjects">
...@@ -527,7 +527,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len) ...@@ -527,7 +527,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
int nwritten; int nwritten;
int i; int i;
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_WRITE);
if (lobj_fd &lt; 0) if (lobj_fd &lt; 0)
{ {
fprintf(stderr, &quot;can't open large object %d\n&quot;, fprintf(stderr, &quot;can't open large object %d\n&quot;,
...@@ -553,7 +553,8 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len) ...@@ -553,7 +553,8 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
} }
/* /*
* exportFile * export large object &quot;lobjOid&quot; to file &quot;out_filename&quot; * exportFile
* export large object &quot;lobjOid&quot; to file &quot;out_filename&quot;
* *
*/ */
void void
...@@ -566,7 +567,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename) ...@@ -566,7 +567,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
int fd; int fd;
/* /*
* create an inversion &quot;object&quot; * open the large object
*/ */
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd &lt; 0) if (lobj_fd &lt; 0)
...@@ -586,7 +587,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename) ...@@ -586,7 +587,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
} }
/* /*
* read in from the Unix file and write to the inversion file * read in from the inversion file and write to the Unix file
*/ */
while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) &gt; 0) while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) &gt; 0)
{ {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/test/examples/testlo.c,v 1.25 2004/12/31 22:03:58 pgsql Exp $ * $PostgreSQL: pgsql/src/test/examples/testlo.c,v 1.26 2006/03/02 21:49:09 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -113,7 +113,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len) ...@@ -113,7 +113,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
int nwritten; int nwritten;
int i; int i;
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_WRITE);
if (lobj_fd < 0) if (lobj_fd < 0)
fprintf(stderr, "can't open large object %u", lobjId); fprintf(stderr, "can't open large object %u", lobjId);
...@@ -156,7 +156,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename) ...@@ -156,7 +156,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
int fd; int fd;
/* /*
* create an inversion "object" * open the large object
*/ */
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd < 0) if (lobj_fd < 0)
...@@ -173,7 +173,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename) ...@@ -173,7 +173,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
} }
/* /*
* read in from the Unix file and write to the inversion file * read in from the inversion file and write to the Unix file
*/ */
while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) > 0) while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) > 0)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment