From a497c34f7cfe0290d5129024b00f839cb78f6191 Mon Sep 17 00:00:00 2001
From: Mike Hibler <hibler@cs.utah.edu>
Date: Mon, 5 May 2014 08:51:03 -0600
Subject: [PATCH] While we are messing with images, add a size column as well.

Tracking this in the DB will eliminate the need to run imageinfo
from tmcd.
---
 sql/database-create.sql |  1 +
 sql/database-fill.sql   |  1 +
 sql/updates/4/391       | 25 +++++++++++++++++++++++++
 3 files changed, 27 insertions(+)
 create mode 100644 sql/updates/4/391

diff --git a/sql/database-create.sql b/sql/database-create.sql
index 2a43959484..33c9d4977a 100644
--- a/sql/database-create.sql
+++ b/sql/database-create.sql
@@ -1926,6 +1926,7 @@ CREATE TABLE `images` (
   `auth_key` varchar(512) default NULL,
   `decryption_key` varchar(256) default NULL,
   `hash` varchar(64) default NULL,
+  `size` bigint(20) unsigned NOT NULL default '0',
   `lba_low` bigint(20) unsigned NOT NULL default '0',
   `lba_high` bigint(20) unsigned NOT NULL default '0',
   `lba_size` int(10) unsigned NOT NULL default '512',
diff --git a/sql/database-fill.sql b/sql/database-fill.sql
index 01482a8455..c269475418 100644
--- a/sql/database-fill.sql
+++ b/sql/database-fill.sql
@@ -1057,6 +1057,7 @@ REPLACE INTO table_regex VALUES ('images','max_concurrent','text','redirect','de
 REPLACE INTO table_regex VALUES ('images','reboot_waittime','text','redirect','default:int',0,0,NULL);
 REPLACE INTO table_regex VALUES ('images','format','text','regex','^[-\\w]+$',1,8,NULL);
 REPLACE INTO table_regex VALUES ('images','hash','text','regex','^[\\w]+$',16,64,NULL);
+REPLACE INTO `table_regex` VALUES ('images','size','int','redirect','default:bigint',0,0,NULL);
 REPLACE INTO `table_regex` VALUES ('images','lba_low','int','redirect','default:bigint',0,0,NULL);
 REPLACE INTO `table_regex` VALUES ('images','lba_high','int','redirect','default:bigint',0,0,NULL);
 REPLACE INTO `table_regex` VALUES ('images','lba_size','int','redirect','default:int',0,0,NULL);
diff --git a/sql/updates/4/391 b/sql/updates/4/391
new file mode 100644
index 0000000000..4ae77d09a6
--- /dev/null
+++ b/sql/updates/4/391
@@ -0,0 +1,25 @@
+#
+# Image state info for tracking size of image.
+#
+use strict;
+use libdb;
+
+sub DoUpdate($$$)
+{
+    my ($dbhandle, $dbname, $version) = @_;
+
+    if (!DBSlotExists("images", "size")) {
+	DBQueryFatal("ALTER TABLE images ADD ".
+		     "`size` bigint unsigned NOT NULL default '0' ".
+		     "   AFTER hash");
+
+	DBQueryFatal("REPLACE INTO table_regex VALUES ".
+		     "('images','size','int','redirect',".
+		     "'default:bigint',0,0,NULL)");
+    }
+    return 0;
+}
+
+# Local Variables:
+# mode:perl
+# End:
-- 
GitLab