From 38c7d0766195d9d84fcd81bc23b9c71bff5bea6d Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sat, 5 Aug 2006 05:24:47 +0000 Subject: =?UTF-8?q?Bug=20305941:=20Remove=20profiles.refreshed=5Fwhen=20an?= =?UTF-8?q?d=20groups.last=5Fchanged=20-=20Patch=20by=20Fr=C3=A9d=C3=A9ric?= =?UTF-8?q?=20Buclin=20=20r=3Dmkanat=20a=3Dmyk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/DB/Schema.pm | 2 -- Bugzilla/Group.pm | 3 --- Bugzilla/Install/DB.pm | 20 +++++--------------- Bugzilla/User.pm | 10 ++-------- checksetup.pl | 5 ++--- editgroups.cgi | 14 ++------------ editproducts.cgi | 5 ++--- editusers.cgi | 2 -- sanitycheck.cgi | 22 ---------------------- 9 files changed, 13 insertions(+), 70 deletions(-) diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 088a70a78..5e5b23bab 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -618,7 +618,6 @@ use constant ABSTRACT_SCHEMA => { DEFAULT => 'FALSE'}, mybugslink => {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'TRUE'}, - refreshed_when => {TYPE => 'DATETIME', NOTNULL => 1}, extern_id => {TYPE => 'varchar(64)'}, ], INDEXES => [ @@ -738,7 +737,6 @@ use constant ABSTRACT_SCHEMA => { name => {TYPE => 'varchar(255)', NOTNULL => 1}, description => {TYPE => 'TEXT', NOTNULL => 1}, isbuggroup => {TYPE => 'BOOLEAN', NOTNULL => 1}, - last_changed => {TYPE => 'DATETIME', NOTNULL => 1}, userregexp => {TYPE => 'TINYTEXT', NOTNULL => 1, DEFAULT => "''"}, isactive => {TYPE => 'BOOLEAN', NOTNULL => 1, diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm index 45caf65cc..c273e7f20 100644 --- a/Bugzilla/Group.pm +++ b/Bugzilla/Group.pm @@ -37,7 +37,6 @@ use constant DB_COLUMNS => qw( groups.name groups.description groups.isbuggroup - groups.last_changed groups.userregexp groups.isactive ); @@ -99,7 +98,6 @@ sub id { return $_[0]->{'id'}; } sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub is_bug_group { return $_[0]->{'isbuggroup'}; } -sub last_changed { return $_[0]->{'last_changed'}; } sub user_regexp { return $_[0]->{'userregexp'}; } sub is_active { return $_[0]->{'isactive'}; } @@ -157,7 +155,6 @@ Bugzilla::Group - Bugzilla group class. my $id = $group->id; my $name = $group->name; my $description = $group->description; - my $last_changed = $group->last_changed; my $user_reg_exp = $group->user_reg_exp; my $is_active = $group->is_active; diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 9b29bbc76..5fe84a4f4 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -459,7 +459,11 @@ sub update_table_definitions { {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); $dbh->bz_alter_column('products', 'votestoconfirm', {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); - + + # 2006-08-04 LpSolit@gmail.com - Bug 305941 + $dbh->bz_drop_column('profiles', 'refreshed_when'); + $dbh->bz_drop_column('groups', 'last_changed'); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -1315,9 +1319,6 @@ sub _convert_groups_system_from_groupset { # The groups system needs to be converted if groupset exists if ($dbh->bz_column_info("profiles", "groupset")) { - $dbh->bz_add_column('groups', 'last_changed', - {TYPE => 'DATETIME', NOTNULL => 1}, '0000-00-00 00:00:00'); - # Some mysql versions will promote any unique key to primary key # so all unique keys are removed first and then added back in $dbh->bz_drop_index('groups', 'groups_bit_idx'); @@ -1331,8 +1332,6 @@ sub _convert_groups_system_from_groupset { $dbh->bz_add_index('groups', 'groups_name_idx', {TYPE => 'UNIQUE', FIELDS => [qw(name)]}); - $dbh->bz_add_column('profiles', 'refreshed_when', - {TYPE => 'DATETIME', NOTNULL => 1}, '0000-00-00 00:00:00'); # Convert all existing groupset records to map entries before removing # groupset fields or removing "bit" from groups. @@ -1979,9 +1978,6 @@ sub _add_user_group_map_grant_type { $dbh->bz_add_index('user_group_map', 'user_group_map_user_id_idx', {TYPE => 'UNIQUE', FIELDS => [qw(user_id group_id grant_type isbless)]}); - - # Make sure groups get rederived - $dbh->do("UPDATE groups SET last_changed = NOW() WHERE name = 'admin'"); } } @@ -2065,12 +2061,6 @@ sub _rename_votes_count_and_force_group_refresh { # Renaming the 'count' column in the votes table because Sybase doesn't # like it if ($dbh->bz_column_info('votes', 'count')) { - # 2003-04-24 - myk@mozilla.org/bbaetz@acm.org, bug 201018 - # Force all cached groups to be updated at login, due to security bug - # Do this here, inside the next schema change block, so that it doesn't - # get invalidated on every checksetup run. - $dbh->do("UPDATE profiles SET refreshed_when='1900-01-01 00:00:00'"); - $dbh->bz_rename_column('votes', 'count', 'vote_count'); } } diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 924cb0511..c83732ecc 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -707,9 +707,6 @@ sub derive_regexp_groups { my $sth; - # avoid races, we are only up to date as of the BEGINNING of this process - my $time = $dbh->selectrow_array("SELECT NOW()"); - # add derived records for any matching regexps $sth = $dbh->prepare("SELECT id, userregexp, user_group_map.group_id @@ -735,9 +732,6 @@ sub derive_regexp_groups { $group_delete->execute($id, $group, GRANT_REGEXP) if $present; } } - - $dbh->do(q{UPDATE profiles SET refreshed_when = ? WHERE userid = ?}, - undef, ($time, $id)); } sub product_responsibilities { @@ -1363,8 +1357,8 @@ sub insert_new_user { # Insert the new user record into the database. $dbh->do("INSERT INTO profiles (login_name, realname, cryptpassword, disabledtext, - refreshed_when, disable_mail) - VALUES (?, ?, ?, ?, '1901-01-01 00:00:00', ?)", + disable_mail) + VALUES (?, ?, ?, ?, ?)", undef, ($username, $realname, $cryptpassword, $disabledtext, $disable_mail)); diff --git a/checksetup.pl b/checksetup.pl index 4dad00ecd..c0b206bed 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -446,9 +446,8 @@ sub AddGroup { print "Adding group $name ...\n"; my $sth = $dbh->prepare('INSERT INTO groups - (name, description, userregexp, isbuggroup, - last_changed) - VALUES (?, ?, ?, ?, NOW())'); + (name, description, userregexp, isbuggroup) + VALUES (?, ?, ?, ?)'); $sth->execute($name, $desc, $userregexp, 0); my $last = $dbh->bz_last_key('groups', 'id'); diff --git a/editgroups.cgi b/editgroups.cgi index a7a608694..a26bd0c77 100755 --- a/editgroups.cgi +++ b/editgroups.cgi @@ -289,9 +289,8 @@ if ($action eq 'new') { # Add the new group $dbh->do('INSERT INTO groups - (name, description, isbuggroup, - userregexp, isactive, last_changed) - VALUES (?, ?, 1, ?, ?, NOW())', + (name, description, isbuggroup, userregexp, isactive) + VALUES (?, ?, 1, ?, ?)', undef, ($name, $desc, $regexp, $isactive)); my $gid = $dbh->bz_last_key('groups', 'id'); @@ -566,9 +565,6 @@ if (($action eq 'remove_all_regexp') || ($action eq 'remove_all')) { push(@users, $user); } } - - $dbh->do('UPDATE groups SET last_changed = NOW() - WHERE id = ?', undef, $gid); $dbh->bz_unlock_tables(); $vars->{'users'} = \@users; @@ -711,12 +707,6 @@ sub doGroupChanges { } } - - if ($chgs) { - # mark the changes - $dbh->do('UPDATE groups SET last_changed = NOW() - WHERE id = ?', undef, $gid); - } $dbh->bz_unlock_tables(); return $gid, $chgs, $name, $regexp; } diff --git a/editproducts.cgi b/editproducts.cgi index 2d2f81009..432e2a9c6 100755 --- a/editproducts.cgi +++ b/editproducts.cgi @@ -240,9 +240,8 @@ if ($action eq 'new') { my $group_description = "Access to bugs in the " . $product->name . " product"; - $dbh->do('INSERT INTO groups - (name, description, isbuggroup, last_changed) - VALUES (?, ?, ?, NOW())', + $dbh->do('INSERT INTO groups (name, description, isbuggroup) + VALUES (?, ?, ?)', undef, ($productgroup, $group_description, 1)); my $gid = $dbh->bz_last_key('groups', 'id'); diff --git a/editusers.cgi b/editusers.cgi index 4f5211765..e9e40eb4c 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -410,8 +410,6 @@ if ($action eq 'search') { ($otherUserID, $userid, get_field_id('bug_group'), join(', ', @groupsRemovedFrom), join(', ', @groupsAddedTo))); - $dbh->do('UPDATE profiles SET refreshed_when=? WHERE userid = ?', - undef, ('1900-01-01 00:00:00', $otherUserID)); } # XXX: should create profiles_activity entries for blesser changes. diff --git a/sanitycheck.cgi b/sanitycheck.cgi index 85b6f5fa2..0a756c3fb 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.cgi @@ -821,28 +821,6 @@ BugCheck("bugs INNER JOIN products ON bugs.product_id = products.id " . "WHERE everconfirmed = 0 AND votestoconfirm <= votes", "Bugs that have enough votes to be confirmed but haven't been"); -########################################################################### -# Date checks -########################################################################### - -sub DateCheck { - my $table = shift @_; - my $field = shift @_; - my $dbh = Bugzilla->dbh; - - Status("Checking dates in $table.$field"); - my $c = $dbh->selectrow_array(qq{SELECT COUNT($field) - FROM $table - WHERE $field > NOW()}); - - if ($c) { - Alert("Found $c dates in future"); - } -} - -DateCheck("groups", "last_changed"); -DateCheck("profiles", "refreshed_when"); - ########################################################################### # Control Values ########################################################################### -- cgit v1.2.1