> > >>> Does turnning autocommit off enter you into a transaction?  Am I
> > >>> smoking something or does that seems broken?
> > 
> > > Tom, do you want to special case autocommit?  I think that would be OK.
> > 
> > No, I don't like that either ... in general I do not think SET's
> > behavior should vary depending on which variable is being set.
> 
> Yep, this is where we got lost before.  You don't want to special case
> SET variables, but you _do_ want to special case SET at the start of a
> transaction.  Did you see my timeout example?  How is that supposed to
> be handled cleanly?
> 
>       SET statement_timeout = 20;
>       query generates error;
>       SET statement_timeout = 0;
>       COMMIT;
> 
> If the first SET doesn't start a transaction and isn't part of the
> transaction, I don't see how to do this.  Maybe:
> 
>       BEGIN;
>       SET statement_timeout = 20;
>       query generates error;
>       SET statement_timeout = 0;
>       COMMIT;
> 
> So then you have to train people that their initial SET isn't part of
> the transaction, though the later one is.  Yuck.
> 
> I think we diverted from the spec when we went with making SET
> rollbackable and now we are seeing the problems caused.
> 
> Why exactly did you want the initial SET to not be part of the
> transaction?

Is having an exception all that bad?  What other tunables should be
outside of the reach of transactions?  Maybe an exception should be
applied to a class of SET tunables.  -sc

-- 
Sean Chittenden

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

Reply via email to