From 624035b5b8e6e646cc3fa6c549cd448514d20a83 Mon Sep 17 00:00:00 2001 From: Robert Anderson <randerson@lbsd.net> Date: Mon, 24 May 2010 08:03:41 +0000 Subject: [PATCH] Deferred usage calculations to the database Indexed PeriodKey column --- database/core.tsql | 1 + smradius/modules/accounting/mod_accounting_sql.pm | 10 +++++----- smradiusd.conf | 10 +++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/database/core.tsql b/database/core.tsql index c5c1564e..9ae65665 100644 --- a/database/core.tsql +++ b/database/core.tsql @@ -244,6 +244,7 @@ CREATE TABLE @PREFIX@accounting ( PeriodKey VARCHAR(255) ) @CREATE_TABLE_SUFFIX@; CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username); +CREATE INDEX @PREFIX@accounting_idx2 ON @PREFIX@accounting (PeriodKey); diff --git a/smradius/modules/accounting/mod_accounting_sql.pm b/smradius/modules/accounting/mod_accounting_sql.pm index 15b97d85..2d05629d 100644 --- a/smradius/modules/accounting/mod_accounting_sql.pm +++ b/smradius/modules/accounting/mod_accounting_sql.pm @@ -193,11 +193,11 @@ sub init $config->{'accounting_usage_query'} = ' SELECT - AcctInputOctets, - AcctOutputOctets, - AcctInputGigawords, - AcctOutputGigawords, - AcctSessionTime + SUM(AcctInputOctets) AS AcctInputOctets, + SUM(AcctOutputOctets) AS AcctOutputOctets, + SUM(AcctInputGigawords) AS AcctInputGigawords, + SUM(AcctOutputGigawords) AS AcctOutputGigawords, + SUM(AcctSessionTime) AS AcctSessionTime FROM @TP@accounting WHERE diff --git a/smradiusd.conf b/smradiusd.conf index a9d482d5..ffb5661d 100644 --- a/smradiusd.conf +++ b/smradiusd.conf @@ -346,11 +346,11 @@ EOT accounting_usage_query=<<EOT SELECT - AcctInputOctets, - AcctOutputOctets, - AcctInputGigawords, - AcctOutputGigawords, - AcctSessionTime + SUM(AcctInputOctets) AS AcctInputOctets, + SUM(AcctOutputOctets) AS AcctOutputOctets, + SUM(AcctInputGigawords) AS AcctInputGigawords, + SUM(AcctOutputGigawords) AS AcctOutputGigawords, + SUM(AcctSessionTime) AS AcctSessionTime FROM @TP@accounting WHERE -- GitLab