summaryrefslogtreecommitdiff
path: root/FS/FS/Cron
diff options
context:
space:
mode:
authorivan <ivan>2008-02-11 00:53:10 +0000
committerivan <ivan>2008-02-11 00:53:10 +0000
commit4a6d050ac37bdc474e78da2d6b9e845cf9794834 (patch)
treebe9578814456e22d7fa9da6a5cee90427c320702 /FS/FS/Cron
parent96f045fb93dc522c012cddcbba2ded3b2a30db35 (diff)
third time's the charm: MySQL didn't like casting to INTEGER, it wants SIGNED. whew.
Diffstat (limited to 'FS/FS/Cron')
-rw-r--r--FS/FS/Cron/notify.pm22
1 files changed, 13 insertions, 9 deletions
diff --git a/FS/FS/Cron/notify.pm b/FS/FS/Cron/notify.pm
index 0603e6b..23cf920 100644
--- a/FS/FS/Cron/notify.pm
+++ b/FS/FS/Cron/notify.pm
@@ -3,7 +3,7 @@ package FS::Cron::notify;
use strict;
use vars qw( @ISA @EXPORT_OK $DEBUG );
use Exporter;
-use FS::UID qw( dbh );
+use FS::UID qw( dbh driver_name );
use FS::Record qw(qsearch);
use FS::cust_main;
use FS::cust_pkg;
@@ -22,6 +22,8 @@ sub notify_flat_delay {
#we're at now now (and later).
my($time) = $^T;
+ my $integer = driver_name =~ /^mysql/ ? 'SIGNED' : 'INTEGER';
+
# select * from cust_pkg where
my $where_pkg = <<"END";
where ( cancel is null or cancel = 0 )
@@ -34,19 +36,21 @@ sub notify_flat_delay {
where part_pkg.pkgpart = part_pkg_option.pkgpart
and part_pkg_option.optionname = 'recur_notify'
and part_pkg_option.optionvalue > 0
- and 0 <= $time
- + cast(part_pkg_option.optionvalue as integer)
- * 86400
- - cust_pkg.bill
+ and 0 <= ( $time
+ + CAST( part_pkg_option.optionvalue AS $integer )
+ * 86400
+ - cust_pkg.bill
+ )
and ( cust_pkg.expire is null
- or cust_pkg.expire > $time
- + cast(part_pkg_option.optionvalue as integer)
- * 86400
+ or cust_pkg.expire > ( $time
+ + CAST( part_pkg_option.optionvalue AS $integer )
+ * 86400
+ )
END
#/* and ( cust_pkg.adjourn is null
# or cust_pkg.adjourn > $time
-#-- Should notify suspended ones + cast(part_pkg_option.optionvalue as integer)
+#-- Should notify suspended ones + cast(part_pkg_option.optionvalue as $integer)
# * 86400
#*/