comparison 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
comparison
equal deleted inserted replaced
1937:94f9570671f0 1938:d02c1a0d8082
114 if (r == FATAL || r == BOUNDED_RETRY || r == UNLIMITED_RETRY) 114 if (r == FATAL || r == BOUNDED_RETRY || r == UNLIMITED_RETRY)
115 if (try_rollback(ctx, 0, p->ls->logger_data, p->ls->log_error)) 115 if (try_rollback(ctx, 0, p->ls->logger_data, p->ls->log_error))
116 return NULL; 116 return NULL;
117 } while (r == UNLIMITED_RETRY || (r == BOUNDED_RETRY && retries_left > 0)); 117 } while (r == UNLIMITED_RETRY || (r == BOUNDED_RETRY && retries_left > 0));
118 118
119 if (r != FATAL && r != BOUNDED_RETRY) 119 if (r != FATAL && r != BOUNDED_RETRY) {
120 uw_commit(ctx); 120 if (uw_commit(ctx))
121 r = UNLIMITED_RETRY;
122 }
121 123
122 sleep(p->pdic.period); 124 sleep(p->pdic.period);
123 }; 125 };
124 } 126 }
125 127