| # |
| # This query properly handles calls that span from the |
| # previous reset period into the current period but |
| # involves more work for the SQL server than those |
| # below |
| # |
| query = "\ |
| SELECT SUM(AcctSessionTime - GREATER((%b - AcctStartTime::ABSTIME::INT4), 0)) \ |
| FROM radacct \ |
| WHERE UserName='%{${key}}' \ |
| AND AcctStartTime::ABSTIME::INT4 + AcctSessionTime > '%b'" |
| |
| # |
| # This query ignores calls that started in a previous |
| # reset period and continue into into this one. But it |
| # is a little easier on the SQL server |
| # |
| #query = "\ |
| # SELECT SUM(AcctSessionTime) \ |
| # FROM radacct \ |
| # WHERE UserName='%{${key}}' \ |
| # AND AcctStartTime::ABSTIME::INT4 > '%b'" |
| |
| # |
| # This query is the same as above, but demonstrates an |
| # additional counter parameter '%e' which is the |
| # timestamp for the end of the period |
| # |
| #query = "\ |
| # SELECT SUM(AcctSessionTime) \ |
| # FROM radacct \ |
| # WHERE UserName='%{${key}}' \ |
| # AND AcctStartTime::ABSTIME::INT4 BETWEEN '%b' \ |
| # AND '%e'" |