diff options
-rw-r--r-- | Bugzilla/DB/Schema.pm | 10 | ||||
-rw-r--r-- | Bugzilla/DB/Schema/Mysql.pm | 2 | ||||
-rw-r--r-- | Bugzilla/Install/DB.pm | 23 | ||||
-rwxr-xr-x | checksetup.pl | 2 | ||||
-rw-r--r-- | extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl | 1 | ||||
-rw-r--r-- | extensions/Review/Extension.pm | 4 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Admin.pm | 13 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Flag/Bug.pm | 16 | ||||
-rw-r--r-- | extensions/TryAutoLand/Extension.pm | 2 | ||||
-rw-r--r-- | skins/standard/global.css | 1 |
10 files changed, 38 insertions, 36 deletions
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index e2a7e138e..d8f3e175a 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -342,13 +342,13 @@ use constant ABSTRACT_SCHEMA => { bugs_activity => { FIELDS => [ - id => {TYPE => 'BIGSERIAL', NOTNULL => 1, + id => {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, bug_id => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'bugs', COLUMN => 'bug_id', DELETE => 'CASCADE'}}, - attach_id => {TYPE => 'INT5', + attach_id => {TYPE => 'INT3', REFERENCES => {TABLE => 'attachments', COLUMN => 'attach_id', DELETE => 'CASCADE'}}, @@ -492,7 +492,7 @@ use constant ABSTRACT_SCHEMA => { attachments => { FIELDS => [ - attach_id => {TYPE => 'BIGSERIAL', NOTNULL => 1, + attach_id => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, bug_id => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'bugs', @@ -523,7 +523,7 @@ use constant ABSTRACT_SCHEMA => { }, attach_data => { FIELDS => [ - id => {TYPE => 'INT5', NOTNULL => 1, + id => {TYPE => 'INT3', NOTNULL => 1, PRIMARYKEY => 1, REFERENCES => {TABLE => 'attachments', COLUMN => 'attach_id', @@ -636,7 +636,7 @@ use constant ABSTRACT_SCHEMA => { REFERENCES => {TABLE => 'bugs', COLUMN => 'bug_id', DELETE => 'CASCADE'}}, - attach_id => {TYPE => 'INT5', + attach_id => {TYPE => 'INT3', REFERENCES => {TABLE => 'attachments', COLUMN => 'attach_id', DELETE => 'CASCADE'}}, diff --git a/Bugzilla/DB/Schema/Mysql.pm b/Bugzilla/DB/Schema/Mysql.pm index f2450abf1..5fc50a986 100644 --- a/Bugzilla/DB/Schema/Mysql.pm +++ b/Bugzilla/DB/Schema/Mysql.pm @@ -108,12 +108,10 @@ sub _initialize { INT2 => 'smallint', INT3 => 'mediumint', INT4 => 'integer', - INT5 => 'bigint unsigned', SMALLSERIAL => 'smallint auto_increment', MEDIUMSERIAL => 'mediumint auto_increment', INTSERIAL => 'integer auto_increment', - BIGSERIAL => 'bigint unsigned auto_increment', TINYTEXT => 'tinytext', MEDIUMTEXT => 'mediumtext', diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index a217e0753..7ab533198 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -706,14 +706,6 @@ sub update_table_definitions { # 2013-08-16 glob@mozilla.com - Bug 905925 $dbh->bz_add_index('attachments', 'attachments_ispatch_idx', ['ispatch']); - # 2014-03-11 glob@mozilla.com - Bug 981756 (BMO only) - _fix_attachments_primary_key(); - if ($dbh->bz_column_info('bugs_activity', 'id')->{TYPE} ne 'BIGSERIAL') { - $dbh->bz_drop_related_fks('bugs_activity', 'id'); - $dbh->bz_alter_column('bugs_activity', 'id', - {TYPE => 'BIGSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); - } - ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3745,21 +3737,6 @@ sub _fix_longdescs_primary_key { } } -sub _fix_attachments_primary_key { - my $dbh = Bugzilla->dbh; - if ($dbh->bz_column_info('attachments', 'attach_id')->{TYPE} ne 'BIGSERIAL') { - $dbh->bz_drop_related_fks('attachments', 'attach_id'); - $dbh->bz_alter_column('attach_data', 'id', {TYPE => 'INT5'}); - $dbh->bz_alter_column('bugs_activity', 'attach_id', {TYPE => 'INT5'}); - $dbh->bz_alter_column('flags', 'attach_id', {TYPE => 'INT5'}); - # the following two are bmo extensions - $dbh->bz_alter_column('flag_state_activity', 'attachment_id', {TYPE => 'INT5'}); - $dbh->bz_alter_column('autoland_attachments', 'attach_id', {TYPE => 'INT5'}); - $dbh->bz_alter_column('attachments', 'attach_id', - {TYPE => 'BIGSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); - } -} - sub _fix_dependencies_dupes { my $dbh = Bugzilla->dbh; my $blocked_idx = $dbh->bz_index_info('dependencies', 'dependencies_blocked_idx'); diff --git a/checksetup.pl b/checksetup.pl index 4f37ea350..501138c6d 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -144,6 +144,8 @@ Bugzilla::DB::bz_create_database() if $lc_hash->{'db_check'}; # now get a handle to the database: my $dbh = Bugzilla->dbh; +# Clear all keys from Memcached to ensure we see the correct schema. +Bugzilla->memcached->clear_all(); # Create the tables, and do any database-specific schema changes. $dbh->bz_setup_database(); # Populate the tables that hold the values for the <select> fields. diff --git a/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl b/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl index 87dea003c..de1191520 100644 --- a/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl +++ b/extensions/Needinfo/template/en/default/bug/needinfo.html.tmpl @@ -137,7 +137,6 @@ <option value="qa_contact">qa contact</option> [% END %] <option value="user">myself</option> - <option value="">anyone</option> </select> <span id="needinfo_from_container"> [% INCLUDE global/userselect.html.tmpl diff --git a/extensions/Review/Extension.pm b/extensions/Review/Extension.pm index 16429ccdd..3f3383697 100644 --- a/extensions/Review/Extension.pm +++ b/extensions/Review/Extension.pm @@ -380,7 +380,7 @@ sub _check_review_flag { # extract the set flag-types my @flagtype_ids = map { /^flag_type-(\d+)$/ ? $1 : () } $cgi->param(); - @flagtype_ids = grep { $cgi->param("flag_type-$_") ne 'X' } @flagtype_ids; + @flagtype_ids = grep { $cgi->param("flag_type-$_") eq '?' } @flagtype_ids; return unless scalar(@flagtype_ids); # find valid review flagtypes @@ -656,7 +656,7 @@ sub db_schema_abstract_schema { }, attachment_id => { - TYPE => 'INT5', + TYPE => 'INT3', REFERENCES => { TABLE => 'attachments', COLUMN => 'attach_id', diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm index ef7672eaa..b72416819 100644 --- a/extensions/TrackingFlags/lib/Admin.pm +++ b/extensions/TrackingFlags/lib/Admin.pm @@ -19,6 +19,7 @@ use Bugzilla::Util qw(trim detaint_natural); use Bugzilla::Extension::TrackingFlags::Constants; use Bugzilla::Extension::TrackingFlags::Flag; +use Bugzilla::Extension::TrackingFlags::Flag::Bug; use Bugzilla::Extension::TrackingFlags::Flag::Value; use Bugzilla::Extension::TrackingFlags::Flag::Visibility; @@ -338,8 +339,16 @@ sub _update_db_values { if ($value->{id}) { my $value_obj = Bugzilla::Extension::TrackingFlags::Flag::Value->new($value->{id}) || ThrowCodeError('tracking_flags_invalid_item_id', { item => 'flag value', id => $flag->{id} }); - $value_obj->set_all($object_set); - $value_obj->update(); + my $old_value = $value_obj->value; + if ($object_set->{value} ne $old_value) { + $value_obj->set_all($object_set); + $value_obj->update(); + Bugzilla::Extension::TrackingFlags::Flag::Bug->update_all_values({ + value_obj => $value_obj, + old_value => $old_value, + new_value => $value_obj->value, + }); + } } else { $object_set->{tracking_flag_id} = $flag_obj->flag_id; Bugzilla::Extension::TrackingFlags::Flag::Value->create($object_set); diff --git a/extensions/TrackingFlags/lib/Flag/Bug.pm b/extensions/TrackingFlags/lib/Flag/Bug.pm index 5e2886e66..ea382a29d 100644 --- a/extensions/TrackingFlags/lib/Flag/Bug.pm +++ b/extensions/TrackingFlags/lib/Flag/Bug.pm @@ -122,6 +122,22 @@ sub preload_all_the_things { } } +############################## +#### Class Methods #### +############################## + +sub update_all_values { + my ($invocant, $params) = @_; + my $dbh = Bugzilla->dbh; + $dbh->do( + "UPDATE tracking_flags_bugs SET value=? WHERE tracking_flag_id=? AND value=?", + undef, + $params->{new_value}, + $params->{value_obj}->tracking_flag_id, + $params->{old_value}, + ); +} + ############################### #### Validators #### ############################### diff --git a/extensions/TryAutoLand/Extension.pm b/extensions/TryAutoLand/Extension.pm index 8aaadff95..40dbb70d9 100644 --- a/extensions/TryAutoLand/Extension.pm +++ b/extensions/TryAutoLand/Extension.pm @@ -61,7 +61,7 @@ sub db_schema_abstract_schema { $args->{'schema'}->{'autoland_attachments'} = { FIELDS => [ attach_id => { - TYPE => 'INT5', + TYPE => 'INT3', NOTNULL => 1, PRIMARYKEY => 1, REFERENCES => { diff --git a/skins/standard/global.css b/skins/standard/global.css index 63229886a..8e7799fb1 100644 --- a/skins/standard/global.css +++ b/skins/standard/global.css @@ -472,6 +472,7 @@ div.user_match { .arrow_container { margin: 0 2px; + display: inline-block; } .collapsed { |