Probably related to https://drupal.org/node/1027468 this happens on an import with MySQL as a database backend:

An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: https://example.com/batch?id=11&op=do StatusText: Service unavailable (with message) ResponseText: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name 'migrate_map_ungranddfipourlhumanitcomprendrelafonctionexponentielleblogentry': SELECT be.destid1 AS destid1 FROM {migrate_map_ungranddfipourlhumanitcomprendrelafonctionexponentielleblogentry} be WHERE (destid1 IS NOT NULL ) ; Array ( ) in WordPressAttachment->postImport() (line 252 of /var/www/example.com/sites/all/modules/wordpress_migrate/wordpress_attachment.inc).

This class of errors was fixed by the Migrate module by truncating the migrate_map_/migrate_message_ table names to 63 characters, but since WP Migrate suffixes the entry type (blogentry in this case), not sure that such an approach would work here.

In the database, tables 'migrate_map_ungranddfipourlhumanitcomprendrelafonctionexponenti' and 'migrate_message_ungranddfipourlhumanitcomprendrelafonctionexpon' exist — they were truncated to 63 characters each, but not by MySQL as it would return an error.

Might be worth it to use a hash of the title or a Wordpress postID for temporary table names? Just a thought.

Comments

mikeryan’s picture

Title: Long blogpost names spawn MySQL error: 1103 Incorrect table name » Long blog titles result in overlong map table names
Priority: Major » Normal

The tables aren't temporary, and the long string in question is the blog title, not the blog post title. Anyway, there's one place in wordpress_migrate that constructs a map table name on the fly so the Migrate fix doesn't truncate it, we just need to truncate that instance I think...

mikeryan’s picture

Status: Active » Fixed

OK, I've committed a fix.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.