tiny get_beatmaps performance improvement
This commit is contained in:
parent
4d9f466491
commit
476cd385f8
|
@ -14,6 +14,7 @@ import (
|
||||||
func GetBeatmap(c *gin.Context, db *sqlx.DB) {
|
func GetBeatmap(c *gin.Context, db *sqlx.DB) {
|
||||||
var whereClauses []string
|
var whereClauses []string
|
||||||
var params []interface{}
|
var params []interface{}
|
||||||
|
limit := strconv.Itoa(common.InString(1, c.Query("limit"), 500, 500))
|
||||||
|
|
||||||
// since value is not stored, silently ignore
|
// since value is not stored, silently ignore
|
||||||
if c.Query("s") != "" {
|
if c.Query("s") != "" {
|
||||||
|
@ -23,6 +24,8 @@ func GetBeatmap(c *gin.Context, db *sqlx.DB) {
|
||||||
if c.Query("b") != "" {
|
if c.Query("b") != "" {
|
||||||
whereClauses = append(whereClauses, "beatmaps.beatmap_id = ?")
|
whereClauses = append(whereClauses, "beatmaps.beatmap_id = ?")
|
||||||
params = append(params, c.Query("b"))
|
params = append(params, c.Query("b"))
|
||||||
|
// b is unique, so change limit to 1
|
||||||
|
limit = "1"
|
||||||
}
|
}
|
||||||
// creator is not stored, silently ignore u and type
|
// creator is not stored, silently ignore u and type
|
||||||
if c.Query("m") != "" {
|
if c.Query("m") != "" {
|
||||||
|
@ -55,7 +58,7 @@ func GetBeatmap(c *gin.Context, db *sqlx.DB) {
|
||||||
passcount, max_combo, difficulty_std, difficulty_taiko, difficulty_ctb, difficulty_mania,
|
passcount, max_combo, difficulty_std, difficulty_taiko, difficulty_ctb, difficulty_mania,
|
||||||
latest_update
|
latest_update
|
||||||
|
|
||||||
FROM beatmaps `+where+" ORDER BY id DESC LIMIT "+strconv.Itoa(common.InString(1, c.Query("limit"), 500, 500)),
|
FROM beatmaps `+where+" ORDER BY id DESC LIMIT "+limit,
|
||||||
params...)
|
params...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Error(err)
|
c.Error(err)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user