# 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 - EXTRACT(epoch FROM AcctStartTime)), 0)) \ FROM radacct \ WHERE UserName='%{${key}}' \ AND EXTRACT(epoch FROM 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 EXTRACT(epoch FROM 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 EXTRACT(epoch FROM AcctStartTime) BETWEEN '%%b' AND '%%e'"