From: | Michael Cochez <michaelcochez(at)yahoo(dot)com> |
---|---|
To: | pgsql-docs(at)postgresql(dot)org |
Subject: | Re: error in documentation? |
Date: | 2007-09-24 16:34:26 |
Message-ID: | 138226.58158.qm@web33511.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
My reasoning was :
Look to every query on a time line
savepoint 1
query 1
....
savepoint j
query j
.....
savepoint n
query n
When I release savepoint j , I think 'everythin before savepoint j is ok and safe', and so I don't need the savepoints before savepoint j anymore (cause they're save) when I do a rollback to savepoint j, I say 'everything done after savepoint j is rubbish' so I don't need the savepoints after j anymore
Lets say I release savepoint j, why wouldn't it make sense to go back to savepoint j+1, (a state after the state beeing released).
I tought of releasing a savepoint as 'everything up to that savepoint is ok, I'm not yet shure about the queries coming next'
Michael
Phil Frost <phil(at)macprofessionals(dot)com> wrote:
If I do:
savepoint one;
update foo set bar = 2;
savepoint two;
update baz set foo = 3;
savepoint three;
delete from foo;
Why would it make sense to release "one" if i release "two"? If I
release "two", then it makes sense that I can never go back to "two"
or "three", but your proposed change means that if I release "two", I
can later rollback to "three" but not to "one". I don't see how
that's useful.
Essentially what the docs say is that savepoints are created on a
stack, and when you do something to to a savepoint "s", you
implicitly do the same thing to all the other savepoints above "s".
Or, if you think of them being nested:
savepoint one {
update foo set bar = 2;
savepoint two {
update baz set foo = 3;
savepoint three {
delete from foo;
...
}
...
}
...
}
then any operation on a savepoint also applies to any savepoints
nested within it.
---------------------------------
Catch up on fall's hot new shows on Yahoo! TV. Watch previews, get listings, and more!
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2007-09-25 09:40:01 | when transaction commit begins |
Previous Message | Phil Frost | 2007-09-24 14:15:57 | Re: error in documentation? |