diff options
| author | Christian Grothoff <christian@grothoff.org> | 2021-01-10 00:54:12 +0100 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2021-01-10 00:54:12 +0100 | 
| commit | ca66a1d1af2412e3ad04c18150db7a259dc69b5e (patch) | |
| tree | 83421873e49eec67f7012b4e21b21f31a3c9fa3a /src/exchangedb | |
| parent | 02ecf68a3d9edde9ef48650f64b7332af845beee (diff) | |
fix major bug with SQL statement missing ORDER BY freshcoin_index resulting in possible link failures (but usually lucky with old DB schema)
Diffstat (limited to 'src/exchangedb')
| -rw-r--r-- | src/exchangedb/exchange-0002.sql | 1 | ||||
| -rw-r--r-- | src/exchangedb/plugin_exchangedb_postgres.c | 9 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/src/exchangedb/exchange-0002.sql b/src/exchangedb/exchange-0002.sql index 3d17395b..9b66d4d1 100644 --- a/src/exchangedb/exchange-0002.sql +++ b/src/exchangedb/exchange-0002.sql @@ -280,7 +280,6 @@ COMMENT ON COLUMN refunds.deposit_serial_id    IS 'Identifies ONLY the merchant_pub, h_contract_terms and known_coin_id. Multiple deposits may match a refund, this only identifies one of them.'; -  -- Create additional tables...  CREATE TABLE IF NOT EXISTS auditors diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index d8dbd224..b81fb7c1 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -794,7 +794,7 @@ postgres_get_session (void *cls)                                ",h_coin_ev"                                ",ev_sig"                                ") SELECT rcx.melt_serial_id, $2, $3, " -                              "         denominations_serial, $5, $6, $7 " +                              "         denominations_serial, $5, $6, $7"                                "    FROM denominations"                                "   CROSS JOIN rcx"                                "   WHERE denom_pub_hash=$4;", @@ -1108,7 +1108,7 @@ postgres_get_session (void *cls)                                "   (SELECT known_coin_id "                                "      FROM known_coins"                                "     WHERE coin_pub=$1)" -                              " ORDER BY tp.transfer_pub", +                              " ORDER BY tp.transfer_pub, rrc.freshcoin_index ASC",                                1),        /* Used in #postgres_lookup_wire_transfer */        GNUNET_PQ_make_prepare ("lookup_transactions", @@ -2323,6 +2323,11 @@ postgres_preflight (void *cls,    };    (void) cls; +  if (NULL == session) +  { +    GNUNET_break (0); +    return; +  }    if (NULL == session->transaction_name)      return; /* all good */    if (GNUNET_OK == | 
