adding
authorivan <ivan>
Tue, 25 May 2010 12:40:50 +0000 (12:40 +0000)
committerivan <ivan>
Tue, 25 May 2010 12:40:50 +0000 (12:40 +0000)
bin/explain-bill-query [new file with mode: 0644]

diff --git a/bin/explain-bill-query b/bin/explain-bill-query
new file mode 100644 (file)
index 0000000..e3f6978
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -w
+
+use strict;
+use Getopt::Std;
+use FS::UID qw(adminsuidsetup dbh);
+use FS::Cron::bill qw(bill_where);
+
+my $user = 'fs_daily';
+
+#&untaint_argv;  #what it sounds like  (eww)
+use vars qw(%opt);
+getopts("p:a:d:vl:sy:nmrk", \%opt);
+
+adminsuidsetup $user;
+
+  #we're at now now (and later).
+  $opt{'time'} = $opt{'d'} ? str2time($opt{'d'}) : $^T;
+  $opt{'time'} += $opt{'y'} * 86400 if $opt{'y'};
+
+  $opt{'invoice_time'} = $opt{'n'} ? $^T : $opt{'time'};
+
+
+my $sql = 'EXPLAIN SELECT custnum FROM cust_main WHERE '. bill_where(%opt);
+
+my $sth = dbh->prepare($sql) or die dbh->errstr;
+
+$sth->execute or die $sth->errstr;
+
+while ( my $row = $sth->fetchrow_arrayref ) {
+
+  print join(' / ', @$row ). "\n";
+
+}
+