New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(sqlite): Use SQLite for caching apps #5851
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, though I haven't tested it yet, but will soon!
I've made some fixes, any idea @rasa? |
Let's plan this for 0.5.0? The current release is long time pending... |
It's ready to merge and may not affect existing functions. So if someone will test it in recent days, I prefer publishing it in 0.4.0 (which is waiting for #5840) |
I don't think several days for testing such a major feature is enough so I'd vote deferring it to the next release. |
That's okay that it will go to 'develop' which I'm using. |
c402fc3
to
32d941e
Compare
823fe0b
to
867ed69
Compare
much errors reporting scoop config use_sqlite_cache true
scoop search
|
It seems like SQLite .NET library is not installed correctly. Do you have |
Yeah, but I noticed there is not arm64 assembly, I'm on Windows ARM btw.
|
Hmm, SQLite doesn't provide a native ARM build... I'll build it by myself or add a notice that it doesn't work on ARM machines. |
Description
This should be present in the next version after 0.4.0 if we need more tests
Ultimate solution for
scoop search
by using SQLite cache of apps.Add a
use_sqlite_cache
Scoop config option. The first timescoop config use_sqlite_cache true
is run, it initializes and builds a cache file located in%SCOOP%\Scoop.db
.The
app
table in the database has the following structure:Motivation and Context
To initialize the cache, simply run the command
scoop config use_sqlite_cache true
. This will cache all manifests in the bucket directory. If you encounter any errors, you can run the same command again to recache all manifests.The cache is automatically updated when you run
scoop update
and it is used inscoop search
. If a cached version is found in the database,scoop install xxx@xxx
will use it to avoid error.scoop search
will search 'name', 'binary', and 'shortcut' by default, and could be easily expanded to 'description' or 'suggest'.How Has This Been Tested?
Initialize cache and search:
Searching time:
Checklist:
develop
branch.