CPAN にあがっている MogileFS::Plugin::FilePaths には、rename コマンドで index 使わないような query なげてしまう問題があるので以下パッチをあてること。
diff --git a/lib/MogileFS/Plugin/FilePaths.pm b/lib/MogileFS/Plugin/FilePaths.pm
index 6924dc6..1056911 100644
--- a/lib/MogileFS/Plugin/FilePaths.pm
+++ b/lib/MogileFS/Plugin/FilePaths.pm
@@ -264,8 +264,8 @@ sub load {
my $dbh = Mgd::get_dbh();
return undef unless $dbh;
- $dbh->do('UPDATE plugin_filepaths_paths SET parentnodeid=?, nodename=? WHERE parentnodeid=? AND nodename=?', undef,
- $new_parentid, $new_name, $old_parentid, $old_name);
+ $dbh->do('UPDATE plugin_filepaths_paths SET parentnodeid=?, nodename=? WHERE dmid=? AND parentnodeid=? AND nodename=?', undef,
+ $new_parentid, $new_name, $dmid, $old_parentid, $old_name);
# UNLOCK rename
このパッチ自体は Github 上の master にはだいぶ前にとりこまれているけど、0.03 はいまだリリースはされていない。
という備忘録。