diff options
author | ivan <ivan> | 2008-02-11 00:53:10 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-02-11 00:53:10 +0000 |
commit | 4a6d050ac37bdc474e78da2d6b9e845cf9794834 (patch) | |
tree | be9578814456e22d7fa9da6a5cee90427c320702 /FS/FS/Cron | |
parent | 96f045fb93dc522c012cddcbba2ded3b2a30db35 (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.pm | 22 |
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 #*/ |