From: Tony Mack Date: Fri, 3 Apr 2009 03:03:10 +0000 (+0000) Subject: create indexes on name and type fields when creating geni tables X-Git-Tag: sfa-0.9-0@14641~525 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d0209f3bb815b102304638338d2e4cca90d7e0cd;p=sfa.git create indexes on name and type fields when creating geni tables --- diff --git a/geni/util/genitable.py b/geni/util/genitable.py index 36d40e97..7de2b4b8 100644 --- a/geni/util/genitable.py +++ b/geni/util/genitable.py @@ -37,13 +37,16 @@ class GeniTable(): return False def create(self): + querystr = "CREATE TABLE " + self.tablename + " ( \ key text, \ name text, \ gid text, \ type text, \ pointer integer);" - + template = "CREATE INDEX %s_%s_idx ON %s (%s);" + indexes = [template % ( self.tablename, field, self.tablename, field) \ + for field in ['name', 'type' ]] # IF EXISTS doenst exist in postgres < 8.2 try: self.cnx.query('DROP TABLE IF EXISTS ' + self.tablename) @@ -54,6 +57,8 @@ class GeniTable(): pass self.cnx.query(querystr) + for index in indexes: + self.cnx.query(index) def remove(self, record): query_str = "DELETE FROM " + self.tablename + " WHERE key = '" + record.get_key() + "'"