diff options
| author | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-04-10 10:39:59 +0200 | 
|---|---|---|
| committer | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-04-10 10:40:54 +0200 | 
| commit | 65953dfbc32c60381cdf28969135f9ad428d1dec (patch) | |
| tree | 9be5e07d92ca264ddc02ffebe67023339f831a14 /src/mintdb | |
| parent | 764bd4dc10548726697bc1507a23e8f53b721ba7 (diff) | |
mintdb postgres: implement create_refresh_session
Diffstat (limited to 'src/mintdb')
| -rw-r--r-- | src/mintdb/plugin_mintdb_postgres.c | 37 | 
1 files changed, 20 insertions, 17 deletions
| diff --git a/src/mintdb/plugin_mintdb_postgres.c b/src/mintdb/plugin_mintdb_postgres.c index dd45053e..b9c9dc75 100644 --- a/src/mintdb/plugin_mintdb_postgres.c +++ b/src/mintdb/plugin_mintdb_postgres.c @@ -405,6 +405,15 @@ postgres_prepare (PGconn *db_conn)             " FROM refresh_sessions "             " WHERE session_hash = $1 ",             1, NULL); +  PREPARE ("insert_refresh_session", +           "INSERT INTO refresh_sessions ( " +           " session_hash " +           ",num_oldcoins " +           ",num_newcoins " +           ",noreveal_index " +           ") " +           "VALUES ($1, $2, $3, $4) ", +           4, NULL);    PREPARE ("get_known_coin",             "SELECT " @@ -484,13 +493,6 @@ postgres_prepare (PGconn *db_conn)             "FROM refresh_melt "             "WHERE session_hash = $1 AND oldcoin_index = $2",             2, NULL); -  PREPARE ("insert_refresh_session", -           "INSERT INTO refresh_sessions ( " -           " session_hash " -           ",noreveal_index " -           ") " -           "VALUES ($1, $2) ", -           2, NULL);    PREPARE ("insert_refresh_commit_link",             "INSERT INTO refresh_commit_link ( "             " session_hash " @@ -1522,28 +1524,29 @@ postgres_create_refresh_session (void *cls,                                   const struct GNUNET_HashCode *session_hash,                                   const struct TALER_MINTDB_RefreshSession *refresh_session)  { -  // FIXME: actually store session data! +  PGresult *result; +  uint16_t num_oldcoins; +  uint16_t num_newcoins;    uint16_t noreveal_index;    struct TALER_PQ_QueryParam params[] = {      TALER_PQ_QUERY_PARAM_PTR(session_hash), +    TALER_PQ_QUERY_PARAM_PTR(&num_oldcoins), +    TALER_PQ_QUERY_PARAM_PTR(&num_newcoins),      TALER_PQ_QUERY_PARAM_PTR(&noreveal_index),      TALER_PQ_QUERY_PARAM_END    }; - -  noreveal_index = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 1<<15); -  noreveal_index = htonl (noreveal_index); - -  PGresult *result = TALER_PQ_exec_prepared (session->conn, -                                             "insert_refresh_session", -                                             params); - +  num_oldcoins = htons (refresh_session->num_oldcoins); +  num_newcoins = htons (refresh_session->num_newcoins); +  noreveal_index = htons (refresh_session->noreveal_index); +  result = TALER_PQ_exec_prepared (session->conn, +                                   "insert_refresh_session", +                                   params);    if (PGRES_COMMAND_OK != PQresultStatus (result))    {      BREAK_DB_ERR (result);      PQclear (result);      return GNUNET_SYSERR;    } -    PQclear (result);    return GNUNET_OK;  } | 
