summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB.pm
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2007-09-08 07:14:25 +0200
committermkanat%bugzilla.org <>2007-09-08 07:14:25 +0200
commitaa888f2218179d59b4f0b8e51e43b863f1da3e43 (patch)
tree4e6bf6ff4b7066b19c5b1728dd325adf4bed1f78 /Bugzilla/DB.pm
parent16336299f17522d040736cb0f063694381d9d761 (diff)
downloadbugzilla-aa888f2218179d59b4f0b8e51e43b863f1da3e43.tar.gz
bugzilla-aa888f2218179d59b4f0b8e51e43b863f1da3e43.tar.xz
Bug 287330: Multi-Select Custom Fields
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
Diffstat (limited to 'Bugzilla/DB.pm')
-rw-r--r--Bugzilla/DB.pm18
1 files changed, 15 insertions, 3 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index 7384e7b5f..4aad803c6 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -642,9 +642,8 @@ sub _bz_add_table_raw {
$self->do($_) foreach (@statements);
}
-sub bz_add_field_table {
- my ($self, $name) = @_;
- my $table_schema = $self->_bz_schema->FIELD_TABLE_SCHEMA;
+sub _bz_add_field_table {
+ my ($self, $name, $table_schema) = @_;
# We do nothing if the table already exists.
return if $self->bz_table_info($name);
my $indexes = $table_schema->{INDEXES};
@@ -659,6 +658,19 @@ sub bz_add_field_table {
$self->bz_add_table($name);
}
+sub bz_add_field_tables {
+ my ($self, $field) = @_;
+
+ $self->_bz_add_field_table($field->name,
+ $self->_bz_schema->FIELD_TABLE_SCHEMA);
+ if ( $field->type == FIELD_TYPE_MULTI_SELECT ) {
+ $self->_bz_add_field_table('bug_' . $field->name,
+ $self->_bz_schema->MULTI_SELECT_VALUE_TABLE);
+ }
+
+}
+
+
sub bz_drop_column {
my ($self, $table, $column) = @_;