PgLargeObjectManager transaction isolation bug

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for PostgreSQL
Post Reply
bpipe
Posts: 19
Joined: Mon 08 Oct 2012 12:14

PgLargeObjectManager transaction isolation bug

Post by bpipe » Tue 13 Aug 2013 15:46

How to reproduce:
Create 2 parallel threads, each with it's own connection, and serializable transaction:
thread_1 - read large_object_1, wait signal_1, continue read large_object_1, commit
thread_2 - delete large_object_1, commit, set signal_1

After signal_1 is set thread_1 will throw exception "Large object doesn't exist", between reads.

Read: http://www.postgresql.org/docs/8.4/stat ... faces.html - 31.3.4. Opening an Existing Large Object
Reading from a descriptor opened with INV_WRITE returns data that reflects all writes of other committed transactions as well as writes of the current transaction. This is similar to the behavior of SERIALIZABLE versus READ COMMITTED transaction modes for ordinary SQL SELECT commands.
You driver doesn't allow to set lo_open mode.

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: PgLargeObjectManager transaction isolation bug

Post by Pinturiccio » Wed 14 Aug 2013 13:16

We will investigate the possibility of setting open mode for LargeObject and post here about the results as soon as possible.

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: PgLargeObjectManager transaction isolation bug

Post by Pinturiccio » Wed 04 Sep 2013 12:32

We have added the overload for the PgSqlLargeObject.Open() method with the PgSqlLargeObjectOpenMode parameter. We will post here when the corresponding build of dotConnect for PostgreSQL is available for download.

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: PgLargeObjectManager transaction isolation bug

Post by Pinturiccio » Fri 06 Sep 2013 08:13

The new build of dotConnect for PostgreSQL 6.8.322 is available for download now!
It can be downloaded from http://www.devart.com/dotconnect/postgr ... nload.html (trial version) or from Registered Users' Area (for users with valid subscription only).
For more information, please refer to http://forums.devart.com/viewtopic.php?t=27879

Post Reply