upstream of 0.22.5 changes (#1429)#1430
Merged
Merged
Conversation
* Increase performance of cNight db-sync queries. First query for coarse bounds of tx, tx_out and ma_tx_out tables and use them in the 'business' queries to reduce size of tables before joins are made. Signed-off-by: Giles Cope <gilescope@gmail.com> * Add tx_in indexes as well Signed-off-by: Giles Cope <gilescope@gmail.com> * refactor: use sqlx::query_as! macro for cNight observation queries Convert the runtime query_as form back to the compile-time macro form for all queries in cnight_observation.rs. This restores static query verification against the db-sync schema via the .sqlx prepared cache. Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com> Signed-off-by: Giles Cope <gilescope@gmail.com> * chore: replace sqlx::query_as! macro with runtime form in get_block_by_hash Needed because cherry-pick landed in a branch whose .sqlx prepared cache does not include this query (cached key changed after trailing-whitespace normalisation). Using the runtime form avoids the compile-time DB check entirely and matches the pattern used elsewhere in #934. Signed-off-by: Giles Cope <gilescope@gmail.com> * feat: add changefile Signed-off-by: Giles Cope <gilescope@gmail.com> * fix: should be debug not warn Signed-off-by: Giles Cope <gilescope@gmail.com> * refactor: introduce PagedQuery to consolidate cNight observation query args Replaces the seven repeated arguments (start, end, limit, offset, low_bound, high_bound + per-call locals) on the four cNight observation query helpers with a single `PagedQuery<'a>` struct. Squashed from PR #1365 fixup commits b9497e8 + b146dc2 + b1ffce6 (originally landed as "fix: cargo clippy" / "Apply suggestion"). Also drops the now-unused `QueryBounds` import in the data_source module. Signed-off-by: Giles Cope <gilescope@gmail.com> * fix: clippy needless borrow in get_block_by_hash bind Signed-off-by: Giles Cope <gilescope@gmail.com> * fix: fixed compilation for try-runtime feature (#1427) Signed-off-by: Tomasz Bartos <tomasz.bartos@shielded.io> Signed-off-by: Giles Cope <gilescope@gmail.com> --------- Signed-off-by: Giles Cope <gilescope@gmail.com> Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com> Signed-off-by: Tomasz Bartos <tomasz.bartos@shielded.io> Co-authored-by: Lech Głowiak <lech.glowiak@iohk.io> Co-authored-by: Lech Głowiak <lech.glowiak@shielded.io> Co-authored-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com> Co-authored-by: Klapeyron <11329616+Klapeyron@users.noreply.github.com> Signed-off-by: Giles Cope <gilescope@gmail.com>
justinfrevert
approved these changes
Apr 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Same as #1429 but for node-1.0 branch.
First query for coarse bounds of tx, tx_out and ma_tx_out tables and use them in the 'business' queries to reduce size of tables before joins are made.
Add tx_in indexes as well
refactor: use sqlx::query_as! macro for cNight observation queries
Convert the runtime query_as form back to the compile-time macro form for all queries in cnight_observation.rs. This restores static query verification against the db-sync schema via the .sqlx prepared cache.
Needed because cherry-pick landed in a branch whose .sqlx prepared cache does not include this query (cached key changed after trailing-whitespace normalisation). Using the runtime form avoids the compile-time DB check entirely and matches the pattern used elsewhere in #934.
feat: add changefile
fix: should be debug not warn
refactor: introduce PagedQuery to consolidate cNight observation query args
Replaces the seven repeated arguments (start, end, limit, offset, low_bound, high_bound + per-call locals) on the four cNight observation query helpers with a single
PagedQuery<'a>struct.Squashed from PR #1365 fixup commits b9497e8 + b146dc2 + b1ffce6 (originally landed as "fix: cargo clippy" / "Apply suggestion"). Also drops the now-unused
QueryBoundsimport in the data_source module.fix: clippy needless borrow in get_block_by_hash bind
fix: fixed compilation for try-runtime feature (fix: fixed compilation for try-runtime feature #1427)
Overview
🗹 TODO before merging
📌 Submission Checklist
git commit -s) for the DCO🧪 Testing Evidence
Please describe any additional testing aside from CI:
🔱 Fork Strategy
Links
#1430