diff --git a/database/core.tsql b/database/core.tsql index c5c1564eff910fe8c764e8deef61566af8f7b5ce..9ae656655d3eec083c5ccb3ccb8c4f2511b05627 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 15b97d85e9ff5b7f021f493400b0e71d3de5be36..2d05629dae4538c6a0a5d40381f8ba0c47d5698e 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 a9d482d53dbbe66ad96992fd5cfea629f3d99e37..ffb5661d14f62a2dba2942548b5453b93c6ca50e 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