Changeset: d7c57043a137 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d7c57043a137
Modified Files:
        testing/sqllogictest.py
Branch: Oct2020
Log Message:

Catch more exceptions from pymonetdb.


diffs (52 lines):

diff --git a/testing/sqllogictest.py b/testing/sqllogictest.py
--- a/testing/sqllogictest.py
+++ b/testing/sqllogictest.py
@@ -57,7 +57,10 @@ class SQLLogic:
     def drop(self):
         self.crs.execute('select name from tables where not system')
         for row in self.crs.fetchall():
-            self.crs.execute('drop table "%s" cascade' % row[0])
+            try:
+                self.crs.execute('drop table "%s" cascade' % 
row[0].replace('"', '""'))
+            except:
+                pass
 
     def exec_statement(self, statement, expectok):
         if skipidx.search(statement) is not None:
@@ -68,6 +71,10 @@ class SQLLogic:
         except pymonetdb.DatabaseError:
             if not expectok:
                 return
+        except:
+            type, value, traceback = sys.exc_info()
+            self.query_error(statement, 'unexpected error from pymonetdb', 
str(value))
+            return
         else:
             if expectok:
                 return
@@ -127,6 +134,10 @@ class SQLLogic:
         except pymonetdb.DatabaseError as e:
             self.query_error(query, 'query failed', e.args[0])
             return
+        except:
+            type, value, traceback = sys.exc_info()
+            self.query_error(query, 'unexpected error from pymonetdb', 
str(value))
+            return
         if len(self.crs.description) != len(columns):
             self.query_error(query, 'received {} columns, expected {} 
columns'.format(len(self.crs.description), len(columns)))
             return
@@ -135,10 +146,10 @@ class SQLLogic:
             return
         try:
             data = self.crs.fetchall()
-        except pymonetdb.ProgrammingError:
-            self.query_error(query, 'query gave ProgrammingError', e.args[0])
-            err = True
-            data = []
+        except:
+            type, value, traceback = sys.exc_info()
+            self.query_error(query, 'unexpected error from pymonetdb', 
str(value))
+            return
         if self.res is not None:
             for row in data:
                 sep=''
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to