From 9f9da66866f415c67226b29d3110aee6efba2bae Mon Sep 17 00:00:00 2001 From: Nigel Kukard <nkukard@lbsd.net> Date: Sat, 2 May 2009 14:48:50 +0000 Subject: [PATCH] * Updated database schema to be a bit more tolerant to missing data * Added INT_UNSIGNED token to convert-tsql --- database/convert-tsql | 12 +++++++---- database/core.tsql | 48 +++++++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/database/convert-tsql b/database/convert-tsql index 32428122..0fdd599b 100755 --- a/database/convert-tsql +++ b/database/convert-tsql @@ -59,7 +59,8 @@ case "$database" in -e 's/@POSTLOAD@/SET FOREIGN_KEY_CHECKS=1;/' \ -e 's/@CREATE_TABLE_SUFFIX@/TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin/' \ -e 's/@SERIAL_TYPE@/SERIAL/' \ - -e 's/@BIG_INTEGER@/BIGINT UNSIGNED/' \ + -e 's/@BIGINT_UNSIGNED@/BIGINT UNSIGNED/' \ + -e 's/@INT_UNSIGNED@/INT UNSIGNED/' \ -e 's/@TRACK_KEY_LEN@/255/' \ -e 's/@SERIAL_REF_TYPE@/BIGINT UNSIGNED/' < "$file" ;; @@ -71,7 +72,8 @@ case "$database" in -e 's/@POSTLOAD@/SET FOREIGN_KEY_CHECKS=1;/' \ -e 's/@CREATE_TABLE_SUFFIX@/TYPE=InnoDB CHARACTER SET latin1 COLLATE latin1_bin/' \ -e 's/@SERIAL_TYPE@/SERIAL/' \ - -e 's/@BIG_INTEGER@/BIGINT UNSIGNED/' \ + -e 's/@BIGINT_UNSIGNED@/BIGINT UNSIGNED/' \ + -e 's/@INT_UNSIGNED@/INT UNSIGNED/' \ -e 's/@TRACK_KEY_LEN@/512/' \ -e 's/@SERIAL_REF_TYPE@/BIGINT UNSIGNED/' < "$file" ;; @@ -83,7 +85,8 @@ case "$database" in -e 's/@POSTLOAD@//' \ -e 's/@CREATE_TABLE_SUFFIX@//' \ -e 's/@SERIAL_TYPE@/SERIAL PRIMARY KEY/' \ - -e 's/@BIG_INTEGER@/INT8/' \ + -e 's/@BIGINT_UNSIGNED@/INT8/' \ + -e 's/@INT_UNSIGNED@/INT8/' \ -e 's/@TRACK_KEY_LEN@/512/' \ -e 's/@SERIAL_REF_TYPE@/INT8/' < "$file" ;; @@ -95,7 +98,8 @@ case "$database" in -e 's/@POSTLOAD@//' \ -e 's/@CREATE_TABLE_SUFFIX@//' \ -e 's/@SERIAL_TYPE@/INTEGER PRIMARY KEY AUTOINCREMENT/' \ - -e 's/@BIG_INTEGER@/INT8/' \ + -e 's/@BIGINT_UNSIGNED@/INT8/' \ + -e 's/@INT_UNSIGNED@/INT8/' \ -e 's/@TRACK_KEY_LEN@/512/' \ -e 's/@SERIAL_REF_TYPE@/INT8/' < "$file" ;; diff --git a/database/core.tsql b/database/core.tsql index 4d9608d9..7c5196cf 100644 --- a/database/core.tsql +++ b/database/core.tsql @@ -119,52 +119,52 @@ CREATE TABLE @PREFIX@realm_attributes ( CREATE TABLE @PREFIX@accounting ( ID @SERIAL_TYPE@, - Username VARCHAR(255) NOT NULL, + Username VARCHAR(255), - ServiceType INT UNSIGNED NOT NULL, + ServiceType @INT_UNSIGNED@, - FramedProtocol INT UNSIGNED NOT NULL, + FramedProtocol @INT_UNSIGNED@, - NASPort VARCHAR(255) NOT NULL, + NASPort VARCHAR(255), - NASPortType INT UNSIGNED NOT NULL, + NASPortType @INT_UNSIGNED@, - CallingStationID VARCHAR(255) NOT NULL, + CallingStationID VARCHAR(255), - CalledStationID VARCHAR(255) NOT NULL, + CalledStationID VARCHAR(255), - NASPortID VARCHAR(255) NOT NULL, + NASPortID VARCHAR(255), - AcctSessionID VARCHAR(255) NOT NULL, + AcctSessionID VARCHAR(255), - FramedIPAddress VARCHAR(16) NOT NULL, + FramedIPAddress VARCHAR(16), - AcctAuthentic INT UNSIGNED NOT NULL, + AcctAuthentic @INT_UNSIGNED@, - EventTimestamp DATETIME NOT NULL, + EventTimestamp DATETIME, - NASIdentifier VARCHAR(255) NOT NULL, + NASIdentifier VARCHAR(255), - NASIPAddress VARCHAR(16) NOT NULL, + NASIPAddress VARCHAR(16), - AcctDelayTime INT UNSIGNED NOT NULL, + AcctDelayTime @INT_UNSIGNED@, - AcctSessionTime INT UNSIGNED NOT NULL, + AcctSessionTime @INT_UNSIGNED@, - AcctInputOctets INT UNSIGNED NOT NULL, + AcctInputOctets @INT_UNSIGNED@, - AcctInputGigawords INT UNSIGNED NOT NULL, + AcctInputGigawords @INT_UNSIGNED@, - AcctInputPackets INT UNSIGNED NOT NULL, + AcctInputPackets @INT_UNSIGNED@, - AcctOutputOctets INT UNSIGNED NOT NULL, + AcctOutputOctets @INT_UNSIGNED@, - AcctOutputGigawords INT UNSIGNED NOT NULL, + AcctOutputGigawords @INT_UNSIGNED@, - AcctOutputPackets INT UNSIGNED NOT NULL, + AcctOutputPackets @INT_UNSIGNED@, - AcctStatusType INT UNSIGNED NOT NULL, + AcctStatusType @INT_UNSIGNED@, - AcctTerminateCause INT UNSIGNED NOT NULL + AcctTerminateCause @INT_UNSIGNED@ ) @CREATE_TABLE_SUFFIX@; CREATE INDEX @PREFIX@accounting_idx1 ON @PREFIX@accounting (Username); -- GitLab