-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Modify how collection rank is computed in dataset subqueries.
This case-based approach is much closer to Andy Salnikov's initial implementation of find-first dataset queries; I think it's likely that changing it was at most unnecessary performance-wise (I was looking for ways to simplify a query the planner was having trouble with, but this construct - despite being hard for humans to parse when reading the SQL - probably wasn't playing a role in that). And some other query system changes have made it preferable from a code-organization standpoint, providing it's no worse from a performance standpoint. To that end, in some quick benchmarks (on PostgreSQL, querying 16 collections with the same dataset types and a spatial constraint to make the overall query nontrivial), this was consistently faster than the old, UNION-based rank expression, but only barely; I'm by no means certain that difference is significant, but I'm at least pretty confident that this is no worse for performance.
- Loading branch information
Showing
3 changed files
with
43 additions
and
23 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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