Mercurial > urweb
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 |