[MINOR] add the "force-persist" statement to force persistence on down servers
This is used to force access to down servers for some requests. This
is useful when validating that a change on a server correctly works
before enabling the server again.
diff --git a/src/backend.c b/src/backend.c
index 3d815ac..8b8b437 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -888,7 +888,8 @@
* would bring us on the same server again. Note that t->srv is set in
* this case.
*/
- if ((t->flags & SN_DIRECT) && (t->be->options & PR_O_REDISP)) {
+ if (((t->flags & (SN_DIRECT|SN_FORCE_PRST)) == SN_DIRECT) &&
+ (t->be->options & PR_O_REDISP)) {
t->flags &= ~(SN_DIRECT | SN_ASSIGNED | SN_ADDR_SET);
t->prev_srv = t->srv;
goto redispatch;