summaryrefslogtreecommitdiffstats
path: root/Bugzilla/DB
diff options
context:
space:
mode:
authorMax Kanat-Alexander <mkanat@bugzilla.org>2010-10-07 12:58:28 +0200
committerMax Kanat-Alexander <mkanat@bugzilla.org>2010-10-07 12:58:28 +0200
commit02a049703de6055f09f44f89a5a821814696ce32 (patch)
tree5918c91ceea49d280c8c3c0ce795da549a8bf4c6 /Bugzilla/DB
parent7307c8c748e3245d65a25c016e7d92c6c7ae2aa4 (diff)
downloadbugzilla-02a049703de6055f09f44f89a5a821814696ce32.tar.gz
bugzilla-02a049703de6055f09f44f89a5a821814696ce32.tar.xz
Bug 602165: Change sql_interval to sql_date_math, in preparation for
MS-SQL and SQLite support.
Diffstat (limited to 'Bugzilla/DB')
-rw-r--r--Bugzilla/DB/Mysql.pm6
-rw-r--r--Bugzilla/DB/Oracle.pm10
-rw-r--r--Bugzilla/DB/Pg.pm6
3 files changed, 12 insertions, 10 deletions
diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm
index 1829bc450..7b7e4e9b9 100644
--- a/Bugzilla/DB/Mysql.pm
+++ b/Bugzilla/DB/Mysql.pm
@@ -226,10 +226,10 @@ sub sql_date_format {
return "DATE_FORMAT($date, " . $self->quote($format) . ")";
}
-sub sql_interval {
- my ($self, $interval, $units) = @_;
+sub sql_date_math {
+ my ($self, $date, $operator, $interval, $units) = @_;
- return "INTERVAL $interval $units";
+ return "$date $operator INTERVAL $interval $units";
}
sub sql_iposition {
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index a7ac6e93e..9fdacf24c 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -197,13 +197,15 @@ sub sql_date_format {
return "TO_CHAR($date, " . $self->quote($format) . ")";
}
-sub sql_interval {
- my ($self, $interval, $units) = @_;
+sub sql_date_math {
+ my ($self, $date, $operator, $interval, $units) = @_;
+ my $time_sql;
if ($units =~ /YEAR|MONTH/i) {
- return "NUMTOYMINTERVAL($interval,'$units')";
+ $time_sql = "NUMTOYMINTERVAL($interval,'$units')";
} else{
- return "NUMTODSINTERVAL($interval,'$units')";
+ $time_sql = "NUMTODSINTERVAL($interval,'$units')";
}
+ return "$date $operator $time_sql";
}
sub sql_position {
diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm
index 0373fb1ce..c1c656a69 100644
--- a/Bugzilla/DB/Pg.pm
+++ b/Bugzilla/DB/Pg.pm
@@ -177,10 +177,10 @@ sub sql_date_format {
return "TO_CHAR($date, " . $self->quote($format) . ")";
}
-sub sql_interval {
- my ($self, $interval, $units) = @_;
+sub sql_date_math {
+ my ($self, $date, $operator, $interval, $units) = @_;
- return "$interval * INTERVAL '1 $units'";
+ return "$date $operator $interval * INTERVAL '1 $units'";
}
sub sql_string_concat {