]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 486239: [Oracle] Missing keyword RESTRICT on fk creation (DB::Schema explicitly...
authormkanat%bugzilla.org <>
Sat, 4 Apr 2009 04:11:25 +0000 (04:11 +0000)
committermkanat%bugzilla.org <>
Sat, 4 Apr 2009 04:11:25 +0000 (04:11 +0000)
Patch by Xiaoou Wu <xiaoou.wu@oracle.com> and Max Kanat-Alexander <mkanat@bugzilla.org> r=mkanat

Bugzilla/DB/Schema.pm
Bugzilla/DB/Schema/Oracle.pm

index 7f094983f8eb701366fcd942df8e05fe495ed641..fc4361d1758e993e358780b231a48587493c0c34 100644 (file)
@@ -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'},
index 8332be707a2c5a38c527be9fad9b7f706a3087fd..d8b24e49b9a2d1d40b20743af6e8aaf48254a2ac 100644 (file)
@@ -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";