-
- Downloads
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).
Showing
- doc/src/sgml/lobj.sgml 74 additions, 19 deletionsdoc/src/sgml/lobj.sgml
- src/backend/libpq/be-fsstubs.c 30 additions, 16 deletionssrc/backend/libpq/be-fsstubs.c
- src/backend/storage/large_object/inv_api.c 85 additions, 46 deletionssrc/backend/storage/large_object/inv_api.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_proc.h 3 additions, 1 deletionsrc/include/catalog/pg_proc.h
- src/include/libpq/be-fsstubs.h 2 additions, 1 deletionsrc/include/libpq/be-fsstubs.h
- src/include/storage/large_object.h 8 additions, 3 deletionssrc/include/storage/large_object.h
- src/interfaces/libpq/exports.txt 2 additions, 1 deletionsrc/interfaces/libpq/exports.txt
- src/interfaces/libpq/fe-lobj.c 55 additions, 5 deletionssrc/interfaces/libpq/fe-lobj.c
- src/interfaces/libpq/libpq-fe.h 2 additions, 1 deletionsrc/interfaces/libpq/libpq-fe.h
- src/interfaces/libpq/libpq-int.h 2 additions, 1 deletionsrc/interfaces/libpq/libpq-int.h
Loading
Please register or sign in to comment