| # |
| # 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 - GREATEST((%b - strftime('%%s', acctstarttime)), 0)) \ |
| FROM radacct \ |
| WHERE username = '%{${key}}' \ |
| AND (strftime('%%s', acctstarttime) + 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 > %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 BETWEEN %b \ |
| # AND %e" |