diff src/c/request.c @ 1938:d02c1a0d8082

Proper handling of serialization failures during SQL COMMIT
author Adam Chlipala <adam@chlipala.net>
date Mon, 23 Dec 2013 15:59:17 +0000
parents 77cde56d41b6
children c93fbd139732
line wrap: on
line diff
--- a/src/c/request.c	Tue Dec 17 20:12:33 2013 -0500
+++ b/src/c/request.c	Mon Dec 23 15:59:17 2013 +0000
@@ -116,8 +116,10 @@
           return NULL;
     } while (r == UNLIMITED_RETRY || (r == BOUNDED_RETRY && retries_left > 0));
 
-    if (r != FATAL && r != BOUNDED_RETRY)
-      uw_commit(ctx);
+    if (r != FATAL && r != BOUNDED_RETRY) {
+      if (uw_commit(ctx))
+	r = UNLIMITED_RETRY;
+    }
 
     sleep(p->pdic.period);
   };