I've made more improvements to the duplicate index checker. I addressed a MySQL bug Roland Bouman mentioned to me, added more tests to the suite, and made changes so it considers more types of indexes now (HASH, BTREE, SPATIAL). I made no changes to the foreign key checking.
Version 0.1.152 of innotop is a small maintenance and bug-fix release. I found some more ways to make it deal with garbage input without crashing. Of course, that means it's harder to find errors because it doesn't complain and let me know they exist, but that's what you are for :-)
Do you know the fine details of MySQL's transactional error handling with the InnoDB storage engine? If you're writing transactional SQL, you need to be prepared to handle errors appropriately, and to do that, you need to know how MySQL handles them. This article introduces you to the topic.
I've bought plane tickets to the upcoming MySQL Camp in November. This is looking like a very fun time, with lots of community members, MySQL employees, and Google developers attending. It's an "un-conference," which means there is no set schedule, and it's up to us to make out of the event whatever we wish it to be. If you've been reading my articles or using my tools, is there anything you'd like me to present on? I'd be happy to do it.
I was poking around in the MySQL source code, namely in
sql/sql_yacc.yy, and found a hidden treat: there's a SHOW
COLUMN TYPES
command. It's fun to read source code!
What was a 5-minute script has become a bigger project. I've made more improvements to the duplicate index checker. Soon it will require product activation and have security vulnerabilities every week. Seriously: this is the third iteration, and three strikes and you automate, so I automated. I have a test suite now (your contributions welcome), and I addressed two shortcomings readers pointed out in comments on the original article. You now get better foreign key checking, and FULLTEXT indexes are ignored.
I got bitten by an implicit type conversion with MySQL recently. This article is about avoiding implicit type conversions, and the weird places you might find them.
I've just improved the MySQL duplicate index checker I whipped together a few days ago. As I guessed, my hasty coding left some things to be desired. I've fixed some bugs, added support for finding duplicate foreign keys, and switched to a command-line parsing library that comes standard with Perl, so it's more convenient to run without needing to fetch modules from CPAN.
Version 0.1.149 of the innotop MySQL and InnoDB monitor is a major upgrade. As of this version I'm declaring innotop "stable," meaning I've put some work into making it deal with unexpected input. It should be very resistant to any sort of crash now. You can download innotop from the original article.
Glom is an interesting graphical database front-end I've been meaning to try out for some time. Someone asked about graphical database front-ends on the #mysql IRC channel recently, and that prompted me to install Glom and learn how to use it. My overall impressions? It lands squarely in the middle of its target audience's needs, but still has a quirk here and there. With a bit of polish it will be a fine product, and it's already a winner over Microsoft Access and Filemaker, two similar programs with which you might be familiar. In this article I'll walk through installing and configuring Glom, a simple database design, a quick peek under the hood, an archaeologist's experiences using it, and give my opinions about Glom in detail.