Fix breadcrumbs and simplify realm SQL queries by using resolved_name
#709
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.
When this whole "derive name from blocks" thing was introduced, all queries have gotten three extra joins. A useful SQL function was also added that allows us to just write
realms.resolved_name
. The comment on that function mentions that doing the join manually is faster than using the function. After testing this again, I cannot confirm. Even just querying all realms and selectingresolved_name
runs within 90ms (including network!). There seems to be on problem and certainly no N+1 problem.Using that instead of the joins simplifies many queries. But more importantly, our breadcrumbs are now correct. Before, the JOINs messed up the guaranteed order of
ancestors_of_realm
. Now it should be fixed.