This issue is related to that much older issue that has never been fixed:
http://drupal.org/node/103583

I just updated to the latest DRUPAL-5 (i.e. after this was committed: http://drupal.org/cvs?commit=53103).
The upgrade 1003 went very wrong:

user warning: Can't find file: './db_name/node_action.frm' (errno: 2) query: RENAME TABLE node_action TO content_type_action in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_forum.frm' (errno: 2) query: RENAME TABLE node_forum TO content_type_forum in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_og.frm' (errno: 2) query: RENAME TABLE node_og TO content_type_og in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_og_discussion.frm' (errno: 2) query: RENAME TABLE node_og_discussion TO content_type_og_discussion in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_page.frm' (errno: 2) query: RENAME TABLE node_page TO content_type_page in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_project_issue.frm' (errno: 2) query: RENAME TABLE node_project_issue TO content_type_project_issue in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_project_project.frm' (errno: 2) query: RENAME TABLE node_project_project TO content_type_project_project in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_solution.frm' (errno: 2) query: RENAME TABLE node_solution TO content_type_solution in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_solution_cost.frm' (errno: 2) query: RENAME TABLE node_solution_cost TO content_type_solution_cost in includes/database.mysql.inc on line 172.
user warning: Can't find file: './db_name/node_data_field_this_solution_is_a_child_.frm' (errno: 2) query: RENAME TABLE node_data_field_this_solution_is_a_child_ TO content_field_this_solution_is_a_child_ in includes/database.mysql.inc on line 172.

then:

The following queries were executed
content module
Update #1003
Failed: RENAME TABLE node_action TO content_type_action
Failed: RENAME TABLE node_forum TO content_type_forum
Failed: RENAME TABLE node_og TO content_type_og
Failed: RENAME TABLE node_og_discussion TO content_type_og_discussion
Failed: RENAME TABLE node_page TO content_type_page
Failed: RENAME TABLE node_project_issue TO content_type_project_issue
Failed: RENAME TABLE node_project_project TO content_type_project_project
Failed: RENAME TABLE node_solution TO content_type_solution
Failed: RENAME TABLE node_solution_cost TO content_type_solution_cost
Failed: RENAME TABLE node_data_field_this_solution_is_a_child_ TO content_field_this_solution_is_a_child_

Now, obviously, I have plenty of errors when visiting my nodes.

Also, is the script supposed to rename all the node_forum, node_project_issue etc?

Comments

beginner’s picture

Arggg!!!

The bloody script doesn't prepend the table names with the prefix.
All of the above should have been:
RENAME TABLE MYPREFIX_node_action TO MYPREFIX_content_type_action

Yet, the script does include the curly braces:

 update_sql("RENAME TABLE {$old_name} TO {$new_name}");

I'm going to have a look at update_sql()...

karens’s picture

I think I found at least part of this problem. We need to change

 update_sql("RENAME TABLE {$old_name} TO {$new_name}");

to

 update_sql("RENAME TABLE {" .$old_name. "} TO {". $new_name ."}");

The curly braces get ignored the first way. I've committed that much and will keep digging to see what else has gone wrong.

karens’s picture

Status: Active » Fixed

I'm pretty sure that the recent commits will take care of this. I'll keep testing to be sure, but reopen if latest cvs still produces problems.

Sorry, and thanks for the helpful details in your reports!!

beginner’s picture

You're welcome.

Thanks for your quick action on all my recent issues.
I re-tested, and things seem to behave more normally, now. :)

Cheers.

yched’s picture

whew ! I just woke up to find this, I must say it got me a little scared at first sight.
Glad it was only that. Thanks to both of you !

As a side note, I'd be curious to know why "{$old_name}" fails.

yched’s picture

OK, scanning the news, it seems there was actually a few bugs in my renaming patch...
So, again, thanks beginner for testing / reporting, and thanks Karen for fixing things :-)

And, to answer my own question : ok, curly braces are special syntax with variables inside double quotes : http://www.php.net/manual/language.types.string.php#language.types.strin...

Anonymous’s picture

Status: Fixed » Closed (fixed)