diff options
Diffstat (limited to 'database/postgresql/sql-schema.sql')
| -rw-r--r-- | database/postgresql/sql-schema.sql | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/database/postgresql/sql-schema.sql b/database/postgresql/sql-schema.sql index dc75a82..6634344 100644 --- a/database/postgresql/sql-schema.sql +++ b/database/postgresql/sql-schema.sql @@ -95,6 +95,21 @@ CREATE TABLE lastlog ( ); CREATE UNIQUE INDEX lastlog_sessionkey ON lastlog(sessionkey); +-- View lastlog_update: A view with columns which is allowed to be updated +CREATE VIEW lastlog_update AS + SELECT sessionkey, sessionstatus, macaddr, logout, session_deleted, session_duration, + bytes_sent, bytes_received + FROM lastlog; +CREATE RULE lastlog_allow_update + AS ON UPDATE TO lastlog_update + DO INSTEAD UPDATE lastlog + SET sessionstatus = NEW.sessionstatus, macaddr = NEW.macaddr, + logout = NEW.logout, session_deleted = NEW.session_deleted, + session_duration = NEW.session_duration, + bytes_sent = NEW.bytes_sent, bytes_received = NEW.bytes_received + WHERE sessionkey = OLD.sessionkey + AND sessionstatus = OLD.sessionstatus; + -- Table macaddr_history: This keeps an overview over which MAC addresses a session -- have used, in case the client changes the MAC address. CREATE TABLE macaddr_history ( |
