A few days ago I reported on a problem with savepoints, but all
that it appeared to be was an extemporaneous warning message.
Well, I just found out that InnoDB can actually lose the
savepoints! The overall transaction can still be rolled back
successfully, but the savepoints themselves are completely gone.
This only occurs after the warning: "Got error 153 from storage
engine" happens twice in one transaction (if it only happens
once, the savepoints still work) which requires that alternating
savepoints be set 6 times. See the full report here: http://bugs.mysql.com/bug.php?id=38187.
One of our developers ran into the strangest error a few days
ago, which neither the MySQL manual nor Google searching could
find any information on. When he called certain stored procedures
in a certain order, he got "Error 153 returned from storage
engine." It's been reduced to a very simple test case, and a
bug report has been filed. Here's the test
case:
DROP TABLE IF EXISTS foo;
CREATE TABLE `foo` (
`a` int(11) NOT NULL auto_increment,
PRIMARY KEY (`a`)
) ENGINE=InnoDB;
begin;
insert into foo values();
savepoint a1;
insert into foo values();
savepoint a2;
insert into foo values();
savepoint a1;
insert into foo values();
savepoint a2;
show warnings;
rollback;
The very last "savepoint" generates the warning "Got error 153 from storage engine". Any other MySQL'ers use savepoints and …
[Read more]
Last week, I described how to use the MySQL plug-in API to write a minimal 'Hello world!' information schema plug-in. The
main purpose of that plug-in is to illustrate the bare essentials
of the MySQL information schema plug-in interface.
In this article, I'd like to take that to the next level and
demonstrate how to write an information schema plug-in that can
access some of the internals of the MySQL server. For this
particular purpose, we will focus on a plug-in that reports all
the SAVEPOINT
s available in the current
session. This …