Re: create large object by tcl - Mailing list pgsql-interfaces

From L J Bayuk
Subject Re: create large object by tcl
Date
Msg-id 200402230109.i1N199pP001050@mindspring.com
Whole thread Raw
List pgsql-interfaces
> However, I would like to ask why a transaction is
> needed for accessing large object?

Here's how I understand it. If I get it badly wrong, perhaps someone
else will step in and correct me.

The PostgreSQL database server creates a context in which to store
information it needs to process commands.  If you don't start a transaction
block with BEGIN, a new context is created for each command, and destroyed
after the command is processed.  If you use BEGIN to start a transaction
block, the context stays around until you use COMMIT or ROLLBACK to end the
transaction block.

Large object file descriptors, like cursors, are stored in this context.
So if you open a large object outside a transaction block, the large object
file descriptor you get back is invalid, because the context it was created
in was already destroyed.


pgsql-interfaces by date:

Previous
From: greg@turnstep.com
Date:
Subject: DBD::Pg 1.32 ready for testing
Next
From: twinsen
Date:
Subject: libpgeasy on AIX