31 lines
986 B
Text
31 lines
986 B
Text
# 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'"
|