Skip to content

Narrower package/user queries - #1532

Merged
ysangkok merged 2 commits into
masterfrom
narrow-package-index-queries
Oct 19, 2026
Merged

ysangkok merged 2 commits into
masterfrom
narrow-package-index-queries

Conversation

@ysangkok

Copy link
Copy Markdown
Member

To continue the work in #1524 by @tomjaguarpaw, this converts queries that take the whole
database into queries that could conceivably be implemented using efficient SQL
queries, once more database backends are added.

Call sites that only need part of the package index now ask the core
feature for exactly that, rather than fetching the whole index:

- single-package lookups use queryLookupPackageName
- new queryAllPackageNames, queryAllPackageIds and queryCountPackages
  serve callers that need names, IDs or the package count
- new queryLatestUploadsBetween serves the notification job's recent
  uploads and revisions

The acid store implements the new Store fields over the in-memory
index, so behaviour is unchanged.
Authentication no longer needs the whole user database: it takes a
UserLookup with name and API token lookups, and the privilege checks
drop the user database argument they never used.

The users store gains lookups by id, name and token, listings of all
and active users, and a user name search. Callers that looked up a
single user, listed users, or searched by name use these instead of
fetching the whole user database.
@mergify

mergify Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@ysangkok
ysangkok merged commit 25cc231 into master Oct 19, 2026
14 checks passed
@ysangkok
ysangkok deleted the narrow-package-index-queries branch October 19, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant