diff options
Diffstat (limited to 'src')
| -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 3db1d4c4..36ae3e54 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, | 
