From: Nick Porter Date: Fri, 1 Apr 2022 14:30:22 +0000 (+0100) Subject: Add AcctUpdateTime and AcctInterval to MS SQL accounting tables X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b09a53e3d1b441acc4f5568c1eb11490cf71e59f;p=thirdparty%2Ffreeradius-server.git Add AcctUpdateTime and AcctInterval to MS SQL accounting tables To bring them in line with other databases --- diff --git a/raddb/mods-config/sql/main/mssql/queries.conf b/raddb/mods-config/sql/main/mssql/queries.conf index 8eac4177cb..9b9df1725f 100644 --- a/raddb/mods-config/sql/main/mssql/queries.conf +++ b/raddb/mods-config/sql/main/mssql/queries.conf @@ -222,6 +222,11 @@ accounting { query = "\ UPDATE ${....acct_table1} \ SET \ + AcctInterval = DATEDIFF(second, CASE WHEN AcctUpdateTime > 0 THEN AcctUpdateTime ELSE AcctStartTime END, ${....event_timestamp}), \ + AcctUpdateTime = ${....event_timestamp}, \ + AcctSessionTime = '%{Acct-Session-Time}', \ + AcctInputOctets = convert(bigint, '%{%{Acct-Input-Gigawords}:-0}' * POWER(2.0, 32)) | '%{%{Acct-Input-Octets}:-0}', \ + AcctOutputOctets = convert(bigint, '%{%{Acct-Output-Gigawords}:-0}' * POWER(2.0, 32)) | '%{%{Acct-Output-Octets}:-0}', \ FramedIPAddress = '%{Framed-IP-Address}', \ FramedIPv6Address = '%{Framed-IPv6-Address}', \ FramedIPv6Prefix = '%{Framed-IPv6-Prefix}', \ @@ -240,6 +245,8 @@ accounting { NASIPAddress, \ NASPortId, \ NASPortType, \ + AcctStartTime, \ + AcctUpdateTime, \ AcctSessionTime, \ AcctAuthentic, \ ConnectInfo_start, \ @@ -264,6 +271,8 @@ accounting { '%{NAS-IP-Address}', \ '%{%{NAS-Port-ID}:-%{NAS-Port}}', \ '%{NAS-Port-Type}', \ + ${....event_timestamp}, \ + ${....event_timestamp}, \ '%{Acct-Session-Time}', \ '%{Acct-Authentic}', \ '', \ diff --git a/raddb/mods-config/sql/main/mssql/schema.sql b/raddb/mods-config/sql/main/mssql/schema.sql index 7eeb61ff4a..9168e5aa44 100644 --- a/raddb/mods-config/sql/main/mssql/schema.sql +++ b/raddb/mods-config/sql/main/mssql/schema.sql @@ -28,7 +28,9 @@ CREATE TABLE [radacct] ( [NASPortId] [varchar] (15) NULL, [NASPortType] [varchar] (32) NULL, [AcctStartTime] [datetime] NOT NULL, + [AcctUpdateTime] [datetime] NOT NULL, [AcctStopTime] [datetime] NOT NULL, + [AcctInterval] [bigint] NULL, [AcctSessionTime] [bigint] NULL, [AcctAuthentic] [varchar] (32) NULL, [ConnectInfo_start] [varchar] (32) NULL, @@ -61,6 +63,7 @@ ALTER TABLE [radacct] WITH NOCHECK ADD CONSTRAINT [DF_radacct_NASPortId] DEFAULT (null) FOR [NASPortId], CONSTRAINT [DF_radacct_NASPortType] DEFAULT (null) FOR [NASPortType], CONSTRAINT [DF_radacct_AcctStartTime] DEFAULT ('1900-01-01 00:00:00') FOR [AcctStartTime], + CONSTRAINT [DF_radacct_AcctUpdateTime] DEFAULT ('1900-01-01 00:00:00') FOR [AcctUpdateTime], CONSTRAINT [DF_radacct_AcctStopTime] DEFAULT ('1900-01-01 00:00:00') FOR [AcctStopTime], CONSTRAINT [DF_radacct_AcctSessionTime] DEFAULT (null) FOR [AcctSessionTime], CONSTRAINT [DF_radacct_AcctAuthentic] DEFAULT (null) FOR [AcctAuthentic],