The update print_update_6100 from print.install failed to execute correctly in my case. The error seems to come from this line:

$ret[] = update_sql("UPDATE {permission} SET perm = '$renamed_permission' WHERE rid = $role->rid");

Certain other modules have single quotes in their permission names so this SQL statement fails to execute correctly. Replacing the single quotes around $renamed_permission with double quotes should take care of the issue.

(In my case, the permission with single quotes were from the actions_permissions sub-module in the views_bulk_operations module.)

Comments

jcnventura’s picture

Ah, the stuff that Drupal core can get away with (http://api.drupal.org/api/drupal/modules!system!system.install/function/...)

I find it amazing that a module would have quotes on their permissions...

jcnventura’s picture

Status: Active » Fixed

Fixed it in dev now.. Thanks to db_escape_string()..

Status: Fixed » Closed (fixed)

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