Alter the rest of integer fields to be INT4, remove sub Bugzilla->COLUMNS, add BIGSERIAL type
parent
1453596813
commit
5f999b339f
|
@ -873,9 +873,6 @@ sub cache_fields
|
|||
return $Bugzilla::CACHE_FIELDS;
|
||||
}
|
||||
|
||||
sub COLUMNS { Bugzilla::Search->COLUMNS }
|
||||
sub COLUMN_ALIASES { Bugzilla::Search->COLUMN_ALIASES }
|
||||
|
||||
sub rc_cache_fields
|
||||
{
|
||||
my $class = shift;
|
||||
|
|
|
@ -593,7 +593,7 @@ use constant ABSTRACT_SCHEMA => {
|
|||
# (originally CustIS Bugs 53617, 91153)
|
||||
fieldvaluecontrol => {
|
||||
FIELDS => [
|
||||
field_id => {TYPE => 'INT4', NOTNULL => 1},
|
||||
field_id => {TYPE => 'INT4', NOTNULL => 1, REFERENCES => {TABLE => 'fielddefs', COLUMN => 'id'}},
|
||||
value_id => {TYPE => 'INT4', NOTNULL => 1},
|
||||
visibility_value_id => {TYPE => 'INT4', NOTNULL => 1},
|
||||
],
|
||||
|
@ -1016,18 +1016,11 @@ use constant ABSTRACT_SCHEMA => {
|
|||
|
||||
category_group_map => {
|
||||
FIELDS => [
|
||||
category_id => {TYPE => 'INT4', NOTNULL => 1,
|
||||
REFERENCES => {TABLE => 'series_categories',
|
||||
COLUMN => 'id',
|
||||
DELETE => 'CASCADE'}},
|
||||
group_id => {TYPE => 'INT4', NOTNULL => 1,
|
||||
REFERENCES => {TABLE => 'groups',
|
||||
COLUMN => 'id',
|
||||
DELETE => 'CASCADE'}},
|
||||
category_id => {TYPE => 'INT4', NOTNULL => 1, REFERENCES => {TABLE => 'series_categories', COLUMN => 'id', DELETE => 'CASCADE'}},
|
||||
group_id => {TYPE => 'INT4', NOTNULL => 1, REFERENCES => {TABLE => 'groups', COLUMN => 'id', DELETE => 'CASCADE'}},
|
||||
],
|
||||
INDEXES => [
|
||||
category_group_map_category_id_idx =>
|
||||
{FIELDS => [qw(category_id group_id)], TYPE => 'UNIQUE'},
|
||||
category_group_map_category_id_idx => {FIELDS => [qw(category_id group_id)], TYPE => 'UNIQUE'},
|
||||
],
|
||||
},
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ sub _initialize {
|
|||
SMALLSERIAL => 'smallint auto_increment',
|
||||
MEDIUMSERIAL => 'mediumint auto_increment',
|
||||
INTSERIAL => 'integer auto_increment',
|
||||
BIGSERIAL => 'bigint auto_increment',
|
||||
|
||||
TINYTEXT => 'tinytext',
|
||||
MEDIUMTEXT => 'mediumtext',
|
||||
|
|
|
@ -61,6 +61,7 @@ sub _initialize {
|
|||
SMALLSERIAL => 'integer',
|
||||
MEDIUMSERIAL => 'integer',
|
||||
INTSERIAL => 'integer',
|
||||
BIGSERIAL => 'bigint',
|
||||
|
||||
TINYTEXT => 'varchar(255)',
|
||||
MEDIUMTEXT => 'varchar(4000)',
|
||||
|
|
|
@ -54,6 +54,7 @@ sub _initialize {
|
|||
SMALLSERIAL => 'serial unique',
|
||||
MEDIUMSERIAL => 'serial unique',
|
||||
INTSERIAL => 'serial unique',
|
||||
BIGSERIAL => 'bigserial unique',
|
||||
|
||||
TINYTEXT => 'varchar(255)',
|
||||
MEDIUMTEXT => 'text',
|
||||
|
|
|
@ -712,7 +712,8 @@ WHERE description LIKE\'%[CC:%\'');
|
|||
$dbh->bz_add_index('bugs_activity', 'bugs_activity_removed_idx', ['removed(255)']);
|
||||
|
||||
# Change types of all ID fields to INT4
|
||||
if ($dbh->bz_column_info('bugs', 'bug_id')->{TYPE} ne 'INTSERIAL')
|
||||
if ($dbh->bz_column_info('bugs', 'bug_id')->{TYPE} ne 'INTSERIAL' ||
|
||||
$dbh->bz_column_info('fieldvaluecontrol', 'field_id')->{TYPE} ne 'INT4')
|
||||
{
|
||||
_change_int_keys_to_int4();
|
||||
}
|
||||
|
@ -819,6 +820,11 @@ WHERE description LIKE\'%[CC:%\'');
|
|||
# Add FK to multi select field tables
|
||||
_add_foreign_keys_to_multiselects();
|
||||
|
||||
if (!$dbh->bz_fk_info('fieldvaluecontrol', 'field_id'))
|
||||
{
|
||||
$dbh->do("DELETE FROM fieldvaluecontrol WHERE field_id=0");
|
||||
}
|
||||
|
||||
_move_old_defaults($old_params);
|
||||
|
||||
################################################################
|
||||
|
@ -3951,18 +3957,23 @@ sub _change_int_keys_to_int4
|
|||
$abs = { @{$abs->{FIELDS}} } if $abs;
|
||||
while (my ($column, $d) = each %h)
|
||||
{
|
||||
if ($d->{TYPE} =~ /SERIAL/is)
|
||||
if ($d->{TYPE} =~ /INT|SERIAL/ && ($abs && $abs->{$column} ||
|
||||
$d->{TYPE} =~ /(?<!INT)SERIAL/ || $d->{REFERENCES} || $d->{PRIMARYKEY}))
|
||||
{
|
||||
push @$alter, [ $table, $column, { %$d, TYPE => 'INTSERIAL' } ];
|
||||
}
|
||||
elsif ($d->{TYPE} =~ /INT/is && ($d->{REFERENCES} || $d->{PRIMARYKEY} || $abs && $abs->{$column}->{REFERENCES}))
|
||||
{
|
||||
if ($d->{REFERENCES})
|
||||
my $nt = $abs && $abs->{$column} && $abs->{$column}->{TYPE};
|
||||
if (!$nt)
|
||||
{
|
||||
# Foreign keys will be automatically recreated later
|
||||
$dbh->bz_drop_fk($table, $column);
|
||||
$nt = $d->{TYPE} =~ /SERIAL/ ? 'INTSERIAL' : 'INT4';
|
||||
}
|
||||
if (lc $d->{TYPE} ne lc $nt)
|
||||
{
|
||||
if ($d->{REFERENCES})
|
||||
{
|
||||
# Foreign keys will be automatically recreated later
|
||||
$dbh->bz_drop_fk($table, $column);
|
||||
}
|
||||
push @$alter, [ $table, $column, { %$d, TYPE => $nt } ];
|
||||
}
|
||||
push @$alter, [ $table, $column, { %$d, TYPE => 'INT4' } ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1334,6 +1334,7 @@ _close_standby_message($contenttype, $disposition, $serverpush);
|
|||
################################################################################
|
||||
|
||||
$vars->{template_format} = $ARGS->{format};
|
||||
$vars->{COLUMNS} = Bugzilla::Search->COLUMNS;
|
||||
|
||||
# Generate and return the UI (HTML page) from the appropriate template.
|
||||
my $output;
|
||||
|
|
|
@ -51,7 +51,8 @@ my @masterlist =
|
|||
|
||||
Bugzilla::Hook::process('colchange_columns', {'columns' => \@masterlist} );
|
||||
|
||||
$vars->{'masterlist'} = \@masterlist;
|
||||
$vars->{masterlist} = \@masterlist;
|
||||
$vars->{COLUMNS} = Bugzilla::Search->COLUMNS;
|
||||
|
||||
my @collist;
|
||||
if (defined $cgi->param('rememberedquery')) {
|
||||
|
|
|
@ -63,13 +63,13 @@
|
|||
size="15" multiple="multiple" onchange="updateView();">
|
||||
[% FOREACH column = collist %]
|
||||
<option value="[% column FILTER html %]" selected="selected">
|
||||
[% Bugzilla.COLUMNS.${column}.title || column | html %]
|
||||
[% COLUMNS.${column}.title || column | html %]
|
||||
</option>
|
||||
[% END %]
|
||||
[% FOREACH column = masterlist %]
|
||||
[% IF lsearch(collist, column) == -1 %]
|
||||
<option value="[% column FILTER html %]">
|
||||
[% Bugzilla.COLUMNS.${column}.title || column | html %]
|
||||
[% COLUMNS.${column}.title || column | html %]
|
||||
</option>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
|
|
@ -206,7 +206,7 @@
|
|||
|
||||
[% FOREACH column = displaycolumns %]
|
||||
<td class="bz_[% column FILTER css_class_quote %]_column bz_f[% bug_fields.$column.type %]
|
||||
[%- IF Bugzilla.COLUMNS.$column.subid %] bz_[% Bugzilla.COLUMNS.$column.subid | css_class_quote %]_column[% END %]"
|
||||
[%- IF COLUMNS.$column.subid %] bz_[% COLUMNS.$column.subid | css_class_quote %]_column[% END %]"
|
||||
[%- IF abbrev.$column.maxlength %] title="[%- bug.$column | html %]"[% END %]>
|
||||
[% IF abbrev.$column.format_value %]
|
||||
[%- bug.$column FILTER format(abbrev.$column.format_value) FILTER html -%]
|
||||
|
|
Loading…
Reference in New Issue