From: Tony Mack Date: Tue, 24 Feb 2009 18:14:24 +0000 (+0000) Subject: The 'IF EXISTS' postgres table create option only works for postgres >= 8.2. Now... X-Git-Tag: sfa-0.9-0@14641~628 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=7a5b651da979dffe84ae7112d5437e13f4addb22;p=sfa.git The 'IF EXISTS' postgres table create option only works for postgres >= 8.2. Now support older versions --- diff --git a/geni/util/genitable.py b/geni/util/genitable.py index 53b69c61..36d40e97 100644 --- a/geni/util/genitable.py +++ b/geni/util/genitable.py @@ -6,7 +6,7 @@ import report -from pg import DB +from pg import DB, ProgrammingError from gid import * from record import * @@ -44,7 +44,15 @@ class GeniTable(): type text, \ pointer integer);" - self.cnx.query('DROP TABLE IF EXISTS ' + self.tablename) + # IF EXISTS doenst exist in postgres < 8.2 + try: + self.cnx.query('DROP TABLE IF EXISTS ' + self.tablename) + except ProgrammingError: + try: + self.cnx.query('DROP TABLE ' + self.tablename) + except ProgrammingError: + pass + self.cnx.query(querystr) def remove(self, record):