Closed Bug 215711 Opened 21 years ago Closed 21 years ago

checksetup failed when he try to create database table

Categories

(Bugzilla :: Installation & Upgrading, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 212095

People

(Reporter: legion, Assigned: zach)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.3a) Gecko/20021215 Phoenix/0.5
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.3a) Gecko/20021215 Phoenix/0.5

checksetup failed when he try to create database table. It happens when all
tables in the database is already exists.
Error is:
[Sun Aug 10 18:05:56 2003] checksetup.pl: DBD::mysql::db do failed: Table
'keyworddefs' already exists at ./checksetup.pl line 1808

I printed @tables in those place:
Tables: `attachments` `bug_group_map` `bugs` `bugs_activity` `cc` `components`
`dependencies` `duplicates` `fielddefs` `flagexclusions` `flaginclusions`
`flags` `flagtypes` `group_control_map` `group_group_map` `groups` `keyworddefs`
`keywords` `logincookies` `longdescs` `milestones` `namedqueries` `products`
`profiles` `profiles_activity` `quips` `tokens` `user_group_map` `versions`
`votes` `watch`

line 1808 is :
next if grep /^$tabname$/, @tables;

maybe better it change to something like this
next if grep /^\W*$tabname\W*$/, @tables;

mysql version:
mysql  Ver 11.18 Distrib 3.23.56, for alt-linux-gnu (i586)

Reproducible: Always

Steps to Reproduce:
1. Install bugzilla, create database (made all install steps)
2. Start checksetup two times
3. start checksetup once more

Actual Results:  
[Sun Aug 10 18:55:13 2003] checksetup.pl: DBD::mysql::db do failed: Table
'group_control_map' already exists at ./checksetup.pl line 1808.

Expected Results:  
Checking for    MySQL Server (v3.23.41) ok: found v3.23.56-log
I updated my DBI (v1.37) and DBD::mysql (v2.9002) et al and encountered the 
same problem.  $dbh->tables is now returning the table names in backquotes so 
@tables is not as expected.
Adding the line
@tables = map { $_ =~ s/`(.*)`/$1/; $_ } @tables;

below
my @tables = map { $_ =~ s/.*\.//; $_ } $dbh->tables;

fixes the problem.  See attached patch.

*** This bug has been marked as a duplicate of 212095 ***
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: