Bug #7849 | START TRANSACTION WITH CONSISTENT SNAPSHOT does not work if wrong isolat level | ||
---|---|---|---|
Submitted: | 12 Jan 2005 23:15 | Modified: | 12 Jan 2005 23:30 |
Reporter: | Guilhem Bichot | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 4.1 | OS: | Any (all) |
Assigned to: | Guilhem Bichot | CPU Architecture: | Any |
[12 Jan 2005 23:15]
Guilhem Bichot
[12 Jan 2005 23:30]
Guilhem Bichot
Mmm but this is not a bug. The definition of START TRANSACTION WITH CONSISTENT SNAPSHOT is (from the manual): The effect is the same as issuing a @code{START TRANSACTION} followed by a @code{SELECT} from any @code{InnoDB} table. It just means "start the consistent read now and not at the next SELECT". It does not say what should happen at the 2nd SELECT. Implicitely changing the isolation level does not fit into the manual's definition. So this is not a bug. It's the user's (e.g. mysqldump client) responsibility to set the proper isolation level if he wants a consistent read over everything.
[30 Jan 2006 20:09]
Perrin Harkins
I understand the reasoning that this is not a bug, but I think the documentation for this feature is very misleading. I expected it to provide a consistent snapshot until the next commit, regardless of the current isolation level. I suggest explicitly saying that it starts a transaction *at the current isolation level* and thus doesn't provide consistency between reads when in an isolation level below REPEATABLE READ.