Closed Bug 316770 Opened 19 years ago Closed 19 years ago

checksetup.pl crashes first time upgrade of 2.18.3 to 2.20

Categories

(Bugzilla :: Installation & Upgrading, defect)

Other
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 307662

People

(Reporter: mruedy, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Build Identifier: Bugzilla  Version 2.20  

With a bugs database that works fine with 2.18.3 (upgraded from 2.16.1), the first time I run checksetup.pl, I get this:
DBD::mysql::db selectrow_array failed: Unknown column 'grant_type' in 'where clause' [for Statement "SELECT 1 FROM group_group_map
           WHERE member_id = ? AND grantor_id = ? AND grant_type = ?"] at ./checksetup.pl line 4070

On subsequent runs, checksetup.pl succeeds, but this code section is not gone through.

Reproducible: Always

Steps to Reproduce:
1. Restore working (with 2.18.3) copy of the bugs database
2. Run checksetup.pl from the 2.20 release
3. Fails on the first run.  Succeeds afterward

Actual Results:  
Full output:

[root@swdev9 bugzilla]# ./checksetup.pl

Checking perl modules ...
Checking for       AppConfig (v1.52)   ok: found v1.56
Checking for             CGI (v2.93)   ok: found v3.10
Checking for    Data::Dumper (any)     ok: found v2.12
Checking for    Date::Format (v2.21)   ok: found v2.22
Checking for             DBI (v1.38)   ok: found v1.48
Checking for      File::Spec (v0.84)   ok: found v3.07
Checking for      File::Temp (any)     ok: found v0.13
Checking for        Template (v2.08)   ok: found v2.14
Checking for      Text::Wrap (v2001.0131) ok: found v2001.0929
Checking for    Mail::Mailer (v1.65)   ok: found v1.67
Checking for        Storable (any)     ok: found v2.06

The following Perl modules are optional:
Checking for              GD (v1.20)   ok: found v2.19
Checking for     Chart::Base (v1.0)    ok: found v2.3
Checking for     XML::Parser (any)     ok: found v2.31
Checking for       GD::Graph (any)     ok: found v1.43
Checking for GD::Text::Align (any)     ok: found v1.18
Checking for     PatchReader (v0.9.4)  ok: found v0.9.5

Checking user setup ...
Removing existing compiled templates ...
Precompiling templates ...
Checking for      DBD::mysql (v2.9003) ok: found v3.0001
Checking for           MySQL (v3.23.41) ok: found v4.1.12-standard

Renaming indexes...
Removing index 'creator_2' from the series table...
Renaming index creation_ts to attachments_creation_ts_idx...
Renaming index bug_id to attachments_bug_id_idx...
Renaming index group_id to bug_group_map_group_id_idx...
Renaming index bug_id to bug_group_map_bug_id_idx...
Renaming index priority to bugs_priority_idx...
Renaming index reporter to bugs_reporter_idx...
Renaming index product_id to bugs_product_id_idx...
Renaming index assigned_to to bugs_assigned_to_idx...
Renaming index creation_ts to bugs_creation_ts_idx...
Renaming index qa_contact to bugs_qa_contact_idx...
Renaming index short_desc to bugs_short_desc_idx...
Renaming index votes to bugs_votes_idx...
Renaming index bug_severity to bugs_bug_severity_idx...
Renaming index bug_status to bugs_bug_status_idx...
Renaming index delta_ts to bugs_delta_ts_idx...
Renaming index version to bugs_version_idx...
Renaming index component_id to bugs_component_id_idx...
Renaming index resolution to bugs_resolution_idx...
Renaming index target_milestone to bugs_target_milestone_idx...
Renaming index alias to bugs_alias_idx...
Renaming index op_sys to bugs_op_sys_idx...
Renaming index bug_id to bugs_activity_bug_id_idx...
Renaming index bug_when to bugs_activity_bug_when_idx...
Renaming index fieldid to bugs_activity_fieldid_idx...
Renaming index category_id to category_group_map_category_id_idx...
Renaming index bug_id to cc_bug_id_idx...
Renaming index who to cc_who_idx...
Renaming index product_id to components_product_id_idx...
Renaming index name to components_name_idx...
Renaming index blocked to dependencies_blocked_idx...
Renaming index dependson to dependencies_dependson_idx...
Renaming index sortkey to fielddefs_sortkey_idx...
Renaming index name to fielddefs_name_idx...
Renaming index type_id to flagexclusions_type_id_idx...
Renaming index type_id to flaginclusions_type_id_idx...
Renaming index bug_id to flags_bug_id_idx...
Renaming index setter_id to flags_setter_id_idx...
Renaming index requestee_id to flags_requestee_id_idx...
Renaming index product_id to group_control_map_product_id_idx...
Renaming index group_id to group_control_map_group_id_idx...
Renaming index member_id to group_group_map_member_id_idx...
Renaming index name to groups_name_idx...
Renaming index name to keyworddefs_name_idx...
Renaming index keywordid to keywords_keywordid_idx...
Renaming index bug_id to keywords_bug_id_idx...
Renaming index lastused to logincookies_lastused_idx...
Renaming index bug_id to longdescs_bug_id_idx...
Renaming index bug_when to longdescs_bug_when_idx...
Renaming index who to longdescs_who_idx...
Renaming index thetext to longdescs_thetext_idx...
Renaming index product_id to milestones_product_id_idx...
Renaming index userid to namedqueries_userid_idx...
Renaming index name to products_name_idx...
Renaming index login_name to profiles_login_name_idx...
Renaming index userid to profiles_activity_userid_idx...
Renaming index profiles_when to profiles_activity_profiles_when_idx...
Renaming index fieldid to profiles_activity_fieldid_idx...
Renaming index creator to series_creator_idx...
Renaming index name to series_categories_name_idx...
Renaming index series_id to series_data_series_id_idx...
Renaming index userid to tokens_userid_idx...
Renaming index user_id to user_group_map_user_id_idx...
Renaming index bug_id to votes_bug_id_idx...
Renaming index who to votes_who_idx...
Renaming index watcher to watch_watcher_idx...
Renaming index watched to watch_watched_idx...
Updating column public in table series ...
New: tinyint NOT NULL DEFAULT 0
Updating column isactive in table bug_status ...
New: tinyint NOT NULL DEFAULT 1
Updating column isactive in table rep_platform ...
New: tinyint NOT NULL DEFAULT 1
Updating column isactive in table resolution ...
New: tinyint NOT NULL DEFAULT 1
Updating column isactive in table op_sys ...
New: tinyint NOT NULL DEFAULT 1
Updating column isactive in table bug_severity ...
New: tinyint NOT NULL DEFAULT 1
Updating column isactive in table priority ...
New: tinyint NOT NULL DEFAULT 1
Updating column approved in table quips ...
New: tinyint NOT NULL DEFAULT 1
Adding group editclassifications ...
Adding group bz_canusewhines ...
Adding group bz_canusewhineatothers ...
DBD::mysql::db selectrow_array failed: Unknown column 'grant_type' in 'where clause' [for Statement "SELECT 1 FROM group_group_map
           WHERE member_id = ? AND grantor_id = ? AND grant_type = ?"] at ./checksetup.pl line 4070




group_group_map still does not have the grant_type column -

MySQL(root@localhost) [bugs]> describe group_group_map;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| member_id  | mediumint(9) |      | PRI | 0       |       |
| grantor_id | mediumint(9) |      | PRI | 0       |       |
| isbless    | tinyint(4)   |      | PRI | 0       |       |
+------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

*** This bug has been marked as a duplicate of 307662 ***
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
If I remove my bugs database and run checksetup.pl again (this time it does not crash), I see a grant_type column in the group_group_map table.  I seems to match the isbless size and position.  Perhaps it should have been renamted?

MySQL(root@localhost) [bugs]> describe group_group_map;
+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| member_id  | mediumint(9) |      | PRI | 0       |       |
| grantor_id | mediumint(9) |      | PRI | 0       |       |
| grant_type | tinyint(4)   |      | PRI | 0       |       |
+------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

See original post for old table structure.
Just to confirm, that yes, dropping the database before importing the data did work correctly.  checksetup.pl works fine afterward.  

Got this from # 307662
You need to log in before you can comment on or make changes to this bug.