View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0009373 | Taler | exchange | public | 2024-12-08 03:24 | 2026-09-24 14:32 |
| Reporter | Christian Grothoff | Assigned To | oec | ||
| Priority | normal | Severity | tweak | Reproducibility | N/A |
| Status | resolved | Resolution | fixed | ||
| Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
| Product Version | git (master) | ||||
| Target Version | post-1.0 | Fixed in Version | git (master) | ||
| Summary | 0009373: batch_ensure_coin_known not yet used [2d] | ||||
| Description | Plus the code is a pre-array nightmare. Should be fixed to use arrays and then actually used (especially in batch-deposit.c!). | ||||
| Tags | performance | ||||
|
|
We need this for recoup-withdraw as well, I'm going to implement this. |
|
|
Fixed with commit eb4292417d3ab062b972a49e6f8984222a670a56 in dev/oec/vCONFLICT: exchangedb: make coins known in batches Replace TALER_EXCHANGEDB_do_insert_known_coin() by TALER_EXCHANGEDB_do_insert_known_coins(), which takes all coins of a request as array parameters and runs one statement: a stored procedure UNNESTs the arrays WITH ORDINALITY, inserts the new coins with ON CONFLICT DO NOTHING and returns one row per input coin with the stored denomination and age commitment hashes, so conflicts are reported per coin at its input position. Batches with a repeated coin public key or with an unknown denomination are rejected. TEH_make_coins_known() replaces TEH_make_coin_known() and is used by batch deposit (closes the FIXME for 0009373), purse create, purse deposit, reserve open, melt and both recoup handlers. The recoup handlers now make their coins known inside the recoup transaction, so a conflict rolls back the whole batch; their parser rejects requests that disclose the same coin twice. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-12-08 03:24 | Christian Grothoff | New Issue | |
| 2024-12-08 03:24 | Christian Grothoff | Status | new => assigned |
| 2024-12-08 03:24 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2024-12-22 23:17 | Christian Grothoff | Assigned To | Christian Grothoff => |
| 2024-12-22 23:17 | Christian Grothoff | Status | assigned => confirmed |
| 2024-12-22 23:17 | Christian Grothoff | Summary | batch_ensure_coin_known not yet used => batch_ensure_coin_known not yet used [2d] |
| 2025-08-01 13:50 | oec | Assigned To | => oec |
| 2025-08-01 13:50 | oec | Status | confirmed => assigned |
| 2025-08-01 13:51 | oec | Note Added: 0025600 | |
| 2025-12-07 10:53 | Christian Grothoff | Status | assigned => confirmed |
| 2026-01-26 07:09 | Christian Grothoff | Tag Attached: performance | |
| 2026-09-24 14:32 | oec | Status | confirmed => resolved |
| 2026-09-24 14:32 | oec | Resolution | open => fixed |
| 2026-09-24 14:32 | oec | Fixed in Version | => git (master) |
| 2026-09-24 14:32 | oec | Note Added: 0030033 |