problem with fe/be protocol and large objects

From: Eric Marsden <emarsden(at)mail(dot)dotcom(dot)fr>
To: pgsql-hackers(at)postgresql(dot)org
Subject: problem with fe/be protocol and large objects
Date: 2001-03-11 21:24:43
Message-ID: wzik85wngmc.fsf@mail.dotcom.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I am trying to debug my socket-level interface to the backend, which
implements the 6.4 protocol. It works for general queries, but I have
a problem with large objects.

lo_create and lo_unlink seem to work OK; I get an oid which looks ok
and there is a corresponding xinv??? file in the base/ directory.
lo_open returns 0 as a file descriptor. However, following up with one
of the other lo functions which take descriptor arguments (such as
lo_write or lo_tell) fails with

ERROR: lo_tell: invalid large object descriptor (0)

Looking at be-fsstubs.c it seems that this arises when cookies[fd] is
NULL. I don't know what this might come from: the lo_tell is sent
right after the lo_open, on the same connection.

Running the sample lo program in C works, so I suppose the problem
must come from the bytes I'm sending. Any ideas what could cause this?

PostgreSQL 7.0.3 on sparc-sun-solaris2.5.1, compiled by gcc 2.95.2

--
Eric Marsden <URL:http://www.laas.fr/~emarsden/>

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Franck Martin 2001-03-11 22:04:38 RE: doxygen & PG
Previous Message Peter Eisentraut 2001-03-11 21:10:39 Re: pg_dump consistent on live database with 7.0.3 ?