Recent Comments bug fix

Freshness Warning
This article is over 9 years old. It's possible that the information you read below isn't current.

If you’re using MT’s Recently Commented On feature and you notice that some entries don’t appear there that should, I may have a solution for you. Over at the MT support forums we discovered that at least two of the people experiencing this problem were using MySQL 3.23.45 as their database. Users of later versions of MySQL weren’t having the problem, so it appeared to be a MySQL problem.

A little troubleshooting revealed the culprit. MT uses a temporary table to gather the list of recent comments and that table wasn’t being sorted correctly by MySQL. It took some serious trial and error to figure out how to make it work correctly.

The fix requires that the records be inserted into the temporary table in the order you will want to retrieve them. So a simple ORDER BY statement in the table creation SQL was needed.

To fix the problem, you’ll need to make the following changes. This assumes you are running MT 2.21. Other versions might have different line numbers and code.

Go to <mt>/lib/MT/ObjectDriver/DBI and open mysql.pm. (Replace <mt> with wherever your copy of Movable Type can be found.)

Line 116 reads my $dir = $j_args->{direction} eq 'descend' ? 'desc' : 'asc';. Move it to before line 97, which reads my $ct_sql = "create temporary table tempTable\nselect ";.

Now go down to line 106 where it says $ct_sql .= "where " . join ' and ', @$ct_terms if @$ct_terms;. Right after that line, add a line that reads $ct_sql .= "ORDER BY ${j_tbl}_$j_args->{'sort'} $dir";

That’s it. Upload your newly changed script and rebuild your templates. The usual disclaimer applies. It works for me, it might not work for you. Back everything up before you start and don’t blame me if your computer begins speaking in tongues or emits a foul odor.


Your comments:

Text only, no HTML. URLs will automatically be converted to links. Your email address is required, but it will not be displayed on the site.

Name:

Not your company or your SEO link. Comments without a real name will be deleted as spam.

Email: (not displayed)

If you don't feel comfortable giving me your real email address, don't expect me to feel comfortable publishing your comment.

Website (optional):

Follow me on Twitter

Lijit Search

Best Of

  • Comment Spam Manifesto Spammers are hereby put on notice. Your comments are not welcome. If the purpose behind your comment is to advertise yourself, your Web site, or a product that you are affiliated with, that comment is spam and will not be tolerated. We will hit you where it hurts by attacking your source of income.
  • Best of Newly Digital There have been dozens of Newly Digital entries from all over the world. Here are some of the best.
  • Let it go Netscape 4 is six years old.
  • The importance of being good Starbucks is pulling CD burning stations from their stores. That says something interesting about their brand.
  • Google on the desktop Google picks up Picasa, giving them an important foothold on people's PCs.
  • More of the best »

Recently Read

Get More

Subscribe | Archives

9

Recently

invisible Fence (Mar 22)
The New York Times has a paywall now. Sorta. If you don't choose to ignore it.
Black status icon for Chrometa (Mar 17)
Replacing the status icon of Chrometa
Using Google Voice as your voicemail on AT&T (Oct 26)
How I set up my iPhone to use Google Voice as it's voicemail system.
Don Mattingly forced to make coaching change (Sep 17)
New LA Dodgers coach starts to wonder if he knows the rules of baseball at all.
In which Vonage pretends their prices haven't changed (Apr 12)
Translating what Vonage marketing says about their price increase into plain English.
Twitter app competition (Apr 12)
Life as a Twitter app developer is far from over.
Twitter app competition (Apr 12)
Life as a Twitter app developer is far from over.
The rest of the world is not like you (Apr 5)
Normal people are different. Keep that in mind when creating or marketing a product.

Subscribe to this site's feed.

Elsewhere

IMified
Build instant messaging applications. (My company)
SacStarts
The Sacramento technology startup community.
Pinewood Freak
Pinewood Derby tips and tricks

Contact

Adam Kalsey

Mobile: 916.600.2497

Email: adam AT kalsey.com

AIM or Skype: akalsey

Resume

PGP Key

©1999-2012 Adam Kalsey.
Content management by Movable Type.