Closed Bug 215538 Opened 21 years ago Closed 21 years ago

when running checksetup.pl it always trys to create all tables

Categories

(Bugzilla :: Administration, task)

x86
Linux
task
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 212095

People

(Reporter: caseyg, Assigned: justdave)

Details

User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
Build Identifier: 

when you run checksetup.pl the part where the script tries to create any 
tables that do not exist the script will try to create all tables no matter 
what with newer version of perls DBD::mysql

Reproducible: Always

Steps to Reproduce:
1. install the latest version of DBD:mysql
2. run check setup
3.

Actual Results:  
the script will return with an error saying it can't create a table that 
exists.

Expected Results:  
nothing should happen, it should see the table has been created.

i am using DBD::mysql 1.9002 if you run check setup with this version you get 
the errors because the list of tables is returned with `` around each table 
name.
`bugs`
`profiles`
etc...
and in older versions it returns
bugs
profiles
etc...
so when the lines:

while (my ($tabname, $fielddef) = each %table) {
    next if grep /^$tabname$/, @tables;
    print "Creating table $tabname ...\n";

start to run it doesn't pass to see if the tables exist. I fixed it here by 
doing this:

while (my ($tabname, $fielddef) = each %table) {
    next if grep /^`$tabname`$/, @tables;
       #           ^          ^bakward singquotes
    print "Creating table $tabname ...\n";

this works, i don't know how you would check to see what version of DBD::mySQL 
you are running, and i don't know at which version this changed.
already fixed in CVS

*** 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.