diff options
author | mkanat%bugzilla.org <> | 2009-04-04 06:11:25 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-04-04 06:11:25 +0200 |
commit | 2c536d9c715f931d06e28850dba33241f43a078c (patch) | |
tree | a883644b68b6e262e3103eecd53ae26d3557757c /Bugzilla | |
parent | f9a7938b592a1d95fc718c2b86cf90506615b675 (diff) | |
download | bugzilla-2c536d9c715f931d06e28850dba33241f43a078c.tar.gz bugzilla-2c536d9c715f931d06e28850dba33241f43a078c.tar.xz |
Bug 486239: [Oracle] Missing keyword RESTRICT on fk creation (DB::Schema explicitly specified DELETE => 'RESTRICT')
Patch by Xiaoou Wu <xiaoou.wu@oracle.com> and Max Kanat-Alexander <mkanat@bugzilla.org> r=mkanat
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/DB/Schema.pm | 3 | ||||
-rw-r--r-- | Bugzilla/DB/Schema/Oracle.pm | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 7f094983f..fc4361d17 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -381,8 +381,7 @@ use constant ABSTRACT_SCHEMA => { DELETE => 'CASCADE'}}, who => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'profiles', - COLUMN => 'userid', - DELETE => 'RESTRICT'}}, + COLUMN => 'userid'}}, bug_when => {TYPE => 'DATETIME', NOTNULL => 1}, work_time => {TYPE => 'decimal(5,2)', NOTNULL => 1, DEFAULT => '0'}, diff --git a/Bugzilla/DB/Schema/Oracle.pm b/Bugzilla/DB/Schema/Oracle.pm index 8332be707..d8b24e49b 100644 --- a/Bugzilla/DB/Schema/Oracle.pm +++ b/Bugzilla/DB/Schema/Oracle.pm @@ -145,6 +145,9 @@ sub get_fk_ddl { my $to_column = $references->{COLUMN} || confess "No column in reference"; my $fk_name = $self->_get_fk_name($table, $column, $references); + # 'ON DELETE RESTRICT' is enabled by default + $delete = "" if ($delete =~ /RESTRICT/i); + my $fk_string = "\n CONSTRAINT $fk_name FOREIGN KEY ($column)\n" . " REFERENCES $to_table($to_column)\n"; |