Thread: pgsql: Adjust lo_open() so that specifying INV_READ without INV_WRITE

pgsql: Adjust lo_open() so that specifying INV_READ without INV_WRITE

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Adjust lo_open() so that specifying INV_READ without INV_WRITE creates
a descriptor that uses the current transaction snapshot, rather than
SnapshotNow as it did before (and still does if INV_WRITE is set).
This means pg_dump will now dump a consistent snapshot of large object
contents, as it never could do before.  Also, add a lo_create() function
that is similar to lo_creat() but allows the desired OID of the large
object to be specified.  This will simplify pg_restore considerably
(but I'll fix that in a separate commit).

Modified Files:
--------------
    pgsql/doc/src/sgml:
        lobj.sgml (r1.36 -> r1.37)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/lobj.sgml.diff?r1=1.36&r2=1.37)
    pgsql/src/backend/libpq:
        be-fsstubs.c (r1.77 -> r1.78)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/libpq/be-fsstubs.c.diff?r1=1.77&r2=1.78)
    pgsql/src/backend/storage/large_object:
        inv_api.c (r1.110 -> r1.111)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c.diff?r1=1.110&r2=1.111)
    pgsql/src/include/catalog:
        catversion.h (r1.273 -> r1.274)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.273&r2=1.274)
        pg_proc.h (r1.365 -> r1.366)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.365&r2=1.366)
    pgsql/src/include/libpq:
        be-fsstubs.h (r1.23 -> r1.24)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/libpq/be-fsstubs.h.diff?r1=1.23&r2=1.24)
    pgsql/src/include/storage:
        large_object.h (r1.31 -> r1.32)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/large_object.h.diff?r1=1.31&r2=1.32)
    pgsql/src/interfaces/libpq:
        exports.txt (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/exports.txt.diff?r1=1.3&r2=1.4)
        fe-lobj.c (r1.52 -> r1.53)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-lobj.c.diff?r1=1.52&r2=1.53)
        libpq-fe.h (r1.117 -> r1.118)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/libpq-fe.h.diff?r1=1.117&r2=1.118)
        libpq-int.h (r1.102 -> r1.103)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/libpq-int.h.diff?r1=1.102&r2=1.103)