diff options
author | mkanat%bugzilla.org <> | 2008-11-06 00:27:11 +0100 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2008-11-06 00:27:11 +0100 |
commit | 17cf16167f43217f8f878693347b1e170126daaa (patch) | |
tree | 3ca5b7bdecfb2428626566440c485c4fd757d736 /Bugzilla/DB/Oracle.pm | |
parent | 81c5ce1dc742b256c692a61c4369f7ecce114cde (diff) | |
download | bugzilla-17cf16167f43217f8f878693347b1e170126daaa.tar.gz bugzilla-17cf16167f43217f8f878693347b1e170126daaa.tar.xz |
Bug 460421: [Oracle] Adding custom fields with type FIELD_TYPE_MULTI_SELECT requires a unique constraint on the "value" column
Patch By Xiaoou Wu <xiaoou.wu@oracle.com> r=mkanat, a=mkanat
Diffstat (limited to 'Bugzilla/DB/Oracle.pm')
-rw-r--r-- | Bugzilla/DB/Oracle.pm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm index c8195d4a7..854b72a43 100644 --- a/Bugzilla/DB/Oracle.pm +++ b/Bugzilla/DB/Oracle.pm @@ -208,6 +208,15 @@ sub sql_in { return "( " . join(" OR ", @in_str) . " )"; } +sub _bz_add_field_table { + my ($self, $name, $schema_ref, $type) = @_; + $self->SUPER::_bz_add_field_table($name, $schema_ref); + if (defined($type) && $type == FIELD_TYPE_MULTI_SELECT) { + my $uk_name = "UK_" . $self->_bz_schema->_hash_identifier($name . '_value'); + $self->do("ALTER TABLE $name ADD CONSTRAINT $uk_name UNIQUE(value)"); + } +} + sub bz_drop_table { my ($self, $name) = @_; my $table_exists = $self->bz_table_info($name); |