"Dejan Vucinic" <[EMAIL PROTECTED]> writes:
>> From: Tom Lane <[EMAIL PROTECTED]>
>> Probably you are not wrapping the operation into a transaction
>> (BEGIN/COMMIT).  Large object descriptors are only good to the end of
>> the current transaction.

> I believe I am, the code looks like this:

>   connection.setAutoCommit(false);
>   insert = connection.prepareStatement(
>              "INSERT INTO FOO (A, B) VALUES (?, ?)");
>   insert.setString(1, somestring);
>   insert.setBytes(2, byte[] xx);
>   insert.executeUpdate();
>   connection.commit();
>   connection.setAutoCommit(true);

I have no idea what that actually does at the database level.
In particular, does the setAutoCommit(false) routine send a
BEGIN, or does it only set some state that affects later operations?
If there's not a BEGIN sent before the LO operations, they'll fail.

You might try turning on query logging at the postmaster to see
what requests are really being transmitted.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to