]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 421064: [Oracle] whine.pl crashes and doesn't work (fix sql_interval and DB:...
authormkanat%bugzilla.org <>
Mon, 30 Jun 2008 02:36:48 +0000 (02:36 +0000)
committermkanat%bugzilla.org <>
Mon, 30 Jun 2008 02:36:48 +0000 (02:36 +0000)
Patch By Xiaoou Wu <xiaoou.wu@oracle.com> r=mkanat, a=mkanat

Bugzilla/DB/Oracle.pm

index 9f759785e2fb03fe20af59bb46b5d06844788d31..255ece03b48417ea0eefaa3b396e6f008eb37c7b 100644 (file)
@@ -157,8 +157,11 @@ sub sql_date_format {
 
 sub sql_interval {
     my ($self, $interval, $units) = @_;
-
-    return "INTERVAL " . $self->quote($interval) . " $units";
+    if ($units =~ /YEAR|MONTH/i) {
+        return "NUMTOYMINTERVAL($interval,'$units')";
+    } else{
+        return "NUMTODSINTERVAL($interval,'$units')";
+    }
 }
 
 sub sql_position {
@@ -476,7 +479,7 @@ sub bz_setup_database {
 }
 
 package Bugzilla::DB::Oracle::st;
-use base qw(DBD::Oracle::st);
+use base qw(DBI::st);
  
 sub fetchrow_arrayref {
     my $self = shift;
@@ -531,5 +534,13 @@ sub fetchall_hashref {
     }
      return $ref;
 }
-    
+
+sub fetch {
+    my $self = shift;
+    my $row = $self->SUPER::fetch(@_);
+    if ($row) {
+      Bugzilla::DB::Oracle::_fix_arrayref($row);
+    }
+   return $row;
+}
 1;