From 56ecefc77e4acc56300b6588cc0aa3db6a460cad Mon Sep 17 00:00:00 2001 From: Mike Hibler <hibler@cs.utah.edu> Date: Fri, 3 Jan 2014 21:46:16 -0700 Subject: [PATCH] New database fields for lease_daemon. --- sql/database-create.sql | 4 +++- sql/updates/4/375 | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 sql/updates/4/375 diff --git a/sql/database-create.sql b/sql/database-create.sql index 3829bfb11f..3fbf699763 100644 --- a/sql/database-create.sql +++ b/sql/database-create.sql @@ -3552,8 +3552,10 @@ CREATE TABLE `project_leases` ( `inception` timestamp NOT NULL default CURRENT_TIMESTAMP, `lease_end` timestamp NOT NULL default '2037-01-19 03:14:07', `last_used` timestamp NOT NULL default '0000-00-00 00:00:00', - `state` enum('valid','unapproved','grace','locked','expired','initializing') NOT NULL default 'unapproved', + `last_checked` timestamp NOT NULL default '0000-00-00 00:00:00', + `state` enum('valid','unapproved','grace','locked','expired') NOT NULL default 'unapproved', `statestamp` timestamp NOT NULL default '0000-00-00 00:00:00', + `renewals` int(10) unsigned NOT NULL default '0', `locked` datetime default NULL, `locker_pid` int(11) default '0', PRIMARY KEY (`lease_idx`), diff --git a/sql/updates/4/375 b/sql/updates/4/375 new file mode 100644 index 0000000000..a385f062a5 --- /dev/null +++ b/sql/updates/4/375 @@ -0,0 +1,34 @@ +# +# project_leases: +# 1. get rid of ill-advised initializing state. +# 2. add last_checked timestamp. +# 3. add renewals count. +# +use strict; +use libdb; + +sub DoUpdate($$$) +{ + my ($dbhandle, $dbname, $version) = @_; + + DBQueryFatal("alter table project_leases change state ". + "state enum('valid','unapproved','grace','locked','expired') ". + "NOT NULL default 'unapproved'"); + if (! DBSlotExists("project_leases", "last_checked")) { + DBQueryFatal("alter table project_leases add ". + "`last_checked` timestamp ". + "NOT NULL default '0000-00-00 00:00:00' ". + "after `last_used`"); + } + if (! DBSlotExists("project_leases", "renewals")) { + DBQueryFatal("alter table project_leases add ". + "`renewals` int(10) unsigned NOT NULL default '0' ". + "after `statestamp`"); + } + return 0; + +} + +# Local Variables: +# mode:perl +# End: -- GitLab