From 77efdc68f30475155f7f3d8d3bd8843142ed05ad Mon Sep 17 00:00:00 2001 From: 1000101 Date: Thu, 29 Feb 2024 22:37:26 +0100 Subject: [PATCH] fix(sql): ordering where sorted_limited is used --- CHANGELOG.md | 1 + src/sql/assets/assets_asset_transactions.sql | 9 ++++++++- src/sql/assets/assets_asset_txs.sql | 9 ++++++++- src/sql/epochs/epochs_number_stakes.sql | 6 ++++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 015bac56..b3e65576 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- ordering in `/assets/asset/txs`, `/assets/asset/transactions` and `/epochs/{number}/stakes` - port configuration via config option `dbSync.port` - error in `/epochs/n/parameters` for epochs without PlutusV1/PlutusV2 cost models diff --git a/src/sql/assets/assets_asset_transactions.sql b/src/sql/assets/assets_asset_transactions.sql index 416f3df6..05481e13 100644 --- a/src/sql/assets/assets_asset_transactions.sql +++ b/src/sql/assets/assets_asset_transactions.sql @@ -36,4 +36,11 @@ FROM ( END ) AS "sorted_limited" JOIN tx ON (sorted_limited.tx_id = tx.id) - JOIN block b ON (b.id = tx.block_id) \ No newline at end of file + JOIN block b ON (b.id = tx.block_id) + ORDER BY CASE + WHEN LOWER($1) = 'desc' THEN sorted_limited.tx_id + END DESC, + CASE + WHEN LOWER($1) <> 'desc' + OR $1 IS NULL THEN sorted_limited.tx_id + END ASC \ No newline at end of file diff --git a/src/sql/assets/assets_asset_txs.sql b/src/sql/assets/assets_asset_txs.sql index 5a1d2a63..8920b378 100644 --- a/src/sql/assets/assets_asset_txs.sql +++ b/src/sql/assets/assets_asset_txs.sql @@ -29,4 +29,11 @@ FROM ( ELSE 0 END ) AS "sorted_limited" - JOIN tx ON (sorted_limited.tx_id = tx.id) \ No newline at end of file + JOIN tx ON (sorted_limited.tx_id = tx.id) + ORDER BY CASE + WHEN LOWER($1) = 'desc' THEN sorted_limited.tx_id + END DESC, + CASE + WHEN LOWER($1) <> 'desc' + OR $1 IS NULL THEN sorted_limited.tx_id + END ASC \ No newline at end of file diff --git a/src/sql/epochs/epochs_number_stakes.sql b/src/sql/epochs/epochs_number_stakes.sql index b8d7d085..142e60e1 100644 --- a/src/sql/epochs/epochs_number_stakes.sql +++ b/src/sql/epochs/epochs_number_stakes.sql @@ -2,7 +2,8 @@ SELECT sa.view AS "stake_address", ph.view AS "pool_id", sorted_limited.amount::TEXT AS "amount" -- cast to TEXT to avoid number overflow FROM( - SELECT es.amount AS "amount", + SELECT es.id, + es.amount AS "amount", es.addr_id, es.pool_id FROM epoch_stake es @@ -25,4 +26,5 @@ FROM( END ) AS "sorted_limited" JOIN pool_hash ph ON (ph.id = sorted_limited.pool_id) - JOIN stake_address sa ON (sorted_limited.addr_id = sa.id) \ No newline at end of file + JOIN stake_address sa ON (sorted_limited.addr_id = sa.id) +ORDER BY sorted_limited.id ASC \ No newline at end of file