On 1/26/2007 8:06 AM, Gregory Stark wrote:
"Jan Wieck" <[EMAIL PROTECTED]> writes:

    backend1: select publish_snapshot(); -- will block

    backend2: start transaction;
    backend2: set transaction isolation level serializable;
    backend2: select clone_snapshot(<pid>); -- will unblock backend1

It seems simpler to have a current_snapshot() function that returns an bytea
or a new snapshot data type which set_current_snapshot(bytea) took to change
your snapshot. Then you could use tables or out-of-band communication to pass
around your snapshots however you please.
set_current_snapshot() would have to sanity check that the xmin of the new
snapshot isn't older than the current globaloldestxmin.

That would solve the backend to backend IPC problem nicely.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== [EMAIL PROTECTED] #

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to