Thread: pgsql: Add API for 64-bit large object access. Now users can access up

pgsql: Add API for 64-bit large object access. Now users can access up

From
Tatsuo Ishii
Date:
Add API for 64-bit large object access.  Now users can access up to
4TB large objects (standard 8KB BLCKSZ case).  For this purpose new
libpq API lo_lseek64, lo_tell64 and lo_truncate64 are added.  Also
corresponding new backend functions lo_lseek64, lo_tell64 and
lo_truncate64 are added. inv_api.c is changed to handle 64-bit
offsets.

Patch contributed by Nozomi Anzai (backend side) and Yugo Nagata
(frontend side, docs, regression tests and example program). Reviewed
by Kohei Kaigai. Committed by Tatsuo Ishii with minor editings.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/461ef73f0977c95c9452680495bc161618db9227

Modified Files
--------------
doc/src/sgml/lobj.sgml                     |   34 +++-
src/backend/libpq/be-fsstubs.c             |  101 +++++++++-
src/backend/storage/large_object/inv_api.c |   47 +++--
src/backend/utils/errcodes.txt             |    1 +
src/include/catalog/pg_proc.h              |    6 +
src/include/libpq/be-fsstubs.h             |    3 +
src/include/postgres_ext.h                 |    5 +
src/include/storage/large_object.h         |   13 +-
src/interfaces/libpq/exports.txt           |    3 +
src/interfaces/libpq/fe-lobj.c             |  239 +++++++++++++++++++++-
src/interfaces/libpq/libpq-fe.h            |    6 +
src/interfaces/libpq/libpq-int.h           |    3 +
src/test/examples/Makefile                 |    2 +-
src/test/examples/testlo64.c               |  320 ++++++++++++++++++++++++++++
src/test/regress/input/largeobject.source  |   23 ++
src/test/regress/output/largeobject.source |   82 +++++++
16 files changed, 856 insertions(+), 32 deletions(-)