DEFAULT => 'FALSE'},
mybugslink => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'TRUE'},
- refreshed_when => {TYPE => 'DATETIME', NOTNULL => 1},
extern_id => {TYPE => 'varchar(64)'},
],
INDEXES => [
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,
groups.name
groups.description
groups.isbuggroup
- groups.last_changed
groups.userregexp
groups.isactive
);
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'}; }
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;
{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 #
################################################################
# 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');
$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.
$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'");
}
}
# 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');
}
}
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
$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 {
# 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));
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');
# 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');
push(@users, $user);
}
}
-
- $dbh->do('UPDATE groups SET last_changed = NOW()
- WHERE id = ?', undef, $gid);
$dbh->bz_unlock_tables();
$vars->{'users'} = \@users;
}
}
-
- 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;
}
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');
($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.
"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
###########################################################################