-
-
Notifications
You must be signed in to change notification settings - Fork 554
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
Use the count cache #312
Use the count cache #312
Conversation
By default read from the count cache - if there is no value there, then do a full COUNT. The cache will be filled when the user posts up some more history
|
||
// If that fails, fallback on a full COUNT. Cache is built on a POST | ||
// only | ||
Err(_) => match db.count_history(&user).await { |
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.
Can you filter only for row-not-found errors?
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.
I think to do this, change the DB Result
to be sqlx::Result
instead of eyre::Result
, and then you have access to https://docs.rs/sqlx/0.5.13/sqlx/enum.Error.html#variant.RowNotFound
3a5d6c3
to
c58e5d9
Compare
89549b3 Bump uuid from 0.8.2 to 1.0.0 (#311) 831cc98 Fix typos in the docs. (#171) 7436e4f feature-flags (#328) 508d4f4 History filter (#329) 02c70de refactor (#327) a9d1ece Added docker-compose.yml (#325) b8bdd83 Bump clap from 3.1.10 to 3.1.11 (#323) 52a3d0c Bump tracing from 0.1.33 to 0.1.34 (#324) 79597b0 Bump clap_complete from 3.1.1 to 3.1.2 (#316) 5aca611 Allow for larger commands (#321) 9085485 tracing (#315) 98d70fb treat popos as ubuntu (#319) d57f549 refactor commands for better separation (#313) 24e2971 Fix SQL cache query (#318) fe05d86 Fix delete trigger (#317) 48747e3 A few minor tweaks (#314) ed4e07d Use the count cache (#312) 6e11b8e Bump clap from 3.1.9 to 3.1.10 (#309) 44e417d Bump axum from 0.5.1 to 0.5.3 (#310) b98a378 Add count trigger (#308) 7fe523a Bump sqlx from 0.5.11 to 0.5.13 (#305) c5ab2a4 Bump clap from 3.1.8 to 3.1.9 (#306) 55f66c8 Bump cli-table from 0.4.6 to 0.4.7 (#297) 69279d2 Bump config from 0.13.0 to 0.13.1 (#303) d94cdae README: add MacPorts installation instructions (#302) f4240aa Initial implementation of calendar API (#298) 3c5fbc5 provide better error messages (#300) bc45bab remove default db uri (#299) 4897f4a Bump rmp-serde from 0.15.5 to 1.0.0 (#264) 5b2e828 Bump directories from 3.0.2 to 4.0.1 (#246) 016386c Bump urlencoding from 1.3.3 to 2.1.0 (#208) a95018c goodbye warp, hello axum (#296) 3b7ed7c fix env config parsing (#295)
89549b3 Bump uuid from 0.8.2 to 1.0.0 (#311) 831cc98 Fix typos in the docs. (#171) 7436e4f feature-flags (#328) 508d4f4 History filter (#329) 02c70de refactor (#327) a9d1ece Added docker-compose.yml (#325) b8bdd83 Bump clap from 3.1.10 to 3.1.11 (#323) 52a3d0c Bump tracing from 0.1.33 to 0.1.34 (#324) 79597b0 Bump clap_complete from 3.1.1 to 3.1.2 (#316) 5aca611 Allow for larger commands (#321) 9085485 tracing (#315) 98d70fb treat popos as ubuntu (#319) d57f549 refactor commands for better separation (#313) 24e2971 Fix SQL cache query (#318) fe05d86 Fix delete trigger (#317) 48747e3 A few minor tweaks (#314) ed4e07d Use the count cache (#312) 6e11b8e Bump clap from 3.1.9 to 3.1.10 (#309) 44e417d Bump axum from 0.5.1 to 0.5.3 (#310) b98a378 Add count trigger (#308) 7fe523a Bump sqlx from 0.5.11 to 0.5.13 (#305) c5ab2a4 Bump clap from 3.1.8 to 3.1.9 (#306) 55f66c8 Bump cli-table from 0.4.6 to 0.4.7 (#297) 69279d2 Bump config from 0.13.0 to 0.13.1 (#303) d94cdae README: add MacPorts installation instructions (#302) f4240aa Initial implementation of calendar API (#298) 3c5fbc5 provide better error messages (#300) bc45bab remove default db uri (#299) 4897f4a Bump rmp-serde from 0.15.5 to 1.0.0 (#264) 5b2e828 Bump directories from 3.0.2 to 4.0.1 (#246) 016386c Bump urlencoding from 1.3.3 to 2.1.0 (#208) a95018c goodbye warp, hello axum (#296) 3b7ed7c fix env config parsing (#295)
By default read from the count cache - if there is no value there, then
do a full COUNT. The cache will be filled when the user posts up some
more history
Eventually I'd like to replace the full COUNT function with reading from
the cache, but that can only be done once all users have a cached value