Skip to content
Snippets Groups Projects
UPGRADING 3.14 KiB
Newer Older
r509:	
	# Database

	ALTER TABLE accounting ADD PeriodKey VARCHAR(7);
	ALTER TABLE accounting_summary DROP COLUMN AcctInputPackets;

	# smradiusd.conf

	Modified:
	accounting_start_query=<<EOT
		INSERT INTO
			@TP@accounting
		(
			Username,
			ServiceType,
			FramedProtocol,
			NASPort,
			NASPortType,
			CallingStationID,
			CalledStationID,
			NASPortID,
			AcctSessionID,
			FramedIPAddress,
			AcctAuthentic,
			EventTimestamp,
			AcctStatusType,
			NASIdentifier,
			NASIPAddress,
			AcctDelayTime,
			PeriodKey
		)
		VALUES
		(
			%{request.User-Name},
			%{request.Service-Type},
			%{request.Framed-Protocol},
			%{request.NAS-Port},
			%{request.NAS-Port-Type},
			%{request.Calling-Station-Id},
			%{request.Called-Station-Id},
			%{request.NAS-Port-Id},
			%{request.Acct-Session-Id},
			%{request.Framed-IP-Address},
			%{request.Acct-Authentic},
			%{request.Timestamp},
			%{request.Acct-Status-Type},
			%{request.NAS-Identifier},
			%{request.NAS-IP-Address},
			%{request.Acct-Delay-Time},
			%{query.PeriodKey}
		)
	EOT

	accounting_update_query=<<EOT
		UPDATE
			@TP@accounting
		SET
			AcctSessionTime = %{query.AcctSessionTime},
			AcctInputOctets = %{query.AcctInputOctets},
			AcctInputGigawords = %{query.AcctInputGigawords},
			AcctInputPackets = %{query.AcctInputPackets},
			AcctOutputOctets = %{query.AcctOutputOctets},
			AcctOutputGigawords = %{query.AcctOutputGigawords},
			AcctOutputPackets = %{query.AcctOutputPackets},
			AcctStatusType = %{request.Acct-Status-Type}
		WHERE
			Username = %{request.User-Name}
			AND AcctSessionID = %{request.Acct-Session-Id}
			AND NASIPAddress = %{request.NAS-IP-Address}
			AND PeriodKey = %{query.PeriodKey}
	EOT

	accounting_stop_query=<<EOT
		UPDATE
			@TP@accounting
		SET
			AcctSessionTime = %{query.Acct-Session-Time},
			AcctInputOctets = %{query.Acct-Input-Octets},
			AcctInputGigawords = %{query.Acct-Input-Gigawords},
			AcctInputPackets = %{query.Acct-Input-Packets},
			AcctOutputOctets = %{query.Acct-Output-Octets},
			AcctOutputGigawords = %{query.Acct-Output-Gigawords},
			AcctOutputPackets = %{query.Acct-Output-Packets}
		WHERE
			Username = %{request.User-Name}
			AND AcctSessionID = %{request.Acct-Session-Id}
			AND NASIPAddress = %{request.NAS-IP-Address}
			AND PeriodKey = %{query.PeriodKey}
	EOT

	Added:
	accounting_update_get_records_query=<<EOT
		SELECT
			SUM(AcctInputOctets) AS InputOctets,
			SUM(AcctInputPackets) AS InputPackets,
			SUM(AcctOutputOctets) AS OutputOctets,
			SUM(AcctOutputPackets) AS OutputPackets,
			SUM(AcctInputGigawords) AS InputGigawords,
			SUM(AcctOutputGigawords) AS OutputGigawords,
			SUM(AcctSessionTime) AS SessionTime,
			PeriodKey
		FROM
			@TP@accounting
		WHERE
			Username = %{request.User-Name}
			AND AcctSessionID = %{request.Acct-Session-Id}
			AND NASIPAddress = %{request.NAS-IP-Address}
		GROUP BY
			PeriodKey
		ORDER BY
			ID ASC
	EOT

	accounting_stop_status_query=<<EOT
		UPDATE
			@TP@accounting
		SET
			AcctStatusType = %{request.Acct-Status-Type},
			AcctTerminateCause = %{request.Acct-Terminate-Cause}
		WHERE
			Username = %{request.User-Name}
			AND AcctSessionID = %{request.Acct-Session-Id}
			AND NASIPAddress = %{request.NAS-IP-Address}
	EOT