33 lines
993 B
Text
33 lines
993 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 - UNIX_TIMESTAMP(acctstarttime)), 0)) \
|
|
FROM radacct \
|
|
WHERE username = '%{${key}}' \
|
|
AND UNIX_TIMESTAMP(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 > FROM_UNIXTIME('%%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 FROM_UNIXTIME('%%b') AND FROM_UNIXTIME('%%e')"
|