From: Dave Lawrence Date: Fri, 16 Dec 2011 20:43:21 +0000 (-0500) Subject: Last Comment Bug 685611 - delta_ts is updated even when no changes are made to bugs... X-Git-Tag: bugzilla-4.2rc1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55430d087503640c7637ed8bdfe8765d5653dc85;p=thirdparty%2Fbugzilla.git Last Comment Bug 685611 - delta_ts is updated even when no changes are made to bugs created via WebServices r/a=LpSolit --- diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 6d9a33ef74..adbbf7b38d 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -255,7 +255,8 @@ use constant ABSTRACT_SCHEMA => { assigned_to => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'profiles', COLUMN => 'userid'}}, - bug_file_loc => {TYPE => 'MEDIUMTEXT'}, + bug_file_loc => {TYPE => 'MEDIUMTEXT', + NOTNULL => 1, DEFAULT => "''"}, bug_severity => {TYPE => 'varchar(64)', NOTNULL => 1}, bug_status => {TYPE => 'varchar(64)', NOTNULL => 1}, creation_ts => {TYPE => 'DATETIME'}, diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index 219172094f..dbee5df3d1 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -152,10 +152,12 @@ use constant UPDATE_COLUMNS => qw( use constant SQL_DEFINITIONS => { # Using commas because these are constants and they shouldn't # be auto-quoted by the "=>" operator. - FIELD_TYPE_FREETEXT, { TYPE => 'varchar(255)' }, + FIELD_TYPE_FREETEXT, { TYPE => 'varchar(255)', + NOTNULL => 1, DEFAULT => "''"}, FIELD_TYPE_SINGLE_SELECT, { TYPE => 'varchar(64)', NOTNULL => 1, DEFAULT => "'---'" }, - FIELD_TYPE_TEXTAREA, { TYPE => 'MEDIUMTEXT' }, + FIELD_TYPE_TEXTAREA, { TYPE => 'MEDIUMTEXT', + NOTNULL => 1, DEFAULT => "''"}, FIELD_TYPE_DATETIME, { TYPE => 'DATETIME' }, FIELD_TYPE_BUG_ID, { TYPE => 'INT3' }, }; diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 84267de412..dff3c6d2e9 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -29,6 +29,7 @@ use Bugzilla::Install::Util qw(indicate_progress install_string); use Bugzilla::Util; use Bugzilla::Series; use Bugzilla::BugUrl; +use Bugzilla::Field; use Date::Parse; use Date::Format; @@ -659,6 +660,9 @@ sub update_table_definitions { # 2011-10-11 miketosh - Bug 690173 _on_delete_set_null_for_audit_log_userid(); + # 2011-11-28 dkl@mozilla.com - Bug 685611 + _fix_notnull_defaults(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3614,6 +3618,31 @@ sub _on_delete_set_null_for_audit_log_userid { } } +sub _fix_notnull_defaults { + my $dbh = Bugzilla->dbh; + + $dbh->bz_alter_column('bugs', 'bug_file_loc', + {TYPE => 'MEDIUMTEXT', NOTNULL => 1, + DEFAULT => "''"}, ''); + + my $custom_fields = Bugzilla::Field->match({ + custom => 1, type => [ FIELD_TYPE_FREETEXT, FIELD_TYPE_TEXTAREA ] + }); + + foreach my $field (@$custom_fields) { + if ($field->type == FIELD_TYPE_FREETEXT) { + $dbh->bz_alter_column('bugs', $field->name, + {TYPE => 'varchar(255)', NOTNULL => 1, + DEFAULT => "''"}, ''); + } + if ($field->type == FIELD_TYPE_TEXTAREA) { + $dbh->bz_alter_column('bugs', $field->name, + {TYPE => 'MEDIUMTEXT', NOTNULL => 1, + DEFAULT => "''"}, ''); + } + } +} + 1; __END__