diff options
Diffstat (limited to 'src/exchangedb')
-rw-r--r-- | src/exchangedb/plugin_exchangedb_postgres.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index 3db1d4c44..36ae3e54e 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -3203,7 +3203,7 @@ struct GetRevealContext /** * Set to an error code if we ran into trouble. */ - enum TALER_ErrorCode ec; + enum GNUNET_DB_QueryStatus qs; }; @@ -3250,13 +3250,13 @@ add_revealed_coins (void *cls, i)) { GNUNET_break (0); - grctx->ec = GNUNET_DB_STATUS_HARD_ERROR; + grctx->qs = GNUNET_DB_STATUS_HARD_ERROR; return; } if (off != i) { GNUNET_break (0); - grctx->ec = GNUNET_DB_STATUS_HARD_ERROR; + grctx->qs = GNUNET_DB_STATUS_HARD_ERROR; return; } } @@ -3318,6 +3318,15 @@ postgres_get_refresh_reveal (void *cls, default: /* can have more than one result */ break; } + switch (grctx.qs) + { + case GNUNET_DB_STATUS_HARD_ERROR: + case GNUNET_DB_STATUS_SOFT_ERROR: + goto cleanup; + case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS: + case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT: /* should be impossible */ + break; + } /* now also get the transfer keys (public and private) */ qs = GNUNET_PQ_eval_prepared_singleton_select (session->conn, |