[freeside-commits] freeside/FS/FS/Cron notify.pm,1.5,1.6

Ivan,,, ivan at wavetail.420.am
Sun Feb 10 16:53:12 PST 2008


Update of /home/cvs/cvsroot/freeside/FS/FS/Cron
In directory wavetail:/tmp/cvs-serv26295

Modified Files:
	notify.pm 
Log Message:
third time's the charm: MySQL didn't like casting to INTEGER, it wants SIGNED.  whew.

Index: notify.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Cron/notify.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- notify.pm	11 Feb 2008 00:02:53 -0000	1.5
+++ notify.pm	11 Feb 2008 00:53:10 -0000	1.6
@@ -3,7 +3,7 @@
 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 @@
   #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 @@
                             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
 #*/
 



More information about the freeside-commits mailing list