summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--psycopg/pqpath.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b50cd7d..834b2bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2008-03-07 Jason Erickson <jerickso@stickpeople.com>
+ * psycopg/pqpath.c (pq_raise): if PSYCOPG_EXTENSIONS is not
+ defined, raise OperationalError rather than
+ TransactionRollbackError for deadlock or serialisation errors.
+
* psycopg/psycopgmodule.c (psyco_connect): fix off by one error in
calculating the length of the DSN.
diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c
index 54263bc..14eecd2 100644
--- a/psycopg/pqpath.c
+++ b/psycopg/pqpath.c
@@ -196,7 +196,11 @@ pq_raise(connectionObject *conn, cursorObject *curs, PGresult *pgres)
exc = IntegrityError;
else if (strstr(err, "could not serialize") ||
strstr(err, "deadlock detected"))
+#ifdef PSYCOPG_EXTENSIONS
exc = TransactionRollbackError;
+#else
+ exc = OperationalError;
+#endif
else
exc = ProgrammingError;
}