Search Postgresql Archives

Re: SerializableSnapshot removed from postgresql 8.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2011-07-13 at 18:10 +0100, Duarte Fonseca wrote:
> Hi list,
> 
> I'm currently upgrading from Postgresql 8.1 to 8.4 one of the steps of the process for me involves compiling the replication toolkit we use against 8.4.
> 
> I've just run into a problem since this replication code references SerializableSnapshot which as been removed in 8.4, i was wondering what should our code use instead, I found a thread[1] in the hackers mailing list where GetActiveSnapshot() was recommended, i would greatly appreciate it if someone could point me in the right direction on this.
> 
> 
> The code in question goes something like:
> 
> if (SerializableSnapshot == NULL)
>     elog(ERROR, "SerializableSnapshot is NULL ");
> 
> // Return the minxid from the current snapshot
> PG_RETURN_TRANSACTIONID(SerializableSnapshot->xmin);

I believe that equivalent code in 8.4 would look something like:

if (!IsXactIsoLevelSerializable || !ActiveSnapshotSet())
  elog(ERROR, "Could not find serializable snapshot");

PG_RETURN_TRANSACTIONID(GetActiveSnpashot()->xmin);


However, be careful! Some of this code changes again in 9.1. In 9.1, you
probably want to look for the "repeatable read" transaction.

Regards,
	Jeff Davis



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux