On Sat, Apr 16, 2011 at 2:41 AM, Christopher Browne
<[email protected]> wrote:
> On Fri, Apr 15, 2011 at 2:16 PM, Steve Singer <[email protected]> wrote:
>> C)  We could get rid of try blocks.  Some people have commented that
>> they don't behave as expected anyway and with the additional
>> restrictions of changes 1) and 2) they are even less useful.
>
> I'd point not only to "less useful," but also to "less able to be
> reasoned about" as an issue.
>
> The "intuitive" position is that TRY blocks are supposed to look like
> something quasi-transactional; if there's a failure, "everything
> should be rolled back."  That's certainly a cool idea to consider.
>
> Unfortunately, that's not remotely near to being how things are.  If
> there are activities inside a TRY block that cross multiple nodes,
> it's not reasonable to expect that all to roll back.  (We're not using
> 2PC!)

But it does seem to work well enough...

eg. execute a number of SQL scripts in a try block. If one of them
fails when applying to the master, it all rolls back. If they all
work, the events get propagated and they are applied on the slaves and
if this fails you have other problems. It might not be perfect, but it
is better than a kick in the teeth and I would like to keep it.



-- 
Stuart Bishop <[email protected]>
http://www.stuartbishop.net/
_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to